linux下反编译android apk
来源:互联网 发布:中国倾销 知乎 编辑:程序博客网 时间:2024/04/27 13:36
转自:http://blog.csdn.net/ljianhui/article/details/38985441
人的系统为ubuntu12.04
1)apktool,功能:反编译出apk所需要的资源文件和布局设置文件等,
下载地址:https://ibotpeaches.github.io/Apktool/
需要下载apktool1.5.2.tar.bz2 和apktool-install-linux-r05-ibot.tar.bz2 这两个文件,并把解压后的文件放在同一个文件夹中。
2)dex2jar,功能:反编译出jar文件,即apk的源程序文件的字节码,
下载地址:http://code.google.com/p/dex2jar/downloads/list
3)jdgui,功能:查看dex2jar反编译出的jar文件,使用该工具可以看到字节码对应的java源代码,这个我在官网上没有找到,然后自己在网上下载的,但试验过能用。点击打开后,如下图所示:
1)反编译出资源文件
使用apktool工具,进入apktool所在的目录下,使用如下的命令:
./apktool d ./xxx.apk(apk所在的路径)
d表示decode,在当前目录下就会生成一个名为xxx的目录,里面就是反编译出来的各种资源文件,其中res表示资源文件,smali表示源代码,不过是字节码,不能直接查看。
以本人的实验为例子,如下图所示:
此时会在当前目录下生成一个目录app-debug。
a)因为apk文件其实是使用zip进行打包压缩生成的文件,所以先把xxx.apk文件改名为xxx.zip文件,并对其进行解压。
b)进入解压后的目录,其中有一个classes.dex文件,这个文件就是java文件编译再通过dx工具打包而成的,源代码就包含在这个文件中。
c)把前一步生成的文件classes.dex复制到dex2jar工具的根目录中,并使用如下命令对其进行反编译:
./dex2jar.sh d classes.dex
就会在当前目录下生成一个classes_dex2jar.jar文件
d)点击打开jdgui工具,这是一个图形化的工具,然后打开上上述的classes_dex2jar.jar文件就可以看到apk对应的源代码。
对于本人的实验如下:
源代码与反编译出来的代码比较如下(白色为反编译内容,黑色为原内容):
阅读全文
0 0
- linux下反编译android apk
- linux下反编译android apk
- 在Linux下反编译Android .apk文件
- linux下,Android apk 反编译方法总结
- Linux 下 Android apk 反编译 之 APKManager
- 在Linux下反编译Android .apk文件
- linux下反编译apk
- Linux下反编译.apk 文件
- ubuntu下反编译android apk
- Ubuntu 下 Android 反编译 apk
- ubuntu 下Android 反编译APK
- ubuntu下反编译android apk
- Android反编译APK -- Ubuntu下
- Mac下反编译Android apk
- Ubuntu(Linux)/Windows下反编译apk
- android下apk反编译问题总结
- ubuntu环境下反编译android apk
- ubuntu环境下反编译android apk
- Serif和Sans-serif字体的区别
- Linux服务器安全加固
- Google I/O 2017 Android官方新体系架构之:Lifecycle
- LeetCode(一)--461.Hamming Distance&476.Number Complement 位运算
- Python:斐波那契数列递归实现方法
- linux下反编译android apk
- poj2140 K-th Number(静态区间第 k 大)
- 计算机网络常见面试题总结
- Struts2中的result节点的转发类型介绍
- ubuntu opencv读取uvc
- AngularJS中的$interval
- 解析url中的参数
- AIDL的utity
- Android设备屏幕锁定/解锁/屏幕点亮监听