`
siser344
  • 浏览: 21756 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

apk反编译

阅读更多

文章分类:移动开发

1、下载dex2jar最新版本0.0.7,下载地址http://code.google.com/p/dex2jar/downloads/list
2、下载class反编译工具,我用的是jad,大家可以根据自己情况选择。
3、在cmd下进入dex2jar.bat所在路径,然后输入“dex2jar.bat  XXX”,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路径下, classes.dex在D:\Android下
所以: 你进入dex2jar.bat路径下后,输入dex2jar.bat  D:\Android\classes.dex
4、这样会生成一个jar文件,然后用jad工具将.class文件反编译成.java文件。
5、反编译jar文件,见附件

要反编译一个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)

从这个译文件里我们很容易得到代码信息
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics