红联Linux门户
Linux帮助

Ubuntu14.04反编译Apk[试试就知道]

发布时间:2017-02-09 14:44:32来源:linux网站作者:静默加载
作为Android开发者反编译apk是我们需要掌握的技能,那么在Ubuntu环境下反编译怎么进行Apk的反编译呢?
 
工具
dex2jar(https://sourceforge.net/projects/dex2jar/)
jd-gui(http://jd.benow.ca/jd-gui/downloads/jd-gui-0.3.5.linux.i686.tar.gz)
 
dex2jar使用
先参照上边提供的地址下载并解压dex2jar
然后再使用unzip命令解压apk,我们会在目录下边看到.dex文件
执行反编译命令
sh d2j-dex2jar.sh /home/im/Desktop/dex2jar/-debug-apk/classes.dex
上述命令执行的过程中可能会遇到一些问题:
问题1:提示:d2j-dex2jar.sh: 36: d2j-dex2jar.sh: ./d2j_invoke.sh: Permission denied
原因:d2j_invoke.sh文件没有执行权限
解决:添加可执行权限:sudo chmod +x d2j_invoke.sh
问题2:生产的jar可能为空
原因:d2j-dex2jar.sh执行会依赖其它的脚本(单独拷贝出来执行会有问题)
解决:执行它的时候dex2jar的其它文件最好也在相同的目录
正确运行结果:
im@58user:~/Downloads/dex2jar-2.0$ sudo chmod +x d2j_invoke.sh
im@58user:~/Downloads/dex2jar-2.0$ sh d2j-dex2jar.sh /home/im/Desktop/dex2jar/bangjob-apk/classes.dex
dex2jar /home/im/Desktop/dex2jar/bangjob-apk/classes.dex -> ./classes-dex2jar.jar
然后会在该目录生成classes-dex2jar.jar文件。
 
jd-gui使用
先参照上边提供的地址(http://jd.benow.ca/jd-gui/downloads/jd-gui-0.3.5.linux.i686.tar.gz)下载文件
然后直接打开jd-gui
可能遇到的问题:
jd-gui程序执行的时候可能没有任何反应,那是因为操作系统可能缺少某些环境。执行该命令:sudo apt-get install gtk2-engines-murrine:i386 libgtk2.0-0:i386 libcanberra-gtk-module:i386 libgtk2.0-0:i386 libxxf86vm1:i386 libsm6:i386 lib32stdc++6 lib32ncurses5 lib32bz2-1.0 libgtk2.0-0:i386 libxxf86vm1:i386 libsm-dev:i386 libcanberra-gtk3-module:i386后然再运行jd-gui程序,画面即将展现!
Ubuntu14.04反编译Apk[试试就知道]
 
本文永久更新地址:http://www.linuxdiyf.com/linux/28284.html