apk破解之dexdump反编译Android程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

apk 破解之dexdump 反编译Android 程序-OMS 操作系统平台专区-(转载)2010-07-0717:28

反编译Android 程序目前没有什么好的方法,但是在Android Emulator 中可以找到一个名为dexdump 的程序,文件中的dex 执行情况,ophone

一些底层的xx。

相关内容都放到了dex文件中,为什么要反编译apk文件呢?就目前来看Android 开放度还很低,很多东西只对于软件开发人员来说,保护代码安全也是比较重要的因素之一,不过目前来说Google An droid平台选择了Ja容易破解和被修改,首先APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的Jar压缩格式一样,不过比较去别的是An droid上的二进制代码被编译成为Dex的字节码,所有的Java文件托管代码既然虚拟机可以识别,那么我们就可以很轻松的反编译。所有的类调用、涉及到的方法都在里面体现到时调试的方法来查看,当然这需要借助一些我们自己编写的跟踪程序。模拟器自带了一个dexdump,有兴趣的关APK文件的汉化,我们将在下一次做详细的分析,因为这里主要是修改的不是dex而是资源文件,使用类似齐的方

式逐个替换即可,最终再签名下即可使用,这样的行为可以算作是非法修改,不过目前这样的方法在国内AndroidMarket上设置了权限保护app-private文件夹的安全,但是最终我们使用修改定值的系统仍然可以获取

觉着这 2 个工具配合学习android 太靠谱了,所以放上来给大家共享,开源的

好处就是好东西大家一起分享;

1. 首先找到Android 软件安装包中的class.dex

源文件;

2. 把class.dex拷贝到dex2jar.bat所在目录。

运行dex2jar.bat classes.dex 生成classes.dex.dex2jar.jar

3. 运行JD-GUI工具(它是绿色无须安装的)

打开上面的jar 文件,即可看到源代码

俺也是今天才试验了下效果,那是相当的凑效,所以兄弟姐妹们觉着好就给句鼓励的话

把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上

关于apk文件反编译的方法(dex2jar和JD-GUI)

1、下载dex2jar 最新版本

0.0.7,下载地址http:

2、下载class反编译工具,我用的是jad,大家可以根据自己情况选择。

3、在cmd下进入dex2jar.bat所在路径,然后输入“ dex2jar.bat XXX XX” 指的是你要反编译的apk 中的cla 比如:

我的dex2jar.bat 在D:

\Android\apk_decode\dex2jar-

0.0.7-SNAPSHO路径下,classes.dex在D:

\Andro 所以:

你进入dex2jar.bat路径下后,输入dex2jar.bat D:

\Android\classes.dex

4、这样会生成一个jar文件,然后用jad工具将.class文件反编译成.java文件。

5、反编译jar 文件,见附件

要反编译一个apk 译文件,需要做以下几步:

1. 找到apk 安装文件

2. 找到安装软件的*.dex 译文件

3. d ump dex 文件

4. 分析dex 文件获取想要的代码

1. 找到apk 安装文件

$ adb shell

# cd /system/app

cd /system/app

# ls

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

2. 找到安装软件的*.dex 译文件

运行安装软件后,会在android 文件系统下生成一个*.dex 文件,一般在目录

/data/dalvik-cache 下,也可以通过a$ 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 :

4. 获取需要的代码:

打开刚才得到的编译出来的text 文件,会看到形如以下的代码:Class #0 header:

class_idx :

32

access_flags :

196625 (0x30011)

superclass_idx :

61

interfaces_off :

0 (0x000)

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

首先要把apk的class.dex dump出来、

具体步骤:

1. 用winrar或者winzip打开apk,直接拖出来。

2. 用android sdk

1.1版本以上的一个dexdump工具把class.dex文件dump成文本:

把刚才的class.dex文件放在和dexdump工具同目录用命令窗口执行:

相关文档
最新文档