1. 首页
  2. 网络安全工具

Dwarf 基于Pyqt5和Frida的逆向分析调试工具

Dwarf 基于Pyqt5和Frida的逆向分析调试工具

今天给大家介绍的是一款名叫Dwarf的逆向分析调试工具,该工具基于Pyqt5和Frida实现,专为逆向工程师、安全破解人员和安全分析专家设计。

Dwarf

Dwarf本质上是一款调试器,这个项目起初知识想使用PyQt来给Frida增加一个有好的UI界面,并且主要用于Android端。但是通过开发人员的努力之后,该工具已经支持iOS端了。目前,得益于整个社区的共同努力,该工具已完全开源,并且支持对任何类型的操作系统进行分析,并运行在任意桌面端操作系统。

功能介绍

多系统多平台支持

Dwarf基于PyQt5实现,可以直接在任何支持Python的操作系统上运行,并且使用了Frida作为后端,功能得到了稳定保证。

动态分析

允许执行动态指令,我们的Frida代理会在目标系统中加载,并允许我们设置断点。除此之外,它还可以终端模块构造器来帮助我们构造初始化函数。而且跟踪器、寄存器和其他功能模块可以帮助我们降低逆向分析的调试难度。

静态分析

我们构建了多种功能插件来扩展Dwarf的功能,它们可以帮助我们快速完成后端模块分析以及模拟。而且还提供了一套工具集和两个控制台接口来接收JavaScript以及Python脚本。

自动化

很多研究人员在调试和分析的过程中,都会想要让很多任务完成得快一点,尤其是那些重复性工作,Dwarf就可以帮助大家加速这个过程。

可以生成大量命令行参数并将它们注入到目标代理中,例如:

python3 dwarf.py -t android -sp -p com.android.target -s myagent.js

提供了JavaScript API来添加钩子和断点。

提供了API来控制目标程序。

可扩展

Dwarf内置的插件系统允许我们注入PyQt小工具,并通过多个Dwarf代码Python API来与目标设备进行交互。插件还允许我们注入自定义Frida代理来扩展或创建新的JavaScript API。

工具安装

工具要求

1、Frida服务器;

2、Python 3;

安装与运行:

git clone https://github.com/iGio90/Dwarf

cd Dwarf

pip3 install -r requirements.txt

python3 dwarf.py

可选项

你还可以通过下列方式安装Dwarf:

sudo python3 setup.py install

然后运行下列命令即可使用工具:

dwarf /bin/man open

dwarf -t android –s myagent.js -sp com.target

工具配置

我们可以将下列代码拷贝至.dwarf中:

“dwarf_ui_hexedit_bpl”:32 (default: 16) – Bytes per line in hexview

“dwarf_ui_hexstyle”:“upper”, “lower” (default: “upper”) – overallhexstyle 0xabcdef or 0xABCDEF (note: click on the “Offset (X)” inhexview to change)

“dwarf_ui_font_size”:12 (default: 12) – (note: hexview/disasm use other font wait for settingsdlg orchange lib/utils.py get_os_monospace_font())

项目地址

Dwarf

文章来源:【安全时代】 原文链接:https://www.agesec.com/tool/7070.html

安全时代全部内容仅适用于网络安全技术爱好者学习研究,学习中请遵循国家相关法律法规。

安全时代全部数据来源互联网,不代表安全时代立场,如侵犯您权益可邮箱联系我们,详情:版权纠纷

发表评论

电子邮件地址不会被公开。 必填项已用*标注