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

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

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

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

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

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

[培训]《安卓高级研修班(网课)》月薪三万计划

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