首页
社区
课程
招聘
[原创]记录一下使用ret-sync进行x64dbg和ida联调中遇到的问题
2023-2-3 18:14 11117

[原创]记录一下使用ret-sync进行x64dbg和ida联调中遇到的问题

2023-2-3 18:14
11117

本文记录一下在安装ret-sync进行x64dbg和ida联调过程中遇到的问题

1. 配置IDA的python环境

1.1 安装ida

自行下载,我这里使用的是ida7.5

1.2 安装python

我这里安装了python2.7.10x64和python3.8.1.x64

1.3 配置ida的python环境

配置ida的python环境是按照https://bbs.kanxue.com/thread-264346.htm文中讲的来配置的,提供四个bat文件,根据不同的python环境需求分别启动:

  1. ida64+python2
  2. ida32+python2
  3. ida64+python3
  4. ida32+python3

ida7564_py27.bat:

1
2
3
4
5
@rem 7564_27.bat file for bootstrap ida.exe with py2
@set path=C:\Python27;C:\Python27\Scripts;C:\Python27\Library\bin;C:\Python27\Lib;C:\Python27\DLLs;C:\CR\Tools\IDA Pro 7.5 SP3\python\2;%path%
@set PYTHONPATH=C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;
@echo . > "C:\CR\Tools\IDA Pro 7.5 SP3\python\use_python2"
@start ida64.exe

ida7532_py27.bat:

1
2
3
4
5
@rem 7532_27.bat file for bootstrap ida.exe with py2
@set path=C:\Python27;C:\Python27\Scripts;C:\Python27\Library\bin;C:\Python27\Lib;C:\Python27\DLLs;C:\CR\Tools\IDA Pro 7.5 SP3\python\2;%path%
@set PYTHONPATH=C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;
@echo . > "C:\CR\Tools\IDA Pro 7.5 SP3\python\use_python2"
@start ida.exe

ida7564_py38.bat:

1
2
3
4
5
@rem 7532_38.bat file for bootstrap ida.exe with py3
@del "C:\CR\Tools\IDA Pro 7.5 SP3\python\use_python2"
@set path=C:\Python38;C:\Python38\Scripts;C:\Python38\Library\bin;C:\Python38\Lib;C:\Python38\DLLs;C:\CR\Tools\IDA Pro 7.5 SP3\python\3;%path%
@set PYTHONPATH=C:\Python38\Lib;C:\Python38\DLLs;C:\Python38\Lib\lib-tk;
@start ida64.exe

ida7532_py38.bat:

1
2
3
4
5
@rem 7532_38.bat file for bootstrap ida.exe with py3
@del "C:\CR\Tools\IDA Pro 7.5 SP3\python\use_python2"
@set path=C:\Python38;C:\Python38\Scripts;C:\Python38\Library\bin;C:\Python38\Lib;C:\Python38\DLLs;C:\CR\Tools\IDA Pro 7.5 SP3\python\3;%path%
@set PYTHONPATH=C:\Python38\Lib;C:\Python38\DLLs;C:\Python38\Lib\lib-tk;
@start ida.exe

通过四个bat文件来启动ida,就不用添加环境变量,以免污染机器上的其他环境变量

 

注意将我的python路径替换成你自己的

2. 安装ret-sync

下载地址:https://github.com/bootleg/ret-sync

2.1 ida的配置

下载下来之后,文件ret-sync-master\ext_ida中就包含了ida的插件,将下面这个文件夹中的文件复制到IDA Pro 7.5 SP3\plugins

2.2 x64dbg的配置

x64dbg的插件没有提供二进制文件,而是提供了vs的工程,那就自己编译一下,我这里的环境是win11+vs2022

 

编译成功之后将x64dbg_sync.dp64x64dbg_sync.dp32分别复制到x64dbg\release\x64\pluginsx64dbg\release\x32\plugins

3. 使用ret-sync

3.1 ida使用

首先启动ida,打开edit-plugins>ret-sync,勾选Synchronization enable,服务端就起来了

 

但是我就在这里遇到了问题,提示端口被占用了:

1
[sync] << broker << beacon not received (possible dispatcher error, please ensure that port 9100 is available)

现在有两种解决方案:

  1. 关掉占用端口的进程
  2. 修改ret-sync所需要的端口

这里我选择第二种方案

3.2 解决端口占用问题

修改端口肯定是服务端和客户端都需要修改,服务端的ida的插件,是一个py脚本,那好说,直接搜索9100,修改成9101

 

然后x64dbg的插件是客户端,那就需要修改源文件重新编译,这里需要修改两处:


重新编译之后复制到x64dbg的插件文件夹去

 

这样端口占用的问题就解决了

3.3 x64dbg使用

用ida打开目标exe,然后启动插件:

用x64dbg调试目标exe,点击插件->SyncPlugin->Enable sync

成功连接服务器的话下面状态栏会有提示

 

此时如果x64ddbg调试的是ida打开的exe的主模块,那么ida也会在单步调试的指令处标黄色,调试起来非常直观

 

到这里ret-sync的安装和使用就好了,不过我有一个小问题请教各位大佬?ida把小窗口拖出来变成浮动之后,怎么还原回去?


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2023-2-3 18:37 被st0ne编辑 ,原因: 分类搞错了
上传的附件:
收藏
点赞7
打赏
分享
最新回复 (11)
雪    币: 4720
活跃值: (6212)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
霸气压萝莉 2023-2-5 01:04
2
1
IDA浮窗上边框下面有个很细的条,长按拖拽选择放置位置即可
雪    币: 2656
活跃值: (3730)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
值得怀疑 2023-2-5 10:41
3
0
在x64dbg 单步时候一直会切到ida窗口···
雪    币: 2099
活跃值: (3756)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
st0ne 1 2023-2-5 23:40
4
0
值得怀疑 在x64dbg 单步时候一直会切到ida窗口···
两个屏幕调试挺爽的
雪    币: 2099
活跃值: (3756)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
st0ne 1 2023-2-5 23:40
5
0
霸气压萝莉 IDA浮窗上边框下面有个很细的条,长按拖拽选择放置位置即可
感谢大哥
雪    币: 2656
活跃值: (3730)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
值得怀疑 2023-2-6 15:15
6
0
st0ne 两个屏幕调试挺爽的
是啊,可是我买的是34寸的,放不了第二个了, 2个屏幕会不会更要电和显卡使用的更多?
雪    币: 2099
活跃值: (3756)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
st0ne 1 2023-2-7 14:36
7
0
值得怀疑 是啊,可是我买的是34寸的,放不了第二个了, 2个屏幕会不会更要电和显卡使用的更多?
一个显卡就行,要不了多少电的
雪    币: 1406
活跃值: (3191)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
方向感 2023-2-10 12:07
8
0
值得怀疑 在x64dbg 单步时候一直会切到ida窗口···
可以将x64dbg 程序置顶,但是焦点还是会自动跑到ida中,没找到ret-sync的ida插件的相关代码
雪    币: 2656
活跃值: (3730)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
值得怀疑 2023-2-12 11:37
9
0
方向感 可以将x64dbg 程序置顶,但是焦点还是会自动跑到ida中,没找到ret-sync的ida插件的相关代码
应该是ida的问题
雪    币: 2656
活跃值: (3730)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
值得怀疑 2023-3-27 17:36
10
0
方向感 可以将x64dbg 程序置顶,但是焦点还是会自动跑到ida中,没找到ret-sync的ida插件的相关代码
是啊,跑到ida也 单步那些快捷键也用不了···
雪    币: 2656
活跃值: (3730)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
值得怀疑 2023-3-27 17:38
11
0
st0ne 两个屏幕调试挺爽的
我买了个便携屏,一样会抢焦点··副屏的窗口或得焦点了,xdbg就快捷键没用了,你双屏可以?怎么搞的?
雪    币: 218
活跃值: (685)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
szukodf 2023-7-18 15:30
12
0

retsync有人试过gdb的使用吗

最后于 2023-7-18 15:30 被szukodf编辑 ,原因:
游客
登录 | 注册 方可回帖
返回