然后我还试了“乐玩编程助手”,他也有个防崩溃模式,但他的就可以成功。我反汇编看他的代码,感觉他没有mov dword ptr fs:[0],esp这个SEH关键代码,不知道他是怎么弄的
[Asm] 纯文本查看 复制代码
05100090 | 9C | pushfd |
05100091 | 60 | pushad |
05100092 | FF35 04001005 | push dword ptr ds:[0x5100004] | 05100004:"@0"
05100098 | 68 E80C3700 | push 0x370CE8 |
0510009D | C7C0 5029A975 | mov eax,<user32.KillTimer> |
051000A3 | FFD0 | call eax |
051000A5 | 8B05 0C001005 | mov eax,dword ptr ds:[0x510000C] |
051000AB | 81F8 00000000 | cmp eax,0x0 |
051000B1 | 75 22 | jne 0x51000D5 |
051000B3 | C7C0 01000000 | mov eax,0x1 |
051000B9 | 8905 0C001005 | mov dword ptr ds:[0x510000C],eax |
051000BF | C7C0 EA001005 | mov eax,0x51000EA |
051000C5 | FFD0 | call eax |
051000C7 | FF35 08001005 | push dword ptr ds:[0x5100008] | 05100008:L"д"
051000CD | C7C0 2033D276 | mov eax,<kernel32.SetEvent> |
051000D3 | FFD0 | call eax |
051000D5 | 61 | popad |
051000D6 | 9D | popfd |
051000D7 | C3 | ret |
051000D8 | 0000 | add byte ptr ds:[eax],al |
051000DA | 0000 | add byte ptr ds:[eax],al |
051000DC | 0000 | add byte ptr ds:[eax],al |
051000DE | 0000 | add byte ptr ds:[eax],al |
051000E0 | 0000 | add byte ptr ds:[eax],al |
051000E2 | 0000 | add byte ptr ds:[eax],al |
051000E4 | 0000 | add byte ptr ds:[eax],al |
051000E6 | 0000 | add byte ptr ds:[eax],al |
051000E8 | 0000 | add byte ptr ds:[eax],al |
051000EA | 9C | pushfd |
051000EB | 60 | pushad |
051000EC | E8 13FFC9FF | call 0x4DA0004 | 注入的汇编代码
051000F1 | 8905 00001005 | mov dword ptr ds:[0x5100000],eax |
051000F7 | 61 | popad |
051000F8 | 9D | popfd |
051000F9 | C3 | ret |
|