首页
社区
课程
招聘
[分享]我自写自用的调试器x32和x64位
2017-4-26 20:51 66526

[分享]我自写自用的调试器x32和x64位

2017-4-26 20:51
66526

起因:

在以往的逆向中,总觉得OD有些不方便的地方.在调试器中,楼主个人比较喜欢Windbg 这种调试器,窗口想怎么拖,想怎么停靠都行,随心所欲.也没有IDA那种鼠标跟随显示反汇编的小窗口等等,其次就是OD的更新太慢了,几年才更新一次,要等OD64位版本不知道还要等多少年,虽然现在已有64位的调试器x64dbg,更新也很频繁,但跟OD还是有一段距离

综合种种原因,让楼主突然想到毛爷爷曾经说过 自己动手,丰衣足食”,所以楼主决定积极响应号召,就自己动手吧,而且身为一枚逆向人员,有款自己的调试器,在逆向上还是很方便的.于是楼主投入了很多的业余时间,断断续续写了很久….很久

YzDbg介绍:

它是一款类似OD32/64调试器(其中64位版本即能调试32位程序也能调试64位程序), 基于MFC多文档界面开发的,由楼主一人独立完成,开发环境为vs2010,界面全部采用GDI自绘,方便编译,如果用第三方界面库的话,编译太麻烦了(楼主不喜欢,呵呵),而且GDI使用比较灵活想怎么画就怎么画.汇编引擎采用XEDParse, 反汇编引擎采用BeaEngine,模拟器引擎采用unicorn.

因为用OD很多年了,已经养成了一些OD的使用习惯,所以在功能上和用户体验上全部山寨OD,因此大部分功能都是逆向OD而来.

目前OD1的功能,除了Ctrl+A分析功能,还没时间写,其他都写完了,然后看到OD2.0x64dbg中有一些不错的功能也都加进来了,还有一些如IDA的鼠标跟随显示小窗口,硬件条件断点,类似CE的地址监视功能,也都写了.

之后又看到<软件保护及分析技术>一书中提到的伪调试引擎和模拟器, 这两功能觉得不错也写了, 伪调试引擎可以用来过一般的壳检测(vmp),至于驱动保护,那就得自己写驱动过了.而模拟器可以用来模拟执行代码,同时不影响真实的执行环境,用来跟踪调试还是不错的.

总之就是看到什么功能好加什么功能,尽量给调试带来方便,呵呵

至于反编译的功能,本来想加入Snowman,但是Snowman反编译出来的代码效果不好,IDAF5没法比..所以还是不加了..

另外支持的系统有xp32/64,win2003 32/64, win2008 32/64win7 32/64,win8 32/64,win10 32/64, win Vista 32/64,这些楼主都简单的测试过,不过win7 64位因为楼主一直用这个系统,所以基本上这个系统没什么问题,其他系统就不好说了,毕竟其它系统只是简单的测试

YzDbg已实现的功能:

基本的调试功能(单步,忽略异常单步,执行到返回,自动步进/步过等等)

支持int3断点,硬件断点,内存断点,消息断点等

支持源码调试

支持解析pdb符号文件,解析导入库文件,解析API参数

支持插件

支持脚本,脚本是在ODbgScript源码的基础上改的,所以用法跟ODbgScript一模一样,应该也能兼容大部分的OD脚本,这里对ODbgScript的作者表示感谢

支持模拟器调试,能够在模拟器上进行模拟调试,用来分析算法还是可以的

支持调试dll

支持解析map文件,ida或者vs

支持命令行,目前支持的命令有 ddumpdbdwdddqdf32df64df80dadudutf8dasmbpbcmrmwmc,若大家需要,后续可以再继续添加命令,不过楼主一般都只用dd..

支持简单的条件表达式,表达式的用法跟OD一样

下面给出支持的表达式运算符

( )[ ]!~*/%+-<<>><<=>>===!=&^|&&||insfind(BYTE)(CHAR)(WORD)(SHORT)(DWORD)(INT) (DWORD64)(INT64)(FLOAT)(DOUBLE)(ASCII)(UNICODE)(WINTEXT)

下面给出支持的表达式运算操作数

常规寄存器,eax,ax,ah,al

如果表达式中出现符号,如api,会自动把符号转换成地址,进行计算

64位版本的操作数 支持 r8-r15.

这里注意下,表达式中若有数字,将会视为十六进制数

给个例子如: [eax] == 00401000

还有很多功能,这里不一一介绍,大家可以自己去发现 ^_^

用法跟OD一模一样,简单的说,你会用OD,你就会用它,如果你不会用OD,可以百度OD的用法

至于ODCtrl+A代码分析功能,现在已经在写着,争取在下个版本中加进来,还有什么功能呢?暂时没想到,以后想到什么再加什么吧….


Bug或建议反馈:

因为以前都是楼主一个人在用,能发现的bug有限,而且64位版本是在32位版的基础上修改而来,可能Bug32位版多,而且很多功能楼主仅仅是写了出来,但是都没用过,如消息断点等.因此大家在使用中若是发现有能重现的bug,请及时联系楼主反馈,楼主将会尽快修复

如果大家有好的建议或意见,也可以联系楼主


可以直接回帖进行反馈,也可以用如下方式进行反馈

Q411738567

邮箱:411738567@qq.com

因为楼主时间比较紧,有事请留言说明,看到会回复,望体谅,如果是bug,请尽量描述详细,谢谢


图片展示:

这里以64位版本为例,上几张图片

1.界面介绍


2.显示模式介绍


3.源码调试


4.模拟器调试



由于论坛的上传功能太慢了,一直上传不上来,压缩包切割成5M也很慢!所以只能用网盘的形式提供下载了,没办法

下载地址

https://pan.baidu.com/s/1kUGXhL9



[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞30
打赏
分享
打赏 + 13.00雪花
打赏次数 4 雪花 + 13.00
 
赞赏  严启真   +10.00 2020/01/30 请问下YzDbg什么时候更新啦,在追踪中加入了自动步进功能了吗?只有步过,能增加的话跟踪VM就不错了,热切期待更新版本……
赞赏  一位没有留下痕迹的看雪读者   +1.00 2019/09/06
赞赏  一位没有留下痕迹的看雪读者   +1.00 2017/05/23
赞赏  百事可口   +1.00 2017/05/18
最新回复 (293)
雪    币: 393
活跃值: (224)
能力值: ( LV8,RANK:140 )
在线值:
发帖
回帖
粉丝
BinGzL 1 2017-4-26 21:03
2
0
很久不用od了,更新不易  帮你顶顶
雪    币: 797
活跃值: (1056)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
bambooqj 2017-4-26 21:08
3
0

就佩服你们这群没我帅但是叼大的


没有插件文档...- - 


伪调试引擎试了一下..没有成功过掉壳..0 0


推荐师傅修改一下.进程退出之后 状态改为进程终止..当调试器被壳检测到之后 仍在运行中..

看到了Sign文件 但是 没有找到查到的结果再那里显示..

可能是 没有加入分析功能的缘故..字符串搜索有些问题搜不全..常量搜索也有bug 搜不到东西.字符串搜索 再第一次搜索之后 第二次再搜索无反应.

暂时 只找出了这些问题.条件断点之类的 没有测试..

感谢师傅 提供工具..

雪    币: 5884
活跃值: (3815)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
pxhb 2 2017-4-26 21:14
4
0

哇,好厉害,这得要多久才能完成

既然其他地方都可以仿od,那最最关键的一点,如果支持od的插件,就爽了,

编译出来的文件不知道怎么会这么大,一个小插件就是5MB以上,我觉得应该会很小的

能有一个类似或者仿写的反调试插件就好了类似od的strongOD x64dbg的ScyllaHide

当然比其他调试器好的地方也很多,如果后期大家重视一起去修改,增加一些插件,或者如果可能的话兼容od插件,要不了多久,大家都会去用了

雪    币: 459
活跃值: (647)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
ssarg 2017-4-26 21:19
5
0
不错,支持。
我觉得当个白帽子不错,一边玩技术,一边挣钱。
雪    币: 79
活跃值: (373)
能力值: ( LV11,RANK:195 )
在线值:
发帖
回帖
粉丝
破解pj 1 2017-4-26 21:23
6
0
厉害  不错  支持下,看下好使用不
雪    币: 244
活跃值: (454)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
寧靜致遠 2017-4-26 21:27
7
0
厉害了我的哥。
雪    币: 775
活跃值: (2292)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
AperOdry 2017-4-26 21:35
8
0
发现一把轩辕剑,谢谢楼主的神器
雪    币: 10946
活跃值: (3019)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jiqigouer 2017-4-26 21:58
9
0
强大,专门登录支持一下楼主,能自己写调试工具我觉得很厉害了。希望楼主能不断完善自己调试器,超越OD,另外非常感谢分享。
雪    币: 1361
活跃值: (913)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
sssccc 2017-4-26 21:59
10
1

首先感谢大家的支持
感谢3楼的测试,你用的可能是伪调试引擎模式,这个模式下调试器没有捕捉进程退出事件,之前想过钩API来拦截进程退出事件,不过怕成为一个检测点.所以就不拦截了...你说被壳检查到了,能否告知下是什么壳?我加个壳试试.然后那个Sign文件,你说的是ShellSign.txt这个吗? 这个我从查壳工具找的文件,是壳或编译器的特征码,显示在模块窗口->编译器/外壳 栏中,现在只有32位的特征码,64位还没发现,可能是我没仔细找吧..你说的其它问题能否说得再详细些?我这用着没什么问题啊...


回4楼,兼容OD插件不好做,插件接口不一样.

反调试插件的话,等我有时间会写一个类似sod的插件

然后文件大是因为mfc的关系,编译中我选择的是"在静态库中使用 MFC",所以没办法,所以比较大.呵呵


回9楼,有时间就会一直完善的.

至于插件文档,如果大家有需要,我会整理出来

雪    币: 4928
活跃值: (967)
能力值: ( LV9,RANK:175 )
在线值:
发帖
回帖
粉丝
蚯蚓降龙 2017-4-26 22:49
11
0
蛮像OD的咯,多谢分享
雪    币: 5331
活跃值: (2448)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
chinasmu 2017-4-27 01:43
12
0
对于楼主,我只能说666
雪    币: 152
活跃值: (29)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
RichardE 1 2017-4-27 02:12
13
0
谢谢分享
雪    币: 427
活跃值: (458)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cshcmq 2017-4-27 07:38
14
0
精神可以,不过我关心的是你的重点--过游戏保护成功,产生money没有?
雪    币: 349
活跃值: (1085)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
蓝蓝深海 2017-4-27 08:14
15
0
厉害厉害    感谢分享       
雪    币: 133
活跃值: (233)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
不追浮云的人 2017-4-27 08:38
16
0
这么强大,mfc的图标该美化一下,
雪    币: 222
活跃值: (1826)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
lhglhg 1 2017-4-27 08:56
17
0
如果能过掉强壳。就厉害了。。
雪    币: 3977
活跃值: (744)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gaoan 2017-4-27 10:20
18
0
看看楼主  看看自己    唉  只能膜拜
雪    币: 459
活跃值: (647)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
ssarg 2017-4-27 11:03
19
0
gaoan 看看楼主 看看自己 唉 只能膜拜
看看楼主    看看自己        唉    只能膜拜-------------

-------》自己,哈哈,还是自己比楼主帅!
雪    币: 5052
活跃值: (2547)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
longloo 2017-4-27 12:00
20
0
以后果断扔掉OD了,  直接用楼主的神器
雪    币: 2347
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
空白即是正义 2017-4-27 12:07
21
0
很厉害吖  mark
雪    币: 1617
活跃值: (1811)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
superdos 2017-4-27 14:57
22
0
好样的!!!
雪    币: 29414
活跃值: (18615)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2017-4-27 14:58
23
0
给我份简历,我帮你推荐下:kanxue@pediy.com
雪    币: 1042
活跃值: (455)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Rookietp 2017-4-27 15:57
24
0
下载简单的使用了下,风格个人比较喜欢,特别是能同时调试x32  and  x64,非常方便。希望楼主能坚持更新,修复BUG。加强反反调试。最后希望楼主找份好工作,月入上百万,从此走上巅峰。
雪    币: 6648
活跃值: (902)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kingswb 2017-4-27 16:17
25
0
太牛了,开源下就更好了
游客
登录 | 注册 方可回帖
返回