折腾:
【已解决】用apktool,dex2jar,jd-gui去反编译安卓apk查看app源码
期间,已经:
【已解决】mac中安装最新版本的安卓反编译工具:Apktool
了,接着去尝试用apktool去从安卓的apk文件,反编译看看效果。
参考:
去:
apktool d test.apk
试试:
➜ apk ll total 51280 -rw-r--r--@ 1 crifan staff 25M 3 14 09:00 xiaohuashengv3.6.9_ downcc.com.apk ➜ apk apktool d xiaohuashengv3.6.9_ downcc.com.apk I: Using Apktool 2.4.0 on xiaohuashengv3.6.9_ downcc.com.apk I: Loading resource table... I: Decoding AndroidManifest.xml with resources... S: WARNING: Could not write to (/Users/crifan/Library/apktool/framework), using /var/folders/46/2hjxz38n22n3ypp_5f6_p__00000gn/T/ instead... S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable I: Loading resource table from file: /var/folders/46/2hjxz38n22n3ypp_5f6_p__00000gn/T/1.apk I: Regular manifest package... I: Decoding file-resources... I: Decoding values */* XMLs... I: Baksmaling classes.dex... I: Copying assets and libs... I: Copying unknown files... I: Copying original files... ➜ apk ll total 51280 drwxr-xr-x 12 crifan staff 384B 3 14 13:39 xiaohuashengv3.6.9_ downcc.com -rw-r--r--@ 1 crifan staff 25M 3 14 09:00 xiaohuashengv3.6.9_ downcc.com.apk ➜ apk cd xiaohuashengv3.6.9_ downcc.com ➜ xiaohuashengv3.6.9_ downcc.com ll total 160 -rw-r--r-- 1 crifan staff 63K 3 14 13:39 AndroidManifest.xml -rw-r--r-- 1 crifan staff 14K 3 14 13:39 apktool.yml drwxr-xr-x 10 crifan staff 320B 3 14 13:39 assets drwxr-xr-x 8 crifan staff 256B 3 14 13:39 kotlin drwxr-xr-x 9 crifan staff 288B 3 14 13:39 lib drwxr-xr-x 3 crifan staff 96B 3 14 13:39 libs drwxr-xr-x 4 crifan staff 128B 3 14 13:39 original drwxr-xr-x 143 crifan staff 4.5K 3 14 13:39 res drwxr-xr-x 3 crifan staff 96B 3 14 13:39 smali drwxr-xr-x 10 crifan staff 320B 3 14 13:39 unknown
得到项目目录文件:
其中有最基本的:
AndroidMenifest.xml
然后再去参考教程继续。
参考:
得知:
apktool b test
是,打包生成apk
搜:
classes.dex
找到:
original/META-INF/MANIFEST.MF
Name: classes.dex SHA1-Digest: MC7uWxDeVZJQL/pCsW4tdGB/V6k=
去看看是否有这个文件
结果没找到。
“ * smali文件夹:里面存放着源代码反编译出的smali文件”
“Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。
其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)”
【总结】
apktool反编译apk文件:
- 语法:
apktool d your_apk_file.apk
- 输出:
相关app的资源,classes.dex等文件。
- 注意:
(1)如果是被(比如腾讯乐固legu)加固后的话,classes.dex不是正常的
-》
- 正常的dex文件
- 大小:几百KB,1~10MB左右的
- (用工具dex2jar转换后):可以得到某个正常的jar包
- 然后dex转jar可以正常转换出java源码
- 此处不正常的classes.dex文件
- 大小:13MB,比较大
- (用工具dex2jar转换后):得到的jar包不正常
- jar包只有200多KB
- (用工具,比如Procyon,反编译后)
- 只有加密的库的代码
- 比如腾讯乐固的
- 没有我们希望app的java源代码
- 截图举例
(2)apktool也可以把资源打包成apk
比如:
apktool b yourAppProjectFolder
可以打包生成apk。
转载请注明:在路上 » 【已解决】mac中用apktool去反编译安卓apk文件