入口点的前两行代码
004C88D9 > E8 BE240000 call 004CAD9C
004C88DE ^ E9 79FEFFFF jmp 004C875C
call里面是
004CAD9C 8BFF mov edi, edi ; ntdll.7C930208
004CAD9E 55 push ebp
004CAD9F 8BEC mov ebp, esp
004CADA1 83EC 10 sub esp, 10
004CADA4 A1 B0134D00 mov eax, dword ptr [4D13B0]
004CADA9 8365 F8 00 and dword ptr [ebp-8], 0
004CADAD 8365 FC 00 and dword ptr [ebp-4], 0
004CADB1 53 push ebx
004CADB2 57 push edi
004CADB3 BF 4EE640BB mov edi, BB40E64E
004CADB8 BB 0000FFFF mov ebx, FFFF0000
004CADBD 3BC7 cmp eax, edi
004CADBF 74 0D je short 004CADCE
004CADC1 85C3 test ebx, eax
004CADC3 74 09 je short 004CADCE
004CADC5 F7D0 not eax
004CADC7 A3 B4134D00 mov dword ptr [4D13B4], eax
004CADCC EB 60 jmp short 004CAE2E
004CADCE 56 push esi
004CADCF 8D45 F8 lea eax, dword ptr [ebp-8]
004CADD2 50 push eax
004CADD3 FF15 C8F04C00 call dword ptr [<&kernel32.GetSystemTimeAsFi>; kernel32.GetSystemTimeAsFileTime
004CADD9 8B75 FC mov esi, dword ptr [ebp-4]
004CADDC 3375 F8 xor esi, dword ptr [ebp-8]
004CADDF FF15 C4F04C00 call dword ptr [<&kernel32.GetCurrentProcess>; kernel32.GetCurrentProcessId
004CADE5 33F0 xor esi, eax
004CADE7 FF15 B4F04C00 call dword ptr [<&kernel32.GetCurrentThreadI>; kernel32.GetCurrentThreadId
004CADED 33F0 xor esi, eax
004CADEF FF15 C0F04C00 call dword ptr [<&kernel32.GetTickCount>] ; kernel32.GetTickCount
004CADF5 33F0 xor esi, eax
004CADF7 8D45 F0 lea eax, dword ptr [ebp-10]
004CADFA 50 push eax
004CADFB FF15 BCF04C00 call dword ptr [<&kernel32.QueryPerformanceC>; kernel32.QueryPerformanceCounter
004CAE01 8B45 F4 mov eax, dword ptr [ebp-C]
004CAE04 3345 F0 xor eax, dword ptr [ebp-10]
004CAE07 33F0 xor esi, eax
004CAE09 3BF7 cmp esi, edi
004CAE0B 75 07 jnz short 004CAE14
004CAE0D BE 4FE640BB mov esi, BB40E64F
004CAE12 EB 0B jmp short 004CAE1F
004CAE14 85F3 test ebx, esi
004CAE16 75 07 jnz short 004CAE1F
004CAE18 8BC6 mov eax, esi
004CAE1A C1E0 10 shl eax, 10
004CAE1D 0BF0 or esi, eax
004CAE1F 8935 B0134D00 mov dword ptr [4D13B0], esi
004CAE25 F7D6 not esi
004CAE27 8935 B4134D00 mov dword ptr [4D13B4], esi
004CAE2D 5E pop esi
004CAE2E 5F pop edi
004CAE2F 5B pop ebx
004CAE30 C9 leave
004CAE31 C3 retn
从call返回时
004C875C 6A 58 push 58
004C875E 68 70044D00 push 004D0470
004C8763 E8 940F0000 call 004C96FC
004C8768 33F6 xor esi, esi
004C876A 8975 FC mov dword ptr [ebp-4], esi
004C876D 8D45 98 lea eax, dword ptr [ebp-68]
004C8770 50 push eax
004C8771 FF15 4CF04C00 call dword ptr [<&kernel32.GetStartupInfoW>] ; kernel32.GetStartupInfoW
又经历了许多call然后到达程序的执行处
我见过了许多这样的又这样的入口点的exe了,但是不知道这是什么编译器或壳的特征
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课