该dll是红外接收软件grider的插件,每次启动/退出时都会显示如下nag窗口:
用OD载入, bpx MessageBoxA 下断点,找到如下几处:
00903A36 |. BA 28309500 mov edx, 00953028 ; ASCII "Runtime error at 00000000"
00903A3B |. B8 14429500 mov eax, 00954214
00903A40 |. E8 AB1F0000 call 009059F0
00903A45 |. E8 291F0000 call 00905973
00903A4A |. EB 1C jmp short 00903A68
00903A4C |> 803D 10309500>cmp byte ptr [953010], 0
00903A53 |. 75 13 jnz short 00903A68
00903A55 |. 6A 00 push 0 ; /Style = MB_OK|MB_APPLMODAL
00903A57 |. 68 48309500 push 00953048 ; |Title = "Error"
00903A5C |. 68 28309500 push 00953028 ; |Text = "Runtime error at 00000000"
00903A61 |. 6A 00 push 0 ; |hOwner = NULL
00903A63 |. E8 F4D7FFFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
00903A68 |> 33C0 xor eax, eax
00903A6A |. A3 38409500 mov dword ptr [954038], eax
00903A6F |> 807B 24 02 /cmp byte ptr [ebx+24], 2
00903A73 |. 75 0A |jnz short 00903A7F
00903A75 |. 833E 00 |cmp dword ptr [esi], 0
00903A78 |. 75 05 |jnz short 00903A7F
00903A7A |. 33C0 |xor eax, eax
00903A7C |. 8943 0C |mov dword ptr [ebx+C], eax
00903A7F |> E8 48FDFFFF |call 009037CC
00903A84 |. 807B 24 01 |cmp byte ptr [ebx+24], 1
00903A88 |. 76 05 |jbe short 00903A8F
00909347 |. A1 003C9500 mov eax, dword ptr [953C00]
0090934C |. 8B40 04 mov eax, dword ptr [eax+4]
0090934F |. 50 push eax
00909350 |. A1 D4449500 mov eax, dword ptr [9544D4]
00909355 |. E8 A6BBFFFF call 00904F00
0090935A |. 50 push eax ; |hInst
0090935B |. E8 84D9FFFF call <jmp.&user32.LoadStringA> ; \LoadStringA
00909360 |. 68 10200000 push 2010
00909365 |. 8D4424 04 lea eax, dword ptr [esp+4]
00909369 |. 50 push eax
0090936A |. 8D4424 48 lea eax, dword ptr [esp+48]
0090936E |. 50 push eax
0090936F |. 6A 00 push 0
00909371 |. E8 8ED9FFFF call <jmp.&user32.MessageBoxA>
00909376 |> 81C4 40040000 add esp, 440
0090937C \. C3 retn
0090937D 8D40 00 lea eax, dword ptr [eax]
00909380 /$ 8B45 FC mov eax, dword ptr [ebp-4]
00909383 \. C3 retn
00943794 |. 55 push ebp
00943795 |. 68 11389400 push 00943811
0094379A |. 64:FF31 push dword ptr fs:[ecx]
0094379D |. 64:8921 mov dword ptr fs:[ecx], esp
009437A0 |. 53 push ebx
009437A1 |. 57 push edi
009437A2 |. 56 push esi
009437A3 |. 8B45 FC mov eax, dword ptr [ebp-4]
009437A6 |. 8B40 24 mov eax, dword ptr [eax+24]
009437A9 |. 50 push eax
009437AA |. E8 5535FCFF call <jmp.&user32.MessageBoxA>
009437AF |. 8945 F8 mov dword ptr [ebp-8], eax
009437B2 |. 33C0 xor eax, eax
009437B4 |. 5A pop edx
009437B5 |. 59 pop ecx
009437B6 |. 59 pop ecx
0094F2DF |. 50 push eax
0094F2E0 |. B8 70F89400 mov eax, 0094F870 ; ASCII "Serial version is for Windows NT/2000/XP version only"
0094F2E5 |. E8 1245FCFF call 009137FC
0094F2EA |. 50 push eax ; |Text
0094F2EB |. 6A 00 push 0 ; |hOwner = NULL
0094F2ED |. E8 127AFBFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
0094F2F2 |. 8B45 08 mov eax, dword ptr [ebp+8]
0094F2F5 |. 8B40 FC mov eax, dword ptr [eax-4]
0094F2F8 |. 8B80 0C260000 mov eax, dword ptr [eax+260C]
0094F35D |. 50 push eax
0094F35E |. B8 A8F89400 mov eax, 0094F8A8 ; ASCII "Unable to open COM port"
0094F363 |. E8 9444FCFF call 009137FC
0094F368 |. 50 push eax ; |Text
0094F369 |. 6A 00 push 0 ; |hOwner = NULL
0094F36B |. E8 9479FBFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
0094F370 |. 8B45 08 mov eax, dword ptr [ebp+8]
0094F373 |. 8B40 FC mov eax, dword ptr [eax-4]
0094F376 |. 8B80 0C260000 mov eax, dword ptr [eax+260C]
0094F4C5 |. 50 push eax
0094F4C6 |. B8 C0F89400 mov eax, 0094F8C0 ; ASCII "Unable to initialize your COM port to signal monitoring"
0094F4CB |. E8 2C43FCFF call 009137FC
0094F4D0 |. 50 push eax ; |Text
0094F4D1 |. 6A 00 push 0 ; |hOwner = NULL
0094F4D3 |. E8 2C78FBFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
0094F4D8 |. 8B45 08 mov eax, dword ptr [ebp+8]
0094F4DB |. 8B40 FC mov eax, dword ptr [eax-4]
0094F4DE |. 8B80 0C260000 mov eax, dword ptr [eax+260C]
0094FA47 |. B8 94FD9400 mov eax, 0094FD94 ; ASCII "Unable to inicialize USB driver DLL library!"
0094FA4C |. E8 AB3DFCFF call 009137FC
0094FA51 |. 50 push eax ; |Text
0094FA52 |. 6A 00 push 0 ; |hOwner = NULL
0094FA54 |. E8 AB72FBFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
0094FA59 |. 8B03 mov eax, dword ptr [ebx]
0094FA5B |. 8B80 0C260000 mov eax, dword ptr [eax+260C]
0094FF3F |. 50 push eax
0094FF40 |. B8 C8019500 mov eax, 009501C8 ; ASCII "UDP port ""6668"" is already open by another application!"
0094FF45 |. E8 B238FCFF call 009137FC
0094FF4A |. 50 push eax ; |Text
0094FF4B |. 6A 00 push 0 ; |hOwner = NULL
0094FF4D |. E8 B26DFBFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
0094FF52 |. 8B03 mov eax, dword ptr [ebx]
0094FF54 |. 8B80 0C260000 mov eax, dword ptr [eax+260C]
0094FEC8 |. 50 push eax
0094FEC9 |. B8 84019500 mov eax, 00950184 ; ASCII "Unable to inicialize UDP driver DLL library!"
0094FECE |. E8 2939FCFF call 009137FC
0094FED3 |. 50 push eax ; |Text
0094FED4 |. 6A 00 push 0 ; |hOwner = NULL
0094FED6 |. E8 296EFBFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
0094FEDB |. 8B03 mov eax, dword ptr [ebx]
0094FF3F |. 50 push eax
0094FF40 |. B8 C8019500 mov eax, 009501C8 ; ASCII "UDP port ""6668"" is already open by another application!"
0094FF45 |. E8 B238FCFF call 009137FC
0094FF4A |. 50 push eax ; |Text
0094FF4B |. 6A 00 push 0 ; |hOwner = NULL
0094FF4D |. E8 B26DFBFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
0094FF52 |. 8B03 mov eax, dword ptr [ebx]
0094FF54 |. 8B80 0C260000 mov eax, dword ptr [eax+260C]
========================================================
将其中的
00909371
009437AA
两处用nop填充,保存,测试时仍然有上述nag窗口。
请问大家,除了 MessageBoxA 外,还有哪些函数可以产生上述对话框/窗口?
我应该怎么做?
附件:
IgorPlug.rar
[课程]FART 脱壳王!加量不加价!FART作者讲授!