脱Themida 1.8.X的程序遇到难题
关于VC6.0的恢复
在领悟VC7和VC8后,对VC6的脱OEP开刀
请高手指点一下恢复的入手点
用脚本运行后
0041B997 8BEC MOV EBP,ESP
0041B999 6A FF PUSH -1
0041B99B 68 A8644400 PUSH Lord3G.004464A8
0041B9A0 68 E80A4200 PUSH Lord3G.00420AE8
0041B9A5 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
0041B9AB 50 PUSH EAX
0041B9AC 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
0041B9B3 83EC 58 SUB ESP,58
0041B9B6 53 PUSH EBX
0041B9B7 56 PUSH ESI
0041B9B8 57 PUSH EDI
0041B9B9 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
0041B9BC FF15 18F34300 CALL DWORD PTR DS:[43F318] ; kernel32.GetVersion
0041B9C2 33D2 XOR EDX,EDX
0041B9C4 8AD4 MOV DL,AH
0041B9C6 8915 D43E4500 MOV DWORD PTR DS:[453ED4],EDX
0041B9CC 8BC8 MOV ECX,EAX
0041B9CE 81E1 FF000000 AND ECX,0FF
0041B9D4 890D D03E4500 MOV DWORD PTR DS:[453ED0],ECX
0041B9DA C1E1 08 SHL ECX,8
0041B9DD 03CA ADD ECX,EDX
0041B9DF 890D CC3E4500 MOV DWORD PTR DS:[453ECC],ECX
0041B9E5 C1E8 10 SHR EAX,10
0041B9E8 A3 C83E4500 MOV DWORD PTR DS:[453EC8],EAX
0041B9ED 6A 01 PUSH 1
0041B9EF E8 C0270000 CALL Lord3G.0041E1B4
0041B9F4 59 POP ECX
0041B9F5 85C0 TEST EAX,EAX
0041B9F7 75 08 JNZ SHORT Lord3G.0041BA01
0041B9F9 6A 1C PUSH 1C
0041B9FB E8 C3000000 CALL Lord3G.0041BAC3
0041BA00 59 POP ECX
0041BA01 E8 66240000 CALL Lord3G.0041DE6C
0041BA06 85C0 TEST EAX,EAX
0041BA08 75 08 JNZ SHORT Lord3G.0041BA12
0041BA0A 6A 10 PUSH 10
0041BA0C E8 B2000000 CALL Lord3G.0041BAC3
0041BA11 59 POP ECX
0041BA12 33F6 XOR ESI,ESI
0041BA14 8975 FC MOV DWORD PTR SS:[EBP-4],ESI
0041BA17 E8 AE3A0000 CALL Lord3G.0041F4CA
0041BA1C FF15 4CF14300 CALL DWORD PTR DS:[43F14C] ; kernel32.GetCommandLineA
------------------------------
看来是一个用VC6.0写的程序
于是我正好拿出前两天用VC6写的一个的辅助 OD一看,
没头绪了,好多不同,入手点在哪 ,怎么还原
对比代码如下
-------------------------------
00401FB1 |. 8BEC MOV EBP,ESP
00401FB3 |. 6A FF PUSH -1
00401FB5 |. 68 60544100 PUSH sun_key.00415460
00401FBA |. 68 18224000 PUSH <JMP.&MSVCRTD._except_handler3> ; SE 处理程序安装
00401FBF |. 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00401FC5 |. 50 PUSH EAX
00401FC6 |. 64:8925 00000>MOV DWORD PTR FS:[0],ESP
00401FCD |. 83C4 94 ADD ESP,-6C
00401FD0 |. 53 PUSH EBX
00401FD1 |. 56 PUSH ESI
00401FD2 |. 57 PUSH EDI
00401FD3 |. 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
00401FD6 |. C745 FC 00000>MOV DWORD PTR SS:[EBP-4],0
00401FDD |. 6A 02 PUSH 2
00401FDF |. FF15 80764100 CALL DWORD PTR DS:[<&MSVCRTD.__set_app_t>; MSVCRTD.__set_app_type
00401FE5 |. 83C4 04 ADD ESP,4
00401FE8 |. C705 C0684100>MOV DWORD PTR DS:[4168C0],-1
00401FF2 |. A1 C0684100 MOV EAX,DWORD PTR DS:[4168C0]
00401FF7 |. A3 D0684100 MOV DWORD PTR DS:[4168D0],EAX
00401FFC |. FF15 7C764100 CALL DWORD PTR DS:[<&MSVCRTD.__p__fmode>>; MSVCRTD.__p__fmode
00402002 |. 8B0D AC684100 MOV ECX,DWORD PTR DS:[4168AC]
00402008 |. 8908 MOV DWORD PTR DS:[EAX],ECX
0040200A |. FF15 78764100 CALL DWORD PTR DS:[<&MSVCRTD.__p__commod>; MSVCRTD.__p__commode
00402010 |. 8B15 A8684100 MOV EDX,DWORD PTR DS:[4168A8]
00402016 |. 8910 MOV DWORD PTR DS:[EAX],EDX
00402018 |. A1 74764100 MOV EAX,DWORD PTR DS:[<&MSVCRTD._adjust_>
0040201D |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
0040201F |. 890D B4684100 MOV DWORD PTR DS:[4168B4],ECX
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)