用PEiD查壳 Armadillo 2.51 - 3.xx DLL Stub -> Silicon Realms Toolworks
OD 载入 停在这里
00934897 >/$ 55 PUSH EBP
00934898 |. 8BEC MOV EBP,ESP
0093489A |. 53 PUSH EBX
0093489B |. 8B5D 08 MOV EBX,DWORD PTR SS:[EBP+8]
0093489E |. 56 PUSH ESI
0093489F |. 8B75 0C MOV ESI,DWORD PTR SS:[EBP+C]
009348A2 |. 57 PUSH EDI
009348A3 |. 8B7D 10 MOV EDI,DWORD PTR SS:[EBP+10]
下断点 BP GetModuleHandleA, Shift+F9 运行中断后看堆栈:
到这里
000690C8 /00069368
000690CC |00D65FC9 返回到 00D65FC9 来自 kernel32.GetModuleHandleA
000690D0 |0006921C ASCII "kernel32.dll"
清除断点ALT+F9返回
00D65FC9 8B0D AC40D900 MOV ECX,DWORD PTR DS:[D940AC] 返回到这里
00D65FCF 89040E MOV DWORD PTR DS:[ESI+ECX],EAX
00D65FD2 A1 AC40D900 MOV EAX,DWORD PTR DS:[D940AC]
00D65FD7 391C06 CMP DWORD PTR DS:[ESI+EAX],EBX
00D65FDA 75 16 JNZ SHORT 00D65FF2
00D65FDC 8D85 B4FEFFFF LEA EAX,DWORD PTR SS:[EBP-14C]
00D65FE2 50 PUSH EAX
00D65FE3 FF15 BC62D800 CALL DWORD PTR DS:[D862BC] ; kernel32.LoadLibraryA
00D65FE9 8B0D AC40D900 MOV ECX,DWORD PTR DS:[D940AC]
00D65FEF 89040E MOV DWORD PTR DS:[ESI+ECX],EAX
00D65FF2 A1 AC40D900 MOV EAX,DWORD PTR DS:[D940AC]
00D65FF7 391C06 CMP DWORD PTR DS:[ESI+EAX],EBX
00D65FFA 0F84 2F010000 JE 00D6612F je修改为jmp
00D66000 33C9 XOR ECX,ECX
00D66002 8B07 MOV EAX,DWORD PTR DS:[EDI]
00D66004 3918 CMP DWORD PTR DS:[EAX],EBX
00D66006 74 06 JE SHORT 00D6600E
00D66008 41 INC ECX
00D66009 83C0 0C ADD EAX,0C
00D6600C ^ EB F6 JMP SHORT 00D66004
下断点 bp GetTickCount,Shift+F9 运行
00069370 00D7C6D7 /CALL 到 GetTickCount 来自 00D7C6D1 在这里清除断点后Alt+F9返回
00069374 00D8FA98
00069378 7C9210ED ntdll.RtlLeaveCriticalSection
00D7C6D7 2B85 A4D4FFFF SUB EAX,DWORD PTR SS:[EBP-2B5C] 返回到这里
00D7C6DD 8B8D A8D4FFFF MOV ECX,DWORD PTR SS:[EBP-2B58]
00D7C6E3 6BC9 32 IMUL ECX,ECX,32
00D7C6E6 81C1 D0070000 ADD ECX,7D0
00D7C6EC 3BC1 CMP EAX,ECX
00D7C6EE 76 07 JBE SHORT 00D7C6F7
00D7C6F0 C685 34D9FFFF 0>MOV BYTE PTR SS:[EBP-26CC],1
00D7C6F7 83BD E4D7FFFF 0>CMP DWORD PTR SS:[EBP-281C],0
00D7C6FE 0F85 8A000000 JNZ 00D7C78E
00D7C704 0FB685 94D4FFFF MOVZX EAX,BYTE PTR SS:[EBP-2B6C]
00D7C70B 85C0 TEST EAX,EAX
00D7C70D 74 7F JE SHORT 00D7C78E
00D7C70F 6A 00 PUSH 0
00D7C711 8B85 98D4FFFF MOV EAX,DWORD PTR SS:[EBP-2B68]
00D7C717 C1E0 02 SHL EAX,2
00D7C71A 50 PUSH EAX
00D7C71B 8B85 0CD8FFFF MOV EAX,DWORD PTR SS:[EBP-27F4]
00D7C721 0385 90D4FFFF ADD EAX,DWORD PTR SS:[EBP-2B70]
00D7C727 50 PUSH EAX
00D7C728 E8 0D1E0000 CALL 00D7E53A
00D7C72D 83C4 0C ADD ESP,0C
00D7C730 8B85 98D4FFFF MOV EAX,DWORD PTR SS:[EBP-2B68]
在 CPU 窗口按 Ctrl+S 查找如下代码
PUSH EAX
XCHG CX,CX
POP EAX
STC
提示命令未找到。不知道为什么,请高手指点谢谢..
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)