最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】mac中用apktool去反编译安卓apk文件

apk crifan 1599浏览 0评论
折腾:
【已解决】用apktool,dex2jar,jd-gui去反编译安卓apk查看app源码
期间,已经:
【已解决】mac中安装最新版本的安卓反编译工具:Apktool
了,接着去尝试用apktool去从安卓的apk文件,反编译看看效果。
参考:
https://ibotpeaches.github.io/Apktool/
去:
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
然后再去参考教程继续。
参考:
http://www.androidchina.net/6974.html
得知:
apktool b test
是,打包生成apk
搜:
classes.dex
找到:
original/META-INF/MANIFEST.MF
Name: classes.dex
SHA1-Digest: MC7uWxDeVZJQL/pCsW4tdGB/V6k=
去看看是否有这个文件
结果没找到。
https://zhuanlan.zhihu.com/p/51260384
“    * 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文件

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
80 queries in 0.192 seconds, using 22.08MB memory