-
-
[原创]解决VB程序的灰色复选框
-
发表于:
2011-11-18 22:27
5405
-
1、软件为VB编写,此灰色复选框在一个对话框上,用什么突破克星之类的工具可以点亮,但毕竟每次都要用工具才能点亮,不方便,所以动脑筋解决它。在网上查了很多资料,有资源编辑法、816C24法、查按钮事件法等,都是针对按钮控件的,而本次要解决的是一个复选框,都不管用,直接下bpx EnableWindow 断点也断不下来。
2、OD载入,运行软件,bpx CreateWindowExA,点击打开这个对话框的菜单,会不停的被断下,注意忽略无关的中断,眼睛紧盯堆栈窗口,Form载入后开始载入里面的控件了。假设这个复选框的Caption为“蛋炒饭”,当堆栈窗口出现“蛋炒饭”时,可看到它的 hwnd,下面还有一个 Enable=FALSE,就是这个值让它显示灰色的。可直接编辑这个值为1,继续运行就点亮了。
3、目标出现了以后开始F8单步运行,直至返回程序领空,可见代码:
00CB5FB6 . 50 push eax
00CB5FB7 . 52 push edx
00CB5FB8 . FFD7 call edi
00CB5FBA 66:8B0D 2CA21A01 mov cx, word ptr [11AA22C] <---给cx赋值为1就OK了
00CB5FC1 . 8BD8 mov ebx, eax
00CB5FC3 . 51 push ecx
00CB5FC4 . 53 push ebx
00CB5FC5 . 8B03 mov eax, dword ptr [ebx]
00CB5FC7 . FF90 94000000 call dword ptr [eax+94]
00CB5FCD . 85C0 test eax, eax <---返回到这里
00CB5FCF . DBE2 fclex
00CB5FD1 . 7D 12 jge short 00CB5FE5
4、上面的 word ptr [11AA22C] 的值为0,把这里改成 mov cx, 1 ,over
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)