- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Iapk反编译步骤
apk反编译步骤
2011-02-24 21:17:25
标签:apk 反编译 休闲 Android 职场
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。/2400264/499893
对于软件开发人员来说,保护代码安全也是比较重要的因素之一,不过目前来说Google Android平台选择了Java Dalvik VM的方式使其程序很容易破解和被修改,首先APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式,然后解压缩可以看到内部的文件结构,类似Sun JavaMe的Jar压缩格式一样,不过不同的是Android上的二进制代码被编译成为Dex的字节码,所有的Java文件最终会编译进该文件中去,作为托管代码既然虚拟机可以识别,那么我们就可以很轻松的反编译。所有的类调用、涉及到的方法都在里面体现到,至于逻辑的执行可以通过实时调试的方法来查看,当然这需要借助一些我们自己编写的跟踪程序。Google最然在Android Market上设置了权限保护app-private文件夹的安全,但是最终我们使用修改定值的系统仍然可以获取到需要的文件。
当然了,我们反编译的目的是为了学习。
1. Apk文件:自己准备apk文件。
2. 将xxx.apk扩展名修改为xxx.rar或者xxx.zip,用WinRar解压缩,你可以看到内部文件的结构,类似下图所示:
3. 直接打开AndroidManifest.xml会发现是乱码,这里面是二进制字符,需要用AXMLPrinter2.jar(/p/android4me/downloads/list),下载AXMLPrinter2.jar文件,为了方便,这里我把它放到了Android SDK文件夹下面的tools文件夹中)
4. 逆向xml文件:把相应的AndroidManifest.xml放到AXMLPrinter2.jar同一目录,进入命令行模式,输入以下命令(注意空格):
java -jar AXMLPrinter2.jar AndroidManifest.xml -AndroidManifest.txt
5. 然后,打开AndroidManifest.txt,你就可以看到相应内容了,但是对资源的引用:android:label=@7F080000 android:icon=@7F02002A(这个是编译后对应资源R.java中的值),对一些属性值的设置:android:configChanges=0x000000A0,还有:android:textColor=?androidandroid:textColor=?android这个还需要查SDK,看到有android字样,就知道是系统定义的常量,在android sdk Reference android.R.xxx 页面搜找到?android对应 ?android:attr/textColorSecondary,?android应 ?android:attr/textColorTertiary
6. 在解压缩后的文件夹中,你会发现还有一个classes.dex文件,这是编译 后最终生成的dalvik字节码,还需要另外一个工具dex2jar(下载地址:/p/dex2jar/downloads/list),将Android’s .dex format转换成Java’s .class format,下载后解压后有一个dex2jar.bat文件,把你的classes.dex文件拷贝到该目录中,命令行切换到该目录,运行命令dex2jar.bat classes.dex,将会在目录中生成classes.dex.dex2jar.jar文件。
7. 最后,还需要用工具去查看反编译的类,下载JD-GUI工具(绿色无须安装,下载地址:http://java.decompiler.free.fr/?q=jdgui),将jar文件拷贝到GUI文件夹下,运行JD-GUI,打开这个Jar文件,就能看到相应的类了,同样里面有许多很长的数字。
然而,我们发现上述方法对资源文件(drawable、xml等),反编译的不够完美,在一些汉化工具中,用到了apktool,可以从/p/android-apktool/下载(Windows下需要apktool1.x.x.tar.bz2和apktool-install-windows-r04-brut1.tar.bz2两个文件),下载后解压,为了以后方便使用,可以把得到的3个文件都复制到某个文件夹(比如D:\workspace\apktool)下,使用步骤如下
您可能关注的文档
- I人事行政.doc
- I人事行政部职能及岗位职责.doc
- l2014微机中考选择题.doc
- I人事部全体人员培训资料.doc
- l2014执业医师公卫操作真题整理版本.doc
- l2014执业药师考前冲刺试题.doc
- l2014心理健康知识竞赛试卷.doc
- l2014广西公需考试题目及答案.doc
- I人事部需要用的表格大全.doc
- I人人U闲.doc
- 2025年浮球式疏水阀行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年感应式手消毒器行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年磁疗机行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年基金管理行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年机电锁存器行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年磁力片玩具行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年热熔断器行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年噻氯匹定行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年感应电炉钢行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年K12在线直播行业洞察报告及未来五至十年发展趋势预测报告.docx
文档评论(0)