目录
一、工具
1.抓包分析工具
2.APP 逆向分析工具
3.APP代码HOOK工具
二、抓包分析工具
1.抓包
2.代理
抓包
Packet Capture
BurpSuite
mimtproxy
Fiddler
Charls
代理
drony
socksDroid
JustTrustMe
三、APP逆向分析工具
1.反编译
2.查壳
3.脱壳
4.调试
反编译
Apktool
dex2jar
jd-gui
jadx
查壳
ApkScan-PKID
脱壳
Zjdroid、DexExtractor、dexdump、drizzleDumper、Tunpacker、Bunpacker
frida-dexdump
四、APP代码HOOK工具
xposed
frida
本文介绍一些APP nixiang时可能用到的工具,下面列出来的工具可以选择性使用,附带的连接可以看到相关工具对应的介绍,这里只是我最近常用的一些工具(标红),希望对APP nixiang的初学者有帮助。注意:有的工具十分丰富,可以自己去发掘,本人也是初学者。
Packet Capture 、BurpSuite 、mimtproxy、Fiddler、Charls
drony、 socksDroid 、JustTrustMe
Packet Capture是一款用于手机上数据抓包的免root的app,运行在android平台。用于http/https网络流量嗅探的app捕获网络数据包,并记录它们,使用中间人技术对SSL解密,无须root权限,这个app使用了Android提供的VpnService api,实现了中间人攻击。
参考:https://blog.csdn.net/qq_39969226/article/details/103030361
Burp Suite 是用于对web 应用程序进行渗透测试的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快渗透测试应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。
Burp Suite是Web应用程序测试的最佳工具之一,其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力破解登陆表单,执行会话令牌等多种的随机性检查。本文将做一个Burp Suite完全正的演练,主要讨论它的以下特点.
详情:https://blog.csdn.net/liuyanghai/article/details/8093556
mitmproxy是一个支持SSL的HTTP中间人代理工具,它允许你检查HTTP和HTTPS流量并支持直接改写请求。它位于客户端和Server端之间,它可以获取客户端的Request,然后修改再发送给Server端;Server端得到Request之后再发出相应的Response,又会被mitmproxy拦截,如果你想修改response,便可修改后再发给客户端。
https://www.jianshu.com/p/7b0ea91c081c
Fiddler是比较好用的web代理调试工具之一,它能记录并检查所有客户端与服务端的HTTP/HTTPS请求,能够设置断点,篡改及伪造Request/Response的数据,修改hosts,限制网速,http请求性能统计,简单并发,接口测试,辅助自动化测试,等等。现在抓包工具成为测试人员的必备使用工具,开发人员也在普遍使用,进行问题的定位分析,是非常有助于工作的一款工具。
详情:https://www.jianshu.com/p/e810f52fa71e
Charles本身是一个协议代理工具,如果只是普通的HTTP请求,因为数据本身没经过再次加密,因此作为代理可以知道所有客户端发送到服务端的请求内容以及服务端返回给客户端的数据内容,这也就是抓包工具能够将数据传输内容直接展现出来的原因。对于HTTPS请求,传输过程的数据都已经经过了加密,代理如果什么都不做的话是无法获取到其中的内容的。为了实现这个过程的数据获取,Charles需要做的事情是对客户端伪装服务端,对服务端伪装客户端,具体
详情:https://www.cnblogs.com/URNOTBENBEN/p/10767734.html
charls,fiddler抓app的http/https包,现在都是直接在手机上设置代理。有些不友好的地方,比如:
Drony 可以解决上述痛点,不需要手机在wifi里设置代理。 可以通过该app直接指定 目标app 才走代理,对其他app 不可见。
详情:https://blog.csdn.net/lckj686/article/details/100697545
SOCKS5 client for Android 5.0+ using VpnService
详情:https://github.com/ssrlive/socksDroid
JustTrustMe 是将APK中所有用于校验 SSL 证书的 API 都进行了Hook从而绕过证书检查的。
详情:https://github.com/Fuzion24/JustTrustMe
apktool主要用于逆向apk文件。它可以将资源解码,并在修改后可以重新构建它们。它还可以执行一些自动化任务,例如构建apk。
功能:
详情:https://www.cnblogs.com/mliangchen/tag/apktool/
dex2jar 是一个能操作Android的dalvik(.dex)文件格式和Java的(.class)的工具集合,包含以下几个功能
详情:https://blog.csdn.net/fsx_xiaomei/article/details/73368663?locationNum=4&fps=1
JD-GUI 是一个独立的显示“.class” 文件Java源代码的图形用户界面工具。可以使用JD-GUI浏览和重建源代码的即时访问方法和字段,以代码高度方式来显示反编译过来的代码。
详情:https://blog.csdn.net/strivenoend/article/details/72904109
jadx gui官方版是一款十分优秀的安卓反编译工具,jadx gui官方版界面简洁清晰,功能强大,可以查看apk源码,支持全局搜索class、method、field、code。
详情:https://github.com/skylot/jadx
jadx gui官方版是一款十分优秀的安卓反编译工具,jadx gui官方版界面简洁清晰,功能强大,可以查看apk源码,支持全局搜索class、method、field、code。
详情:https://www.jianshu.com/p/086c0eae3063
1.Zjdroid
github:https://github.com/halfkiss/ZjDroid
2. DexExtractor
github:https://github.com/bunnyblue/DexExtractor
原理分析:http://blog.csdn.net/qq1084283172/article/details/53557894
3. dexdump
github:https://github.com/smartdone/dexdump
基于Xposed插件
4.drizzleDumper
github:https://github.com/DrizzleRisk/drizzleDumper
原理分析:http://blog.csdn.net/qq1084283172/article/details/53563.1622
5.TUnpacker(Python)
github:https://github.com/DrizzleRisk/TUnpacker
6.BUnpacker (Python)
github:https://github.com/DrizzleRisk/BUnpacker
详情:https://www.52pojie.cn/thread-708085-1-1.html
得益于FRIDA, 在 PC 上面进行内存搜索、转储都变得十分方便,再也不需要考虑什么Xposed、什么Android开发、什么代码注入,只需要关注如何去搜索想要的东西,于是依赖一个几十行代码的小脚本,就可以将大部分内存中的 dex 脱下来。
详情:https://github.com/hluwa/FRIDA-DEXDump
xposed框架提供了不需要修改系统源码就能灵活定制系统功能的能力,极大的方便了安全研究人员的工作。且xposed利用了JNI机制修改Java framework的功能实现,没有涉及arm本地指令的适配工作,所以很少出现兼容性问题。
详情:https://www.freebuf.com/articles/terminal/114910.html