用peid查壳是:*PESHiELD 0.25 -> ANAKiN*
但是我看不是PESHiELD 0.25,最关键的是,用OD跟踪过程中有一个跳转是到了00370000,这我就想不通了,程序基址00400000,怎么就出来个00370000呢,下面是OD跟踪的记录,还请指教:
壳入口
004620D1 j> 60 pushad ;停在这
004620D2 E8 00000000 call 004620D7
004620D7 5D pop ebp
004620D8 81ED D7000000 sub ebp,0D7
004620DE 8DB5 EE000000 lea esi,dword ptr ss:[ebp+EE]
004620E4 55 push ebp
004620E5 56 push esi
004620E6 81C5 8D110000 add ebp,118D
004620EC 55 push ebp
004620ED C3 retn
用ESP定律来到这里:
00462113 50 push eax ; kernel32.7C800000,来到这里
00462114 FF55 74 call dword ptr ss:[ebp+74]
00462117 8945 2C mov dword ptr ss:[ebp+2C],eax
0046211A 6A 04 push 4
0046211C 68 00100000 push 1000
00462121 FF75 10 push dword ptr ss:[ebp+10]
00462124 6A 00 push 0
00462126 FF55 2C call dword ptr ss:[ebp+2C]
00462129 50 push eax
0046212A 8945 0C mov dword ptr ss:[ebp+C],eax
0046212D 8B5D 08 mov ebx,dword ptr ss:[ebp+8]
00462130 03DD add ebx,ebp
00462132 50 push eax
00462133 53 push ebx
00462134 E8 18000000 call 00462151
00462139 5A pop edx
0046213A 52 push edx
0046213B 55 push ebp
0046213C 8D85 DE000000 lea eax,dword ptr ss:[ebp+DE]
00462142 C600 EB mov byte ptr ds:[eax],0EB
00462145 C640 01 10 mov byte ptr ds:[eax+1],10
00462149 8B45 30 mov eax,dword ptr ss:[ebp+30]
0046214C 8945 74 mov dword ptr ss:[ebp+74],eax
0046214F FFE2 jmp edx ;edx=00370000,怎么就到了370000呢?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)