android_apk反编译教程

android_apk反编译教程

ID:30425735

大小:180.04 KB

页数:10页

时间:2018-12-29

android_apk反编译教程_第1页
android_apk反编译教程_第2页
android_apk反编译教程_第3页
android_apk反编译教程_第4页
android_apk反编译教程_第5页
资源描述:

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

1、AndroidAPK反编译教程——原帖地址:http://www.miui.com/thread-505062-1-2.htmlGoogleAndroid平台选择了JavaDalvikVM的方式使其程序很容易破解和被修改,首先APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的文件结构,类似SunJavaMe的Jar压缩格式一样,不过比较去别的是Android上的二进制代码被编译成为Dex的字节码,所有的Java文件最终会编译进该文件中去,作为托管代码既然虚拟机可以识别,那么我们就可以很轻松的反编译。所有的类调用、涉及

2、到的方法都在里面体现到,至于逻辑的执行可以通过实时调试的方法来查看,当然这需要借助一些我们自己编写的跟踪程序。Google最然在AndroidMarket上设置了权限保护app-private文件夹的安全,但是最终我们使用修改定值的系统仍然可以获取到需要的文件。一、dexdump方法dexdump是emulator自带提供的查看dex文件的工具,可使用类似这样的命令将dex文件dump到txt文件中:D:ProgramFilesandroid-sdk-windows-1.6_r1platformsandroid-1.6tools>dexdum

3、p.exe-dclasses.dex>spk.dump.txt得到的文件内容,描述了类的信息,但是不怎么好阅读二、AXMLPrinter2.jar+baksmali.jar+smali.jar方法这个方法就强大了,AXMLPrinter2是还原AndroidManifest.xml和main.xml的工具,直接打开这两个xml文件是乱码,而通过还原之后,可以很明白的看到里面的内容(我猜测还是使用了字节异或的方式加的密)。baksmali.jar是反解析dex的工具,smali.jar则是再还原成dex的工具操作方式如下:11、java-jarAXMLP

4、rinter2.jarD:playAndroidManifest.xml>AndroidManifest.txt22、java-jarAXMLPrinter2.jarD:playreslayoutmain.xml>main.txt33、java-jarbaksmali-1.2.5.jar-oclassout/d:playclasses.dex复制代码baksmali可解析(注意,是解析,不是反编译)原java包以及引用的lib包,解析出的文件认真看还是能看懂,比如以下片段:456viewplaincopytoclipboardprint

5、?7.classLcom/paul/test/a;1.superLandroid/view/View;23#staticfields4.fieldprivatestaticfinala:Landroid/graphics/Typeface;56#instancefields7.fieldprivateb:I8.fieldprivatec:I9.fieldprivated:Z10.fieldprivatee:J11.fieldprivatef:I12.fieldprivatel:[Ljava/lang/String;1314#directmethods1

6、5.methodstaticconstructor()V16.registers217sget-objectv0,Landroid/graphics/Typeface;->SANS_SERIF:Landroid/graphics/Typeface;18const/4v1,0x019invoke-static{v0,v1},Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface;20move-result-obj

7、ectv021sput-objectv0,Lcom/wiyun/ad/a;->a:Landroid/graphics/Typeface;22return-void23.endmethod24#25#othermethods..........26#27#virtualmethods28.methodpubliconKeyUp(ILandroid/view/KeyEvent;)Z29.registers430const/16v0,0x4231if-eqp1,v0,:cond_832const/16v0,0x1733if-nep1,v0,:cond_b34

8、:cond_835invoke-direct{p0},Lcom/paul/test/a;->d

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

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

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