apk反编译步骤

apk反编译步骤

ID:34285348

大小:545.50 KB

页数:11页

时间:2019-03-04

apk反编译步骤_第1页
apk反编译步骤_第2页
apk反编译步骤_第3页
apk反编译步骤_第4页
apk反编译步骤_第5页
资源描述:

《apk反编译步骤》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、apk反编译步骤2011-02-2421:17:25标签:apk反编译休闲Android职场原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://lbrant.blog.51cto.com/2400264/499893对于软件开发人员来说,保护代码安全也是比较重要的因素之一,不过目前来说GoogleAndroid平台选择了JavaDalvikVM的方式使其程序很容易破解和被修改,首先APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式,然后解压缩可以看到内部的文件结构,类似SunJavaMe的Jar压

2、缩格式一样,不过不同的是Android上的二进制代码被编译成为Dex的字节码,所有的Java文件最终会编译进该文件中去,作为托管代码既然虚拟机可以识别,那么我们就可以很轻松的反编译。所有的类调用、涉及到的方法都在里面体现到,至于逻辑的执行可以通过实时调试的方法来查看,当然这需要借助一些我们自己编写的跟踪程序。Google最然在AndroidMarket上设置了权限保护app-private文件夹的安全,但是最终我们使用修改定值的系统仍然可以获取到需要的文件。当然了,我们反编译的目的是为了学习。1.Apk文件:自己准备apk文件。2.将xxx.apk扩展名修改为xxx.rar或者x

3、xx.zip,用WinRar解压缩,你可以看到内部文件的结构,类似下图所示:3.直接打开AndroidManifest.xml会发现是乱码,这里面是二进制字符,需要用AXMLPrinter2.jar(http://code.google.com/p/android4me/downloads/list),下载AXMLPrinter2.jar文件,为了方便,这里我把它放到了AndroidSDK文件夹下面的tools文件夹中)4.逆向xml文件:把相应的AndroidManifest.xml放到AXMLPrinter2.jar同一目录,进入命令行模式,输入以下命令(注意空格):java

4、-jarAXMLPrinter2.jarAndroidManifest.xml->AndroidManifest.txt5.然后,打开AndroidManifest.txt,你就可以看到相应内容了,但是对资源的引用:android:label="@7F080000"android:icon="@7F02002A"(这个是编译后对应资源R.java中的值),对一些属性值的设置:android:configChanges="0x000000A0",还有:android:textColor="?android:01010036"android:textColor="?android:0

5、1010212",这个还需要查SDK,看到有android字样,就知道是系统定义的常量,在androidsdkReferenceandroid.R.xxx页面搜索01010036,找到"?android:01010036"对应"?android:attr/textColorSecondary","?android:01010212"对应"?android:attr/textColorTertiary"6.在解压缩后的文件夹中,你会发现还有一个classes.dex文件,这是编译后最终生成的dalvik字节码,还需要另外一个工具dex2jar(下载地址:http://code.go

6、ogle.com/p/dex2jar/downloads/list),将Android’s.dexformat转换成Java’s.classformat,下载后解压后有一个dex2jar.bat文件,把你的classes.dex文件拷贝到该目录中,命令行切换到该目录,运行命令dex2jar.batclasses.dex,将会在目录中生成classes.dex.dex2jar.jar文件。7.最后,还需要用工具去查看反编译的类,下载JD-GUI工具(绿色无须安装,下载地址:http://java.decompiler.free.fr/?q=jdgui),将jar文件拷贝到GUI文件

7、夹下,运行JD-GUI,打开这个Jar文件,就能看到相应的类了,同样里面有许多很长的数字。然而,我们发现上述方法对资源文件(drawable、xml等),反编译的不够完美,在一些汉化工具中,用到了apktool,可以从http://code.google.com/p/android-apktool/下载(Windows下需要apktool1.x.x.tar.bz2和apktool-install-windows-r04-brut1.tar.bz2两个文件),下载后解压,为了以后方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。