ida 安装插件_retsync同步调试插件介绍

ret-sync 是一组插件,用于WinDbg/GDB/LLDB/OllyDbg2/x64dbg等调试器与IDA/Ghidra的同步,实现调试会话与反汇编视图的同步,支持动态上下文与静态分析的结合。主要功能包括同步视图、实时重定位、数据传递等。该工具适用于远程调试、模块名称不匹配和缺失PID的情况,支持多种调试器和反汇编器,并提供了详细的安装和配置指南。
摘要由CSDN通过智能技术生成

95f8e07ff878687b78622def8007f002.gif

ret-sync是一组插件,用于同步WinDbg/GDB/LLDB/OllyDbg2/x64dbg 调试会话的插件。

7f5e7aa9a657ebb1a56e74f67b4f5434.png

ret-sync

ret-sync的英文全称是 Reverse-Engineering Tools SYNChronization(反向工程工具同步)。它是一组帮助调试会话(WinDbg/GDB/LLDB/OllyDbg/OllyDbg2/x64dbg)与反汇编程序(IDA/Ghidra)同步的插件。其基本思想很简单:从两个不同的状态(静态和动态分析)中获取最佳结果。

调试器和动态分析为我们提供:

1. 带有动态上下文(寄存器、内存等) 的本地视图;

2. 内置专门的功能或API,例如:WinDbg的!peb, !drvobj, !address等。

反汇编和静态分析为我们提供:

1. 模块宏视图;

2. 代码分析、签名、类型等;

3. 形象的图形视图;

4.反编译;

5.在IDB / GPR中持久存储知识。

主要功能:

1. 将图形和带有调试器状态的反编译视图同步;

2. 无需处理ASLR,可实时重新定位地址;

3. 将数据(注释、命令输出)从调试器传递到反汇编器;

4. 多个IDB / GPR可以同时同步,从而可以轻松地跟踪多个模块;

5. 反汇编器和调试器可以位于不同的主机或VM上。

ret-sync是我在Quarkslab期间开发和维护的一个qb-sync分支。

7f5e7aa9a657ebb1a56e74f67b4f5434.png

存储库介绍

调试器插件:

ext_windbg / sync:WinDbg扩展源文件,生成:sync.dll

ext_gdb / sync.py:GDB插件

ext_lldb / sync.py:LLDB插件

ext_olly1:OllyDbg 1.10插件

ext_olly2:OllyDbg v2插件

ext_x64dbg:x64dbg插件

以及反汇编程序插件:

ext_ida / SyncPlugin.py

ext_ghidra / dist / ghidra _ * _ retsync.zip:Ghidra插件

7f5e7aa9a657ebb1a56e74f67b4f5434.png

运行的前提条件

IDA和GDB插件需要一个有效的Python设置来支持python2和python3。还需要argparse模块,它默认包含在2.7和更高版本的Python标准库中。

7f5e7aa9a657ebb1a56e74f67b4f5434.png

二进制发行版

针对WinDbg/OllyDbg/OllyDbg2/x64dbg调试器的预构建二进制文件是通过Azure DevOps管道提出的:

选择最后一个版本,然后在“Related”部分6 published中进行检查。

7f5e7aa9a657ebb1a56e74f67b4f5434.png

在ext_ghidra/dist中提供了Ghidra插件的预构建文档

ret-sync配置

对于大多数使用典型设置的用户而言,ret-sync应该是开箱即用的:调试器和反汇编器位于相同的主机上,模块名称匹配。

在某些情况下,仍可以使用特定配置。为此,扩展程序和插件会在用户的主目录中检查名为.sync的可选全局配置文件,它必须是有效的.INI文件。

此外,IDA和Ghidra插件还将首先在IDB或项目目录(  <   project   >   .rep)中查找配置文件,以允许按IDB /项目进行本地设置。如果存在本地配置文件,则忽略全局配置文件。

在这些配置文件中声明的值将覆盖默认值,请注意,默认情况下不创建.sync文件。

下面我们详细介绍三个配置文件有用/需要的常见场景:

1. 远程调试;

2. 模块名称不匹配;

3. 缺失的PID。

远程调试:调试器和反汇编器位于不同的主机上

[INTERFACE]部分用于自定义与网络相关设置,让我们假设有人希望将IDA与运行在虚拟机或另一个主机中的调试器进行同步,这是常见的远程内核调试场景。

简单地创建两个.sync文件:

一个在安装了IDA的计算机上的IDB目录中:

79f723d0eecf15b3668ef71ff4164375.png

它告诉ret-sync IDA插件使用端口9234在接口192.168.128.1上进行侦听,所以,该接口必须可以从远程主机或虚拟机访问。

另一个在执行调试器的计算机上,位于用户的主目录中:

7643573493cf8a90b0b2db28a35364f2.png

它告诉ret-sync调试器插件连接到之前配置为在此接口中监听的ret-sync IDA插件。

注意:你必须在此处指定一个真实IP,而不要使用0.0.0.0。这是因为该变量同时被多个源用于绑定和连接,因此使用0.0.0.0将导致奇怪的错误。

IDB和调试器模块名称不同

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值