upx 脱壳记录
一个keygen,加的upx,以前没脱掉。今天不小心就脱了
004295BD > 84E7 test bh, ah 004295BF 87C8 xchg eax, ecx 004295C1 11EE adc esi, ebp 004295C3 0FCD bswap ebp 004295C5 0FAFDA imul ebx, edx 004295C8 55 push ebp 004295C9 8BEC mov ebp, esp 004295CB B8 00944200 mov eax, 00429400 004295D0 8BD8 mov ebx, eax 004295D2 B9 82000000 mov ecx, 82 004295D7 8030 3A xor byte ptr [eax], 3A 004295DA 51 push ecx 004295DB 33C9 xor ecx, ecx 004295DD B9 02000000 mov ecx, 2 004295E2 83C0 01 add eax, 1 004295E5 ^ E2 FB loopd short 004295E2 004295E7 59 pop ecx 004295E8 83E8 01 sub eax, 1 004295EB 49 dec ecx 004295EC 74 02 je short 004295F0 004295EE ^ EB E7 jmp short 004295D7 004295F0 FFE3 jmp ebx
直接单步
00429400 60 pushad 00429401 BE 00E04100 mov esi, 0041E000 00429406 8DBE 0030FEFF lea edi, dword ptr [esi+FFFE3000] 0042940C 57 push edi 0042940D 83CD FF or ebp, FFFFFFFF 00429410 EB 10 jmp short 00429422
然后esp定律
00429587 8D4424 80 lea eax, dword ptr [esp-80] 0042958B 6A 00 push 0 0042958D 39C4 cmp esp, eax 0042958F ^ 75 FA jnz short 0042958B 00429591 83EC 80 sub esp, -80 00429594 - E9 7663FEFF jmp 0040F90F
直接oep
0040F90F 55 push ebp ; oep 0040F910 8BEC mov ebp, esp 0040F912 6A FF push -1 0040F914 68 182F4100 push 00412F18 0040F919 68 96FA4000 push 0040FA96 ; jmp 到 msvcrt._except_handler3 0040F91E 64:A1 00000000 mov eax, dword ptr fs:[0] 0040F924 50 push eax 0040F925 64:8925 0000000>mov dword ptr fs:[0], esp 0040F92C 83EC 68 sub esp, 68
什么都不想说,最近很烦。