轻松反编译Andoid应用源码.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
轻松反编译Andoid应用源码

学习开发缺少进阶的资料怎么办? 网上的共享代码质量不高怎么办? 看到超炫应用眼馋流口水怎么办? 答案只有一个,反编译!虽然手段有些不光彩,不过思想觉悟还是应该具备 的,一切不以学习为目的的反编译都是耍流氓,要注意素质啊,素质! 反编译很难吗? 别担心,生长在这个年代的小菜鸟简直是幸福死了,各种反编译工具大神们 都已经开发出来了,只要懂得一点Android 开发基础,咱们也能轻松搞定APK 的反编译。 是否所有安卓程序都能被反编译? 安卓程序开发方式有Java 、NDK、Mono for Android、Qt for Android 几种, 理论上这几种方式开发的程序都能被反编译,只是难易程度不同。Java 开发的 程序反编译最容易,即使有代码混淆等手段保护,也只是给反编译制造点麻烦而 已。用NDK 开发本地库开发难度比较高,一般仅用于保护核心业务逻辑,而后 面两种方式还存在于传说中,所以我们对于反编译那颗骚动的心能够尽情发泄在 99%的安卓程序上。 反编译一般需要几步? 这个问题要先从正向的编译过程说起,搞明白了APK 打包编译的过程,自 然也就能明白反编译的步骤了。先看下图: 有没有搞明白aapt、java compiler 、dex、apkbuilder、jarsigner 这几步编 译器究竟做了什么工作?不明白的同学肯定没有认真学习基础知识,自觉去面壁 半小时!接下来就是反编译的步骤。 请大家注意,左侧分支是搞破解的人玩的,不用反编译出Java 源码,只需 要修改Smali 反汇编代码就能完成APK 修改、破解。咱们学习反编译是以学习 为目的,还请大家自觉将注意力转移到右侧分支。 流程看起来好繁琐,反编译过程能简单一点概括吗? 能,两步,反编译资源文件、反编译Java 文件。 反编译资源文件就用APKTool,一行命令搞定 反编译Java 文件稍微麻烦点,需要以下几个步骤  直接解压缩APK 或用APKTool 反编译得到classes.dex  用dex2jar 将dalvik 字节码的classes.dex 转换为jvm 字节码的jar 文件  用Java 反编译工具反编译出Java 源码 还是感觉太麻烦了,能更简单点吗? 能,使用强大的AndroChef Java Decompiler ,由APK 直接生成Java 源码, dex 解析功能不亚于dex2jar,java 反编译能力不输于JD-GUI/XJAD ,且在代码 优化方面远远超过后者,简直牛叉到极点。这款神器知名度不高,原因在于它是 商用的,国外官方25 美刀售价不菲,好在天朝有盗版(猛戳 http://sina.lt/jjt)。 一句话概括,神器在手,源码我有! 免费的Java 代码反编译工具有哪些? 常用的Java 反编译器,其抗混淆能力、代码优化能力都各有千秋,老猿认 为最重要的还是比较它们碰到特殊代码 (多循环嵌套、代码混淆等等造成的反编 译失败)时的处理策略,因为这一点决定了反编译结果的可靠程度和后期手工优 化的空间。  JAD :土八路的干活 最老土的反编译器,却是最可靠的,特殊代码段忠实的保留了 goto、 JVM INSTR tableswitch 等JVM 指令,反编译代码很丑,但为后期手工优 化提供了可能。  XJAD :新瓶装旧酒 采用 JAD 核心,封装了窗口操作摆脱了命令行模式,但也只是新瓶装 旧酒,反编译能力没有丝毫提升。  JD-GUI:屌丝气质,看上去很美 可以直接打开jar 文件,能够自动根据类之间的引用遍历整个jar 包, 各个类根据package 按照树形结构组织,源码展示也做了类似IDE 的处理, 类引用可以通过点击鼠标直接跳转,使用起来非常方便。但是最核心的反编 译功能却让人无力吐槽。在碰到处理不了的特殊代码段时,JAD 会保留原 始 JVM 指令在代码中可以让我们后期手工优化,AndroChef Java Decompiler 则是直接输出错误信息“Couldnt be decompiled ”,这两种方

文档评论(0)

xyl118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档