首页
社区
课程
招聘
[原创]ret-sync插件:windbg/ollydbg+ida逆向调试神器
发表于: 2019-7-15 23:04 39523

[原创]ret-sync插件:windbg/ollydbg+ida逆向调试神器

2019-7-15 23:04
39523

1.首先在IDA中加载待调试的二进制,保存(Ctrl+W)生成idb文件。本文用Crackmes.cf中Level1的#ParadoxX做示例,加载AC1D.Materie.exe并保存,最终生成AC1D.Materie.idb,如图:

ida有不少主流调试器的扩展插件,如windbg/gdb等,可以在静态分析的基础上动态调试二进制文件。可是众多调试器扩展中没有兼顾ollydbg,难免觉得是一项缺憾。

    最近在github上发现一个插件:ret-sync,不仅弥补了ida对ollydbg支持的空白,还额外支持x64dbg/lldb等调试器:

1.虽然作者建议使用vs2017生成插件,但由于vs2017的bug,建议换用其他低版本编译器。笔者发现vs2013亦能生成插件。

2.编译生成的windbg扩展,需要区分x86/x64版本。x86的dll放到C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\winext目录下;相应的,x64的dll放到C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext目录下。编译生成的ollydbg1扩展,放到ollydbg1菜单栏Options-Appearance-"UDD path"所指定的路径:

1.虽然作者建议使用vs2017生成插件,但由于vs2017的bug,建议换用其他低版本编译器。笔者发现vs2013亦能生成插件。

2.编译生成的windbg扩展,需要区分x86/x64版本。x86的dll放到C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\winext目录下;相应的,x64的dll放到C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext目录下。编译生成的ollydbg1扩展,放到ollydbg1菜单栏Options-Appearance-"UDD path"所指定的路径:

3.笔者使用的是IDA Pro 7.0 。由于IDA7.0内置了python2.7且支持x64位系统,因此,需要额外安装python2.7 x86-64版本,否则遇到诸如<总结IDA遇到的python问题>一文中提到的各种奇葩问题。

4.将ext_ida目录下的所有文件拷贝到IDA的plugins目录中:

3.笔者使用的是IDA Pro 7.0 。由于IDA7.0内置了python2.7且支持x64位系统,因此,需要额外安装python2.7 x86-64版本,否则遇到诸如<总结IDA遇到的python问题>一文中提到的各种奇葩问题。

4.将ext_ida目录下的所有文件拷贝到IDA的plugins目录中:

使用插件

1.首先在IDA中加载待调试的二进制,保存(Ctrl+W)生成idb文件。本文用Crackmes.cf中Level1的#ParadoxX做示例,加载AC1D.Materie.exe并保存,最终生成AC1D.Materie.idb,如图:


2.IDA中启动rer-sync插件,Edit-Plugins-"ret sync":

此时会弹出ret sync插件的窗口,如果前面的环境搭建正确,IDA的Output窗口会输出:


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 11
支持
分享
最新回复 (68)
雪    币: 235
活跃值: (127)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
感谢分享!
最后于 2019-7-15 23:15 被Sampgirl编辑 ,原因:
2019-7-15 23:15
0
雪    币: 57
活跃值: (1871)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个不错,赞一个!
2019-7-15 23:30
0
雪    币: 1421
活跃值: (1702)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
有没有编译好的方便我等伸手党
2019-7-15 23:32
0
雪    币: 6129
活跃值: (4966)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
这个插件的成因其实是因为,IDA自带的动态调试太慢了。
2019-7-16 02:25
1
雪    币: 12208
活跃值: (1990)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
6
必须支持一下的插件,感谢分享
2019-7-16 08:09
0
雪    币: 2233
活跃值: (2821)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
有点复杂
2019-7-16 08:40
0
雪    币: 3148
活跃值: (244)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
ida导出个map文件让od加载一下,那个函数名什么的就都和ida里一样了
2019-7-16 09:38
0
雪    币: 1421
活跃值: (1702)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
只在win7 x64 + vs2012环境下编了一个x32dbg的版本,我自己能用
上传的附件:
2019-7-16 10:37
0
雪    币: 1790
活跃值: (4550)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
我之前看好像不支持IDA7.0,现在可以支持了吗?
2019-7-16 11:33
0
雪    币: 1855
活跃值: (6055)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
OD不能附加?
2019-7-16 12:35
0
雪    币: 1669
活跃值: (4632)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
od1/2编译版本,vs2013版本,其他没编译成功
最后于 2019-7-17 00:26 被方向感编辑 ,原因:
上传的附件:
2019-7-17 00:25
0
雪    币: 287
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
这个插件可真是方便啊,同时开着调试更清晰了
2019-7-17 03:42
0
雪    币: 1669
活跃值: (4632)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
14
谁能提供一个x64dbg版的编译好的插件
2019-7-18 23:52
0
雪    币: 206
活跃值: (453)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这个插件确实好用.学习了.感谢大神分享!
2019-7-20 01:04
0
雪    币: 5182
活跃值: (2680)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
mark
2019-7-20 08:25
0
雪    币: 1234
活跃值: (1651)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
win10+vs2017  x64dbg  ret-sync  32位 64位 

上传的附件:
2019-7-20 16:42
1
雪    币: 5865
活跃值: (5417)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
labeless 比这个好用吧?
2019-7-20 23:33
0
雪    币: 802
活跃值: (4458)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
19
wx_时光_477781 labeless 比这个好用吧?
我试试
2019-7-25 20:27
0
雪    币: 802
活跃值: (4458)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
20
拍拖 我之前看好像不支持IDA7.0,现在可以支持了吗?
可以啊 
6.x要自己装python模块
2019-7-25 20:27
0
雪    币: 1564
活跃值: (3567)
能力值: ( LV13,RANK:420 )
在线值:
发帖
回帖
粉丝
21
我用OD和x64dbg测试,ida里面好像就只有个同步到当前行的功能.
2019-7-25 23:17
0
雪    币: 1669
活跃值: (4632)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
22
在线用vs2017编译好的所有版本下载连接为:
3a7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1k6i4k6Q4x3X3g2S2P5Y4g2J5k6g2)9J5k6h3y4G2L8g2)9J5c8X3u0G2L8%4c8D9k6h3N6V1k6i4k6Q4x3V1k6J5k6i4c8Q4x3X3c8K6P5h3&6U0i4K6u0V1M7X3g2D9k6h3q4K6k6g2)9J5c8W2)9#2k6X3u0#2K9h3I4V1
2019-7-26 23:01
1
雪    币: 16645
活跃值: (1950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
来晚了,确实不错,明天白天做个测试录像。
2019-8-15 22:54
0
雪    币: 16645
活跃值: (1950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
[sync] form create

Note: importing 'sip' module into <module '__main__' (built-in)>

Note: importing 'QtWidgets' module into <module '__main__' (built-in)>

[sync] default idb name: CRACKME.EXE

[*] sync enabled

[*] init_broker

[*] cmdline: "C:\Python27\python.exe" -u "C:\Program Files\IDA 7.2\plugins\retsync\broker.py" --idb "CRACKME.EXE"

[sync] name CRACKME.EXE

[sync] module base 0x400000

[sync] hexrays not available

[*] broker new state: Starting

[*] broker new state: Running

[*] broker started

Shortcut F2 is used for two actions:

@IDC:py_hotkeycb_0000021F2B091480

BreakpointToggle

Shortcut for "BreakpointToggle" will be disabled.

Shortcut F2 is used for two actions:

@IDC:py_hotkeycb_0000021F2B091480

hexview:EditOrApplyChanges

Shortcut for "hexview:EditOrApplyChanges" will be disabled.

Shortcut Ctrl+F2 is used for two actions:

@IDC:py_hotkeycb_0000021F2B5B1B88

ProcessExit

Shortcut for "ProcessExit" will be disabled.

Shortcut Ctrl+F1 is used for two actions:

@IDC:py_hotkeycb_0000021F2B5B1C18

ExternalHelp

Shortcut for "ExternalHelp" will be disabled.

Shortcut Alt+F2 is used for two actions:

@IDC:py_hotkeycb_0000021F2B5B1C60

ManualInstruction

Shortcut for "ManualInstruction" will be disabled.

Shortcut F11 is used for two actions:

@IDC:py_hotkeycb_0000021F2B5B1D38

FullScreen

Shortcut for "FullScreen" will be disabled.

Shortcut Ctrl+F1 is used for two actions:

@IDC:py_hotkeycb_0000021F2B5B1D80

@IDC:py_hotkeycb_0000021F2B5B1C18

"@IDC:py_hotkeycb_0000021F2B5B1C18" will be deleted.

[*] << broker << dispatcher not found, trying to run it

[*] << broker << dispatcher now runs with pid: 1444

[*] << broker << connected to dispatcher

[*] << broker << listening on port 64883

[sync] restarting broker

[*] << broker << received kill notice

[*] broker new state: Not running

[*] broker finished

[*] sync disabled


[*] sync enabled

[*] init_broker

[*] cmdline: "C:\Python27\python.exe" -u "C:\Program Files\IDA 7.2\plugins\retsync\broker.py" --idb "CRACKME.EXE"

[sync] name CRACKME.EXE

[sync] module base 0x400000

[sync] hexrays not available

[*] broker new state: Starting

[*] broker new state: Running

[*] broker started

Shortcut Ctrl+F1 is used for two actions:

@IDC:py_hotkeycb_0000021F2B5C3288

@IDC:py_hotkeycb_0000021F2B5C3120

"@IDC:py_hotkeycb_0000021F2B5C3120" will be deleted.

[*] << broker << dispatcher not found, trying to run it

[*] << broker << dispatcher now runs with pid: 5140

[*] << broker << connected to dispatcher

[*] << broker << listening on port 64888

Command "JumpAsk" failed

Command "JumpAsk" failed

Command "JumpAsk" failed

[*] << broker << dispatcher connection error, quitting

[*] broker new state: Not running

[*] broker finished

[sync] idb is disabled

为什么 这个信息呢? .idb文件放哪里? 是给OD用的吗?

最后于 2019-8-16 10:14 被killbr编辑 ,原因:
2019-8-16 06:54
0
雪    币: 16645
活跃值: (1950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
是这个吧 9ceK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6T1L8$3!0@1L8r3g2Y4i4K6u0r3M7X3g2@1i4K6u0V1M7%4W2F1j5H3`.`.
2019-8-16 06:57
0
游客
登录 | 注册 方可回帖
返回