手机APP逆向工具介绍

目录

一、工具

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的初学者有帮助。注意:有的工具十分丰富,可以自己去发掘,本人也是初学者。

一、工具

1.抓包分析工具

 

2.APP nixiang分析工具

 

3.APP代码HOOK工具

二、抓包分析工具

1.抓包

Packet Capture 、BurpSuite 、mimtproxy、FiddlerCharls

2.代理

drony socksDroid JustTrustMe

抓包

Packet Capture

Packet Capture是一款用于手机上数据抓包的rootapp,运行在android平台。用于http/https网络流量嗅探的app捕获网络数据包,并记录它们,使用中间人技术对SSL解密,无须root权限,这个app使用了Android提供的VpnService api,实现了中间人攻击。

参考:https://blog.csdn.net/qq_39969226/article/details/103030361

    

BurpSuite

Burp Suite 是用于对web 应用程序进行渗透测试的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快渗透测试应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。 
Burp SuiteWeb应用程序测试的最佳工具之一,其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力破解登陆表单,执行会话令牌等多种的随机性检查。本文将做一个Burp Suite完全正的演练,主要讨论它的以下特点.

详情:https://blog.csdn.net/liuyanghai/article/details/8093556

mimtproxy

mitmproxy是一个支持SSLHTTP中间人代理工具,它允许你检查HTTPHTTPS流量并支持直接改写请求。它位于客户端和Server端之间,它可以获取客户端的Request,然后修改再发送给Server端;Server端得到Request之后再发出相应的Response,又会被mitmproxy拦截,如果你想修改response,便可修改后再发给客户端。

https://www.jianshu.com/p/7b0ea91c081c

Fiddler

Fiddler是比较好用的web代理调试工具之一,它能记录并检查所有客户端与服务端的HTTP/HTTPS请求,能够设置断点,篡改及伪造Request/Response的数据,修改hosts,限制网速,http请求性能统计,简单并发,接口测试,辅助自动化测试,等等。现在抓包工具成为测试人员的必备使用工具,开发人员也在普遍使用,进行问题的定位分析,是非常有助于工作的一款工具。

详情:https://www.jianshu.com/p/e810f52fa71e

 

Charls 

Charles本身是一个协议代理工具,如果只是普通的HTTP请求,因为数据本身没经过再次加密,因此作为代理可以知道所有客户端发送到服务端的请求内容以及服务端返回给客户端的数据内容,这也就是抓包工具能够将数据传输内容直接展现出来的原因。对于HTTPS请求,传输过程的数据都已经经过了加密,代理如果什么都不做的话是无法获取到其中的内容的。为了实现这个过程的数据获取,Charles需要做的事情是对客户端伪装服务端,对服务端伪装客户端,具体

截获真实客户端的 HTTPS 请求,伪装客户端向真实服务端发送 HTTPS 请求
接受真实服务器响应,用 Charles 自己的证书伪装服务端向真实客户端发送数据 内容

详情:https://www.cnblogs.com/URNOTBENBEN/p/10767734.html 

 代理

drony

charlsfiddlerapphttp/https包,现在都是直接在手机上设置代理。有些不友好的地方,比如:

手机上装的 app 多了,会很多数据上来,要加过滤规则,正式环境测试环境都要加
连上了代理,有些普通使用的 app (非抓包 app )会没法使用
会出现经常要设置代理,关闭代理,需要又要设置(有些手机会保存代理 ip 还好,不保存的 还要每次 手写)

Drony 可以解决上述痛点,不需要手机在wifi里设置代理。 可以通过该app直接指定 目标app 才走代理,对其他app 不可见。

详情:https://blog.csdn.net/lckj686/article/details/100697545

socksDroid 

SOCKS5 client for Android 5.0+ using VpnService

详情:https://github.com/ssrlive/socksDroid

JustTrustMe 

JustTrustMe 是将APK中所有用于校验 SSL 证书的 API 都进行了Hook从而绕过证书检查的。

详情:https://github.com/Fuzion24/JustTrustMe

三、APP逆向分析工具 

1.反编译

Apktool dex2jar jd-gui jadx
 

2.查壳

ApkScan-PKID
 

3.脱壳

Zjdroid DexExtractor dexdump drizzleDumper Tunpacker Bunpacker frida-dexdump
 

4.调试

ida
 
 

反编译 

Apktool

apktool主要用于逆向apk文件。它可以将资源解码,并在修改后可以重新构建它们。它还可以执行一些自动化任务,例如构建apk

功能:

将资源解码成原来的形式(包括 resources.arsc class.dex 9.png xml
将解码的资源重新打包成 apk /jar
组织和处理依赖于框架资源的 APK
Smali 调试
执行自动化任务

 

详情:https://www.cnblogs.com/mliangchen/tag/apktool/

 dex2jar

dex2jar 是一个能操作Androiddalvik(.dex)文件格式和Java(.class)的工具集合,包含以下几个功能

dex -reader/writer: 用于读写 Dalvik Executable (. dex ) 文件格式 . 包含一个简单的 API( ASM 相似 )
d2j-dex2jar: 执行 dex class 的文件格式 转换
smali / baksmali : smali 工具功能一致,但是对中文更友好

详情:https://blog.csdn.net/fsx_xiaomei/article/details/73368663?locationNum=4&fps=1  

 

jd-gui 

JD-GUI 是一个独立的显示“.class” 文件Java源代码的图形用户界面工具。可以使用JD-GUI浏览和重建源代码的即时访问方法和字段,以代码高度方式来显示反编译过来的代码。

详情:https://blog.csdn.net/strivenoend/article/details/72904109

jadx 

jadx gui官方版是一款十分优秀的安卓反编译工具,jadx gui官方版界面简洁清晰,功能强大,可以查看apk源码,支持全局搜索classmethodfieldcode

详情:https://github.com/skylot/jadx

查壳 

ApkScan-PKID

jadx gui官方版是一款十分优秀的安卓反编译工具,jadx gui官方版界面简洁清晰,功能强大,可以查看apk源码,支持全局搜索classmethodfieldcode

详情:https://www.jianshu.com/p/086c0eae3063

脱壳 

Zjdroid、DexExtractordexdumpdrizzleDumperTunpackerBunpacker

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-dexdump

得益于FRIDA, 在 PC 上面进行内存搜索、转储都变得十分方便,再也不需要考虑什么Xposed、什么Android开发、什么代码注入,只需要关注如何去搜索想要的东西,于是依赖一个几十行代码的小脚本,就可以将大部分内存中的 dex 脱下来。

详情:https://github.com/hluwa/FRIDA-DEXDump

 

四、APP代码HOOK工具 

xposed

xposed框架提供了不需要修改系统源码就能灵活定制系统功能的能力,极大的方便了安全研究人员的工作。且xposed利用了JNI机制修改Java framework的功能实现,没有涉及arm本地指令的适配工作,所以很少出现兼容性问题。

详情:https://www.freebuf.com/articles/terminal/114910.html

api: https://api.xposed.info/reference/packages.html

frida 

frida是平台原生appGreasemonkey,说的专业一点,就是一种动态插桩工具,可以插入一些代码到原生app的内存空间去,(动态地监视和修改其行为),这些原生平台可以是WinMacLinuxAndroid或者iOS。而且frida还是开源的。

详情:https://frida.re/

猜你喜欢

转载自blog.csdn.net/someby/article/details/108439227