- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 ”,这两种方
您可能关注的文档
最近下载
- 中储粮油脂有限公司2025年下半年招聘笔试模拟试题及答案解析.docx VIP
- 长庆低渗透油藏描述难点、主要做法及典型案例.pptx VIP
- 安徽省2024_2025学年高二化学上学期第一次月考试题.doc VIP
- 2025北京房山区区直部门和乡镇(街道)全日制临聘人员招聘37人笔试备考试题及答案解析.docx VIP
- 学校建筑结构设计计算书.doc VIP
- 《应用文写作》高职完整全套教学课件.pdf
- 【施工】劳动力计划安排.docx VIP
- 2025北京房山区区直部门和乡镇(街道)全日制临聘人员招聘补充考试备考题库及答案解析.docx VIP
- 2025年河北保定市莲池区招聘社区工作者80人备考练习试题及答案解析.docx VIP
- 2022-2023年药物制剂期末复习-药物制剂设备与车间工艺设计(药物制剂)考试全真模考卷9(附答案.docx VIP
文档评论(0)