PIED查看,PECompact 2.x -> Jeremy Collake。云枫的“利用ESP定律快速脱壳(PECompact 2.x)教程”讲的ESP方法轻松脱掉;也可以手动一步步脱,过程吗,就免了。
脱后,查看是VB搞的,晕,最怕它了。OD运行脱壳的程序,点注册框,输入注册码后,按确定,出现注册码不对的提示框。搜索当前模板函数,试了几个,下bpx __VbaStrCmp时断下,再走一大段后来到下面的代码:
00420199 6A 01 push 1
0042019B 50 push eax
0042019C 51 push ecx
0042019D 6A 00 push 0
0042019F FFD7 call edi //关键call,与机器码的第一部分比较
004201A1 85C0 test eax,eax
004201A3 0F8C 2703000>jl unpack.004204D0 //当然改跳!
004201A9 8B55 E0 mov edx,dword ptr ss:[ebp-20]
004201AC A1 44304400 mov eax,dword ptr ds:[443044]
004201B1 6A 01 push 1
004201B3 52 push edx
004201B4 50 push eax
004201B5 6A 00 push 0
004201B7 FFD7 call edi //关键call,与机器码中的第二部分比较
004201B9 85C0 test eax,eax
004201BB 0F8C 0F03000>jl unpack.004204D0 //当然跳啦!
004201C1 8B16 mov edx,dword ptr ds:[esi]
004201C3 B9 58304400 mov ecx,unpack.00443058
004201C8 FFD3 call ebx
004201CA BA 14694000 mov edx,unpack.00406914
004201CF 8D4D DC lea ecx,dword ptr ss:[ebp-24]
004201D2 FFD3 call ebx
004201D4 8D4D DC lea ecx,dword ptr ss:[ebp-24]
004201D7 8D55 C4 lea edx,dword ptr ss:[ebp-3C]
004201DA 51 push ecx
004201DB 52 push edx
004201DC E8 DF7E0000 call unpack.004280C0
004201E1 BA 38694000 mov edx,unpack.00406938
004201E6 8D4D D8 lea ecx,dword ptr ss:[ebp-28]
004201E9 FFD3 call ebx
004201EB 8D45 D8 lea eax,dword ptr ss:[ebp-28]
004201EE 8D4D B4 lea ecx,dword ptr ss:[ebp-4C]
004201F1 50 push eax
004201F2 51 push ecx
004201F3 E8 C87E0000 call unpack.004280C0
004201F8 B8 0A000000 mov eax,0A
004201FD B9 04000280 mov ecx,80020004
00420202 8945 94 mov dword ptr ss:[ebp-6C],eax
00420205 8945 A4 mov dword ptr ss:[ebp-5C],eax
00420208 8D55 94 lea edx,dword ptr ss:[ebp-6C]
0042020B 894D 9C mov dword ptr ss:[ebp-64],ecx
0042020E 894D AC mov dword ptr ss:[ebp-54],ecx
00420211 8D45 A4 lea eax,dword ptr ss:[ebp-5C]
00420214 52 push edx
00420215 8D4D B4 lea ecx,dword ptr ss:[ebp-4C]
00420218 50 push eax
00420219 51 push ecx
0042021A 8D55 C4 lea edx,dword ptr ss:[ebp-3C]
0042021D 6A 00 push 0
0042021F 52 push edx
00420220 FF15 E472440>call dword ptr ds:[<&MSVBVM50.>; MSVBVM50.rtcMsgBox //正确提示框!
00420226 8D45 D8 lea eax,dword ptr ss:[ebp-28]
00420229 8D4D DC lea ecx,dword ptr ss:[ebp-24]
0042022C 50 push eax
0042022D 51 push ecx
0042022E 6A 02 push 2
注册算法没细看。好像得先由假码产生一字符串:00-000-000-0-0。
哈哈,不管算法多复杂,可是最后出了低级的错误!!!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)