您的位置:首页 > 移动开发 > Android开发

反编译ANDROID APK文件

2009-11-24 15:08 351 查看
最近为了参考一个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)

从这个译文件里我们很容易得到代码信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: