本文记录一下在安装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环境需求分别启动:
- ida64+python2
- ida32+python2
- ida64+python3
- 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_sync.dp64
和x64dbg_sync.dp32
分别复制到x64dbg\release\x64\plugins
和x64dbg\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)
|
现在有两种解决方案:
- 关掉占用端口的进程
- 修改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把小窗口拖出来变成浮动之后,怎么还原回去?
更多【记录一下使用ret-sync进行x64dbg和ida联调中遇到的问题】相关视频教程:www.yxfzedu.com