首页
社区
课程
招聘
[原创]OD1.1 ClsProc负数问题修正
发表于: 2014-6-7 02:12 5497

[原创]OD1.1 ClsProc负数问题修正

2014-6-7 02:12
5497
在调试Unicode窗口程序时,对窗口下消息断点OD的Windows窗口中的ClsProc的值显示的是负数(如0xFFFFxxxx),这样调试起来很不便。

    原因是不管哪种窗口,OD调用的都是GetClassLongA(hWnd, GCL_WNDPROC)。这在Ansi窗口时是没问题的,但是用于Unicode的就会返回负数。

    本插件Hook了GetClassLongA,判断nIndex是否为GCL_WNDPROC,且返回值是否为负数,如果满足这两个条件则转去调用GetClassLongW并返回。

用DELPHI写的,DLL大了点 80多K

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 3545
活跃值: (1872)
能力值: ( LV6,RANK:93 )
在线值:
发帖
回帖
粉丝
2
不错,虽然没怎么用这个功能,没想到是OD的一个bug
2014-6-7 12:22
0
雪    币: 102
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最近在调试一个Unicode的程序发现这个问题。在网上看到说是OD的BUG,就写了这个插件。 论坛帐号也注册几年了,平时都是学习。技术很菜,这次遇到个能解决的,给大家做点小贡献了。
2014-6-8 16:13
0
游客
登录 | 注册 方可回帖
返回
//