反编译APK

2020-05-13  本文已影响0人  new和光同尘

apktool 拿到资源文件
dex2jar 把apk解压出来的dex文件转成jar格式,代码部分
jd-gui 查看jar代码部分

  1. 把需要反编译的APK 放到apktool文件夹下:
    cmd 路径指在apktool下,执行 apktool.bat d -f test.apk -o test,反编译test.apk 生成的资源文件文件输出在test文件夹下
    资源文件是可视的,但是格式不好

  2. 把apk后缀改为zip或者rar 解压,得到classes.dex,把这个文件拷贝到dex2jar文件夹下,
    cmd 路径指在dex2jar下,执行 dex2jar.bat classes.dex,得到一个jar包

  3. 打开jd-gui 把jar包拖进去,可查看源码,可视化很差

  4. 反编译XML 更具有可视性,AXMLPrinter2.S.jar 进行反编译,把apk后缀改为zip或者rar 解压,得到xml进行反编译java -jar AXMLPrinter2.S.jar activity_main.xml > activity_main1.xml

需要的工具文件:
http://note.youdao.com/noteshare?id=e3eddbd802ec075ca2d938503cde3f26&sub=AAD3C3CC2E8F4E4288103F51D6B5A829

----------------------更新-----------------------------------
如果在生成jar包的过程中,出现错误 下载最新的dex2jar 下载链接

com.googlecode.d2j.DexException: not support version.
        at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:151)
        at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:211)
        at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:104)
        at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
        at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)
上一篇 下一篇

猜你喜欢

热点阅读