Linux下反编译Android apk文件
程序员文章站
2022-07-01 15:29:52
...
本人系统为Ubuntu16.04 LTS
1、工具准备
反编译过程中需要用到三个工具:apktool、dex2jar和jd-Gui。
apktool:反编译出apk所需要的资源文件和布局设置文件。
dex2jar:反编译出jar文件,即apk的源程序字节码
jd-GUI:查看dex2jar反编译出来的jar文件,使用该工具可以看到字节码对应的源代码。
以上三个工具点开链接按照Install Instructions 安装就可以了。
2、反编译步骤
- 反编译出资源文件
在终端中输入一下命令:
apktool d ./xxx.apk(apk的路径)
当前目录下就会生成一个名为xxx的目录,里面包含了反编译出来的各种资源文件,其中其中res表示资源文件,smali表示源代码,不过是字节码,不能直接查看。
- 反编译源代码
在apk所在目录打开终端,输入一下命令:
sh xxx/d2j-dex2jar.sh -f xxx.apk
其中 xxxx/d2j-dex2jar.sh中xxx为dex2jar的根目录 xxx.apk为需要反编译的apk。命令运行后会在当前目录下生成一个xxx-dex2jar.jar文件。
- 查看源代码
打开jd-gui工具,选择打开上述得到的xxx-dex2jar.jar文件即可查看apk对应的代码。