android软件代码反编译方法

android软件代码反编译方法

ID:11676921

大小:115.93 KB

页数:10页

时间:2018-07-13

android软件代码反编译方法_第1页
android软件代码反编译方法_第2页
android软件代码反编译方法_第3页
android软件代码反编译方法_第4页
android软件代码反编译方法_第5页
资源描述:

《android软件代码反编译方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、GoogleAndroid平台选择了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>dexdump.exe-dclasses.dex>spk.dump.txt得到的文件内容,描述了类的

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

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

5、/test/a;5..superLandroid/view/View;6.7.#staticfields8..fieldprivatestaticfinala:Landroid/graphics/Typeface;9.10.#instancefields11..fieldprivateb:I12..fieldprivatec:I13..fieldprivated:Z14..fieldprivatee:J15..fieldprivatef:I16..fieldprivatel:[Ljava/lang/String;17.18.#dir

6、ectmethods19..methodstaticconstructor()V20..registers221.sget-objectv0,Landroid/graphics/Typeface;->SANS_SERIF:Landroid/graphics/Typeface;22.const/4v1,0x023.invoke-static{v0,v1},Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/

7、Typeface;24.move-result-objectv025.sput-objectv0,Lcom/wiyun/ad/a;->a:Landroid/graphics/Typeface;26.return-void27..endmethod28.#29.#othermethods..........30.#31.#virtualmethods32..methodpubliconKeyUp(ILandroid/view/KeyEvent;)Z33..registers434.const/16v0,0x4235.if-eqp1,v

8、0,:cond_836.const/16v0,0x1737.if-nep1,v0,:cond_b38.:cond_839.invoke-direct{p0},Lcom/paul/test/a;->d()V40.:cond_b41.co

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

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

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