Android反编译分析工具
通常我们会看到好的APP,都想知道内部结构是如设计的,希望能借鉴一些好的设计和功能,因此需要找到可以通过反编译的方式去查看一些想看的APP
- META-INF: 存放签名文件签名信息的目录,用于系统签名校验;
- res: 存放资源文件的目录,包含项目中的 xml 和 图片资源等;
- AndroidManifest.xml: Android项目中的配置文件;
- classes.dex: 由Java产生的字节码文件打包生成为虚拟机可以解读的字节码文件,所有的源码都在其中;
- resources.arsc: 资源文件的ID索引表,如:layout、drawable、mipmap都会在R文件生成相应的ID资源;
- 其他目录:开发者自行添加的目录,如:存放资源的 asserts 、存放依赖包的 lib 目录等。
Fiddler
工具名: Fiddler
官网: http://www.telerik.com/fiddler
下载地址: https://www.telerik.com/download/fiddler
使用文档: 直接参考 Trinea 的文章 http://www.trinea.cn/android/android-network-sniffer/ 即可。
功能: 支持对 HTTP 和 HTTPS 两种协议进行抓包。
相比 Tcpdump ,它的好处在于手机不需要 Root,且有自己的 GUI 。不过它只支持 HTTP 和 HTTPS 两种协议。另外在使用时,手机也需要连接 Wi-Fi 并设置好代理,
Fiddler 是本文介绍的最后一个工具,Mac 下使用 Charles,
工具名: WireShark
官网: https://www.wireshark.org/
下载地址: https://www.wireshark.org/#download
使用文档: http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html (非常齐全的文档)
功能:
- 配置 Tcpdump 生成打 pcap 文件,进行分析;
- 或者可以让电脑建立热点,手机连上电脑创建的热点进行抓包,这种方式处理起来更加方便灵活。
工具名: TcpDump
官网: http://www.androidtcpdump.com/
下载地址: http://www.androidtcpdump.com/android-tcpdump/downloads
使用文档:
- Trinea版本:http://www.trinea.cn/android/tcpdump_wireshark/
- MrPeak版本:http://mrpeak.cn/blog/tutorial-tcpdump/
功能: 对手机进行网络抓包,前提是手机已经获取 Root 权限。支持 HTTP 和 HTTPS ,还支持更多其他协议。
工具名: ClassyShark
官网: http://classyshark.com/
源码: https://github.com/google/android-classyshark
配置文档: 通过下载链接 https://github.com/google/android-classyshark/releases ,下载 jar 包到本地即可
使用文档:
- Github markdown版本:https://github.com/borisf/classyshark-user-guide
- Github PDF版本:https://github.com/google/android-classyshark/blob/master/CommandLine.pdf
- 简书版本:http://www.jianshu.com/p/8e8b88ea2197
功能: 可直接浏览 Apk,支持对.dex, .aar, .so,.apk, .jar, .class等文件的操作。
工具名: Procyon
源码: https://bitbucket.org/mstrobel/procyon
配置文档: 通过下载链接 https://bitbucket.org/mstrobel/procyon/downloads,下载 jar 包到本地即可。
使用文档: https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler
功能: 将反编译得到 jar 包还原成 java 文件,同时能够更强的还原代码的逻辑结构。
Procyon 的优势所在了。直接去到 Procyon 的目录下,并将 enjarify 反编译好的微信 jar 文件放置到同级目录,
enjarify
工具名: enjarify
源码: https://github.com/google/enjarify
配置文档: 下载源码到本地,并安装 Python3 的环境,同时配置好环境变量。
使用文档: 可以参考上面的源码地址中的说明,或者乌云平台的文章 http://wiki.wooyun.org/android:tools:enjarify。
功能: 可直接将 apk 文件还原成为 jar 文件,也可以和 dex2jar 一样,直接操作某个dex。
这是 Google 出品的一个逆向分析工具,从反编译成 jar 包的流程来说,要比 dex2jar 方便得多。下载完工具到本地并配置好 Python 环境后,需要修改 enjarify 目录下的 enjarify.bat 文件,将 python3 改为 python。
jd-gui
工具名: jd-gui
官网: http://jd.benow.ca/
源码: https://github.com/java-decompiler/jd-gui
功能:
- 查看 dex 文件还原成为 jar 文件代码;
- 将 jar 文件中所有的 class 文件转换成为 java 文件。
使用很方便,下载后,直接把用 dex2jar 生成的微信 jar 包拖曳进去即可查看到对应的源代码。
dex2jar
工具名: dex2jar
官网: https://sourceforge.net/projects/dex2jar/
源码:
- Github地址:https://github.com/pxb1988/dex2jar
- Bitbucket地址:https://bitbucket.org/pxb1988/dex2jar
配置文档: 很简单,去官网链接直接下载到本地即可。
使用文档: 同样比较简单,直接看下面示例,或者 Google 一下。
功能:
- 将 dex 文件还原成为 jar 文件;
- 将 dex 文件还原成为 smali 文件;
- 其他一些命令行很少用,喜欢折腾的童鞋,同样自行摸索。
SmaliIdea: https://github.com/JesusFreke/smali/wiki/smalidea
反正我一看到 SmaliIdea 是震惊了。目前 SmaliIdea 最新的版本是 0.03,喜欢玩耍的童鞋可以到下面的下载地址中:
https://bitbucket.org/JesusFreke/smali/downloads
Apktool
工具名: Apktool
官网: http://ibotpeaches.github.io/Apktool/
源码:
- Github地址:https://github.com/iBotPeaches/Apktool
- Bitbucket地址:https://bitbucket.org/iBotPeaches/apktool/downloads
配置文档: http://ibotpeaches.github.io/Apktool/install/, 教你如何配置 Apktool 的使用环境。
使用文档: http://ibotpeaches.github.io/Apktool/documentation/, 教你各种基本的命令的使用。
Android反编译分析工具相关推荐
- android 反编译 jadx,jadx gui下载 jadx(Android反编译gui工具) v0.6.1 官方版 下载-脚本之家...
jadx是一款Android反编译gui工具,它支持apk.dex.jar.class.zip.aar等文件.jadx操作方便,反编译后的代码可读性高,同时还拥有较完善的gui界面,除去混淆部分的代码 ...
- android 反编译apktool工具
下载地址:http://pan.baidu.com/s/1bnHANtd 1.将编译的*.apk放在apktool的根目录下: 2.双击"解压软件.bat"后,会提示完成:这样就反 ...
- Android反编译工具与实践
版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl What is Android Android is a mobile operating s ...
- 26款Android反编译工具
译文: http://www.freebuf.com/sectool/111532.html 原文: https://hackerlists.com/android-reverse-engineeri ...
- Android反编译工具的使用(保姆级教程)
Android反编译工具的使用(保姆级教程) 网上关于Android反编译的文章很多,但是好多都比较杂,就打算自己写一下,顺便也能加深一下印象. 一.常用反编译文件的介绍 apktool apktoo ...
- android反编译工具jadx卡死解决方案。
jadx卡死解决 概述 问题点 解决方案 概述 在android的app中,由于dex部分是由java代码实现的,dex可以直接被apktool,androidkiller,jeb等工具进行反编译分析 ...
- 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )
文章目录 一.apktool 1.apktool 简介 2.直接解压 3.使用 apktool 反编译 4.使用 apktool 重新打包 二.dex2jar 1.dex2jar 简介 2.dex2j ...
- Android反编译工具与反编译步骤及常见问题
Android代码混淆很大程度上就是为了别人反编译我们的代码,用反编译工具也可以测试我们的代码是否混淆成功. "工欲善其事,必先利其器",先介绍一下反编译的工具: apktool. ...
- Android反编译工具的使用-Android Killer
今天百度搜索"Android反编译"搜索出来的结果大多数都是比较传统的教程.刚接触反编译的时候,我也是从这些教程慢慢学起的.在后来的学习过程中,我接触到比较方便操作的Android ...
最新文章
- OC基本数据存储方式
- 【Java8新特性】浅谈方法引用和构造器引用
- libtool: Version mismatch error. 解决方法
- springmvc rest风格化案例
- sklearn 神经网络_机器学习100天-Day2404 循环神经网络RNN(预测时间序列)
- 支付宝一项重要服务突然改名!官方:已启动品牌隔离,服务不受影响
- visio中虚线粘贴到word中变实线的解决办法(转)
- Exchange Server 2016管理系列课件22.通讯组概述
- 计算机程序的思维逻辑 (91) - Lambda表达式
- java go md5_Go语言中三种不同md5计算方式的性能比较
- HTML+CSS【超浪漫的表白网页代码】不会编程也能制作送给女朋友的表白网站 (1)
- 建模国赛2016A-系泊系统的设计优秀论文
- SWAT模型在水文水资源、面源污染模拟中的实践技术应用
- Scrapy爬虫四步法:爬取51job网站
- 【码上实战】【立体匹配系列】经典AD-Census: (5)扫描线优化
- 从汽车到可穿戴设备的设计都利用 PMIC 实现电源效率
- MEMS传感器领域关于薄膜性能的中国国家标准,“带状薄膜抗拉性能的试验方法”由北京智芯传感等单位发布并实施
- 嘉信给你介绍新加坡10大特色美食
- java八大数据类型_java的八大基本数据类型分别是什么?
- [A Beginner‘s Guide to Irrational Behavior][怪诞行为学]Week1: 你的直觉是对还是错?
热门文章
- 别告诉我你懂Javascript
- 常用机器学习算法汇总
- 大数据分析的目的与意义
- 寻找链表中值域最小的节点并移到链表的最前面
- python密码编程_Python密码学编程
- idea中build project不能用_Java语言编程第40讲——如何在一个项目中组织多个SpringBoot服务
- php pdo $_GET,PHP PDOStatement::getColumnMeta讲解
- [tensorflow]tensorflw2.1.0张量和变量介绍
- qml设置Text中的文字居中(不是整个Text居中)
- txt文件参数化200用户,返回在表格中查看只能看到100行数据