逆向需要的工具汇总(持续更新中)

逆向需要的工具汇总(持续更新中),第1张

一、砸壳工具

dumpdecrypted: https://github.com/stefanesser/dumpdecrypted

Clutch: https://github.com/KJCracks/Clutch

二、界面分析工具

Reveal: https://revealapp.com/

三、监控山罩如工具

snoop-it: https://code.google.com/archive/p/snoop-it/

introspy: https://github.com/iSECPartners/Introspy-iOS

四、静态分析工具

IDA: https://www.hex-rays.com/products/ida/support/download_demo.shtml

Hopper: https://www.hopperapp.com/

五、动态调试工具

lldb: http://lldb.llvm.org/

六、动态脚本工具

cycript: http://www.cycript.org/

frida: http://www.frida.re/

七、抓包工具

BurpSuite: https://portswigger.net/burp/download.html

Charles: https://www.charlesproxy.com/

Wireshark: https://www.wireshark.org/download.html

八、Mac工具

MachOView: https://github.com/gdbinit/MachOView

九、导出头文件工具

class-dump: https://github.com/nygard/class-dump

十、THEOS越狱开发工具包

thoes: https://github.com/theos/theos/wiki/Installation

十一、文件管理工具

Filza ios设备查看文件系统

iFunBox/iExplorer mac设备闷耐查看ios设备的文件系统

十二、debugserver (动态调试,附加子进程)

https://www.jianshu.com/p/36dc01a37180

十三、常用Tweak.xm预处理指令

http://iphonedevwiki.net/index.php/Logos

十四、符号表恢复工具(restore-symbol)

https://github.com/tobefuturer/restore-symbol

其他工具:

iOSOpenDev: https://code.google.com/archive/p/iosopendev/downloads

insert_dylib: https://github.com/Tyilo/insert_dylib

iTerm: http://www.iterm2.com/

Alfred: https://www.alfredapp.com/

iTools: http://www.itools.cn/

更新:2018-8-16

phantomjs :提供一个浏览器环境的命令行逗启接口,相当于"虚拟浏览器"。

PhantomJS官方地址: http://phantomjs.org/ 。

PhantomJS官方API: http://phantomjs.org/api/ 。

PhantomJS官方示例: http://phantomjs.org/examples/ 。

PhantomJS GitHub: https://github.com/ariya/phantomjs/ 。

参考文档: http://javascript.ruanyifeng.com/tool/phantomjs.html#toc1

MonkeyDev : https://github.com/AloneMonkey/MonkeyDev

这里我就直接copy功能点了:

原有iOSOpenDev的升级,非越狱插件开发集成神器!

frida-ios-dump :一键砸壳工具,非常的好用。

https://github.com/AloneMonkey/frida-ios-dump

Hookzz :通过Hookzz可以快速找到调用的方法,理清程序调用逻辑。

源码: https://github.com/jmpews/HookZz

文档: https://jmpews.github.io/zzpp/getting-started/

网络

Scapy, Scapy3k: 发送,嗅探,分析和伪造网络数据包。可用作交互扮滚式包处理程序或单独作为一个库

pypcap, Pcapy, pylibpcap: 几个不同 libpcap 捆绑的python库

libdnet: 低级网络路由,包括端口查看和以太网帧的转发

dpkt: 快速,轻量数据包创建和分析,面向基本的 TCP/IP 协议

Impacket: 伪造和解码网络数据包,支持高级协议如 NMB 和 SMB

pynids: libnids 封装提供网络嗅探,IP 包碎片重组,TCP 流重组和端口扫描侦查

Dirtbags py-pcap: 无需 libpcap 库支持读取 pcap 文件

flowgrep: 通过正则表达式查找数据包中的 Payloads

Knock Subdomain Scan: 通过字典枚举目标子域名

SubBrute: 快速的子域名枚举工具

Mallory: 可扩展的 TCP/UDP 中间人代理工具,可以实时修改非标准协议

Pytbull: 灵活的 IDS/IPS 测试框架(附带超过300个测试样例)

调试和逆向工程

Paimei: 逆向工程框架,包含PyDBG, PIDA , pGRAPH

Immunity Debugger: 脚本 GUI 和命令行调试器

mona.py: Immunity Debugger 中的扩展,用于代替 pvefindaddr

IDAPython: IDA pro 中的插件,集成 Python 编程语言,允许脚本在 IDA Pro 中执行

PyEMU: 全脚本实现的英特尔32位仿真器,用于恶意软件分析

pefile: 读取并处理 PE 文件

pydasm: Python 封装的libdasm

PyDbgEng: Python 封装的微软 Windows 调试引擎

uhooker: 截获 DLL 或内存中任意地址可执行文件的 API 调用

diStorm: AMD64 下的反汇编库

python-ptrace: Python 写的使用 ptrace 的调试器

vdb/vtrace: vtrace 是用 Python 实现的跨厅陆余平台调试 API, vdb 是使用它的调试器

Androguard: 安卓应用程序的逆向分析工具

Capstone: 一个轻量级的多平台多架构支持的反汇编框架。支持包括ARM,ARM64,MIPS和x86/x64平台

PyBFD: GNU 二进制文件描述(BFD)库的 Python 接口

Fuzzing

Sulley: 一个模糊器开发和模糊测试的框架,由多个可扩展的构件组成的

Peach Fuzzing Platform: 可悉薯扩展的模糊测试框架(v2版本 是用 Python 语言编写的)

antiparser: 模糊测试和故障注入的 API

TAOF: (The Art of Fuzzing, 模糊的艺术)包含 ProxyFuzz, 一个中间人网络模糊测试工具

untidy: 针对 XML 模糊测试工具

Powerfuzzer: 高度自动化和可完全定制的 Web 模糊测试工具

SMUDGE: 纯 Python 实现的网络协议模糊测试

Mistress: 基于预设模式,侦测实时文件格式和侦测畸形数据中的协议

Fuzzbox: 媒体多编码器的模糊测试

Forensic Fuzzing Tools: 通过生成模糊测试用的文件,文件系统和包含模糊测试文件的文件系统,来测试取证工具的鲁棒性

Windows IPC Fuzzing Tools: 使用 Windows 进程间通信机制进行模糊测试的工具

WSBang: 基于 Web 服务自动化测试 SOAP 安全性

Construct: 用于解析和构建数据格式(二进制或文本)的库

fuzzer.py(feliam): 由 Felipe Andres Manzano 编写的简单模糊测试工具

Fusil: 用于编写模糊测试程序的 Python 库

Web

Requests: 优雅,简单,人性化的 HTTP 库

HTTPie: 人性化的类似 cURL 命令行的 HTTP 客户端

ProxMon: 处理代理日志和报告发现的问题

WSMap: 寻找 Web 服务器和发现文件

Twill: 从命令行界面浏览网页。支持自动化网络测试

Ghost.py: Python 写的 WebKit Web 客户端

Windmill: Web 测试工具帮助你轻松实现自动化调试 Web 应用

FunkLoad: Web 功能和负载测试

spynner: Python 写的 Web浏览模块支持 Javascript/AJAX

python-spidermonkey: 是 Mozilla JS 引擎在 Python 上的移植,允许调用 Javascript 脚本和函数

mitmproxy: 支持 SSL 的 HTTP 代理。可以在控制台接口实时检查和编辑网络流量

pathod/pathoc: 变态的 HTTP/S 守护进程,用于测试和折磨 HTTP 客户端

首先,逆向分析是一门技术,也是一门艺术。

其次,安卓逆向同样可细分为应用层APK逆向、安卓设备框架、内核族尘清驱动等逆向、基于安卓的硬件产品逆向等。此处假定楼主说的是第一种逆向。

应用层的逆向分析根据需求的不同,又可细分成APK流程逆向与功能逆向。

流程逆向通常是指简单的对APK运行流程进行分析,此类分析通常可以使用将APK置于沙盒环境中运行捕捉并查看运行结果。这种逆向需求通常不是很多,典型兆前的工种有杀软厂商的病毒分析工程师。

功能逆向相比流程逆向则困难得多。但需求比较普遍。实际逆向分析过程中对功能实现的理解,在很大程度上取决于逆向人员相关的软件开发知识。比如,分析Android程序的JAVA代码就需要掌握基本的Android软件开发的知识。分析so库的代码就需要了解C/C++相关的so库开发的知识。除了基本开发相关的能力外,逆向分析人员还需要具备以下知识:

ARM/X86/MIPS汇编语言-分析so库时可能需要阅读大量的反汇编代码。

常见逆向分析工具的使用-JDGUI/IDA PRO/APKTOOL/JEB/DEX2JAR

常用的安卓程序调试与反调试手段-调试器检测与反检测/脱壳/反混淆

常用的加密与解密算法-好的逆向分析人员需要有快速识别常见加密解密算法的能力

最后,就是多动手,多动手练习是掌握逆向分析技术最兄雹好的方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12444444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存