apk反汇编工具apktool问题集锦

Apktool的基本使用

解包指令:

1
apktool d [apk文件] -o [解包存放路径]

如果使用的是jar包,则:

1
java -jar apktool.jar d [apk文件] -o [解包存放路径]

打包指令:

1
2
3
apktool b [源码目录] -o [apk文件]
或者
java -jar apktool.jar b [源码目录] -o [apk文件]

签名指令:

1
jarsigner -verbose -keystore [签名文件] -signedjar [签名后的apk 可自定义文件名] [需要签名的apk]  [签名文件的别名]

温馨提示

由于apk在反编译后进行回编时容易出现各种异常情况, 建议解包后立马进行装包测试,以免白费功夫!

问题1 DexBackedDexFile$NotADexFile

apktool反编apk时报错:

1
org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile: Not a valid dex magic value: cf 77 4c c7 9b 21 01 cd

提示很明显,就是非法Dex,这是因为apk里有加密过后的dex文件,比如有些apk的assets目录下有加密后的Dex文件,添加–only-main-classes参数即可

1
apktool d ~/tmp/test.apk -o /tmp/test --only-main-classes

apktool打包时找不到打包后的apk文件

新版的apktool需要加上 -o 参数, 否则只编译不输出apk 文件

1
apktool b ~/tmp/test -o /tmp/test.apk

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

0%