请教:这个程序一设断点就退出,应该怎么断?
下载地址: http://www.bladeapimonitor.com/download.php
如题,当前版本:3.5.9.8。软件需要注册,否则有30天的使用限制,过期了就不能用。软件没加壳(我查壳的结果是Microsoft Visual C++ v6.0),可以用IDA解析。
程序肯定加入了anti-OD的代码,但用StrongOD可以过,不过一旦下了断点,不超过1秒钟程序就自动退出,请教大侠应该如何是好?
附:以下代码似乎是注册成功的代码,但因为不能在OD中下断点,因此无从验证。
.text:004022D9 loc_4022D9: ; CODE XREF: sub_402200+CDj
.text:004022D9 lea edx, [ebp+psizl]
.text:004022DC push edx ; psizl
.text:004022DD push eax ; c
.text:004022DE push ecx ; lpString
.text:004022DF push [ebp+hdc] ; hdc
.text:004022E2 call ds:GetTextExtentPoint32W
.text:004022E8 push [ebp+h] ; h
.text:004022EB mov eax, [ebp+Rect.right]
.text:004022EE add eax, 14h
.text:004022F1 mov dword ptr [edi+28h], 8
.text:004022F8 push [ebp+hdc] ; hdc
.text:004022FB mov [edi+24h], eax
.text:004022FE call ds:SelectObject
.text:00402304 push dword ptr [esi] ; hWnd
.text:00402306 call ds:GetParent
.text:0040230C push eax ; hWndFrom
.text:0040230D mov ecx, esi
.text:0040230F call sub_40127C
.text:00402314 mov eax, [edi+1Ch]
.text:00402317 mov eax, [eax+24h]
.text:0040231A cmp [eax+4], ebx
.text:0040231D jz short loc_40235D
.text:0040231F mov edi, ds:GetDlgItem
.text:00402325 push 3F7h ; nIDDlgItem
.text:0040232A push dword ptr [esi] ; hDlg
.text:0040232C call edi ; GetDlgItem
.text:0040232E push offset aRegisteredOk ; "Registered OK!"
.text:00402333 push eax ; hWnd
.text:00402334 call ds:SetWindowTextW
.text:0040233A push ebx ; lParam
.text:0040233B push 1 ; wParam
.text:0040233D push 0CFh ; Msg
.text:00402342 push 3F7h ; nIDDlgItem
.text:00402347 push dword ptr [esi] ; hDlg
.text:00402349 call ds:SendDlgItemMessageW
.text:0040234F push 1 ; nIDDlgItem
.text:00402351 push dword ptr [esi] ; hDlg
.text:00402353 call edi ; GetDlgItem
.text:00402355 push ebx ; bEnable
.text:00402356 push eax ; hWnd
.text:00402357 call ds:EnableWindow
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课