问题
- 在使用Android逆向助手反编译Apk时,日志显示反编译已经完成,但是打开反编译出来的文件夹发现文件夹为空。
原因
- 这是因为Android逆向助手很久没更新,Android逆向助手lib中的Apktoo版本过老不支持这个Apk的Android平台。
解决
-
这个时候我们可以通过手动更新lib下的Apktool解决,首先到Apktool官网找到最新的Apktool,通过查看Apktool的更新日志查看是否支持目前我们手中需要进行反编译Apk的目标平台,这里我提供一个GitHub链接,Apktool更新地址:https://ibotpeaches.github.io/Apktool/
-
拿到最新版的Apktool之后,我们把apktool.jar放到Android逆向助手的\lib\Apktool下,这时候我们就可以进行反编译了。
-
当然Android反编译助手是一个集成工具,lib下的其他工具我们也可以通过这种方式更新,比如dex2jar,jd-gui等。
-
我们也可以选择直接通过命令行的方式,进行反编译/回编译Apk,这里是官方给的反编译/回编译命令;因为这段命令是Apktool工具支持的命令,而Apktool是Java的.jar文件,因此执行这段命令之前我们得配置好我们的JDK。
- 反编译
$ apktool d test.apk
I: Using Apktool 2.3.4 on test.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: 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... - 回编译
$ apktool b test
I: Using Apktool 2.3.4 on test
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
I: Copying unknown files/dir...
- 反编译
-
当然我们也可以通过
java -jar apktool.jar
查看关于Apktool更多信息,这里就不在赘述。
网友评论