反编译ANDROID APK文件

来源:互联网 发布:淘宝能买彩票吗 编辑:程序博客网 时间:2024/04/29 02:56

 最近为了参考一个android软件的程序,查找了一下反编译android apk文件的资料,分享出来。


[版权归作者wixe所有,欢迎转载,但请事先告知作者并注明出处]


要反编译一个apk译文件,需要做以下几步:
1.找到apk安装文件
2.找到安装软件的*.dex译文件
3.dump dex文件
4.分析dex文件获取想要的代码


1.找到apk安装文件
这个比较容易,把手机或者模似器安装好后,可以在eclipse的File Explorer下找到安装程序的apk译文件,也可以通过adb命令找到:

$ adb shell
# cd /system/app
cd /system/app
# ls

2.找到安装软件的*.dex译文件
运行安装软件后,会在android文件系统下生成一个*.dex文件,一般在目录/data/dalvik-cache下,也可以通过adb命令找到:

$ adb shell
# cd /data/dalvik-cache
cd /data/dalvik-cache
# ls

3.编译软件对应的dex文件,通过以下指令:

adb shell dexdump -d -f -h /data/dalvik-cache/data@app@be.citylive.twitpic.apk@classes.dex > twitpic.text

指令参数解释:
-d : disassemble code sections
-f : display summary information from file header
-h : display file header details
-C : decode (demangle) low-level symbol names
-S : compute sizes only


4.获取需要的代码:
打开刚才得到的编译出来的text文件,会看到形如以下的代码:

Class #0 header:
class_idx : 32
access_flags : 196625 (0x30011)
superclass_idx : 61
interfaces_off : 0 (0x000000)

从这个译文件里我们很容易得到代码信息

原创粉丝点击