最近在研究themida的加壳程序,现在就差修复oep了,由于目标程序可能是vc2005写的(主要是有msvcp80.dll和msvcr80.dll两个文件,也可能是2008写的),我自己一直用vc6,要自己弄又要下载又要配置,而且怕影响我原来vc6的工作环境,请各位大虾提供一个不加壳的例程给参照一下,在壳里跟代码不是人干的
,谢谢了
。
以下是oep的代码
01138A12 8138 50450000 CMP DWORD PTR DS:[EAX],4550
01138A18 ^75 E9 JNZ SHORT TERA.01138A03
01138A1A 0FB748 18 MOVZX ECX,WORD PTR DS:[EAX+18]
01138A1E 81F9 0B010000 CMP ECX,10B
01138A24 74 1B JE SHORT TERA.01138A41
01138A26 81F9 0B020000 CMP ECX,20B
01138A2C ^75 D5 JNZ SHORT TERA.01138A03
01138A2E 83B8 84000000 0E CMP DWORD PTR DS:[EAX+84],0E
01138A35 ^76 CC JBE SHORT TERA.01138A03
01138A37 33C9 XOR ECX,ECX
01138A39 3988 F8000000 CMP DWORD PTR DS:[EAX+F8],ECX
01138A3F EB 0E JMP SHORT TERA.01138A4F
01138A41 8378 74 0E CMP DWORD PTR DS:[EAX+74],0E
01138A45 ^76 BC JBE SHORT TERA.01138A03
01138A47 33C9 XOR ECX,ECX
01138A49 3988 E8000000 CMP DWORD PTR DS:[EAX+E8],ECX
01138A4F 0F95C1 SETNE CL
01138A52 8BC1 MOV EAX,ECX
01138A54 6A 02 PUSH 2 ;估计以上的代码被偷了
01138A56 A3 CC85A801 MOV DWORD PTR DS:[1A885CC],EAX
01138A5B FF15 38B75301 CALL DWORD PTR DS:[153B738] ; msvcr80.__set_app_type ;我就是通过这个API找到OEP的
01138A61 6A FF PUSH -1
01138A63 FF15 ECB65301 CALL DWORD PTR DS:[153B6EC] ; msvcr80._encode_pointer
01138A69 59 POP ECX
01138A6A 59 POP ECX
01138A6B A3 84ABD101 MOV DWORD PTR DS:[1D1AB84],EAX
01138A70 A3 88ABD101 MOV DWORD PTR DS:[1D1AB88],EAX
01138A75 FF15 34B75301 CALL DWORD PTR DS:[153B734] ; msvcr80.__p__fmode
01138A7B 8B0D 1C89A801 MOV ECX,DWORD PTR DS:[1A8891C]
01138A81 8908 MOV DWORD PTR DS:[EAX],ECX
01138A83 FF15 30B75301 CALL DWORD PTR DS:[153B730] ; msvcr80.__p__commode
01138A89 8B0D 1889A801 MOV ECX,DWORD PTR DS:[1A88918]
01138A8F 8908 MOV DWORD PTR DS:[EAX],ECX
01138A91 A1 2CB75301 MOV EAX,DWORD PTR DS:[153B72C]
01138A96 8B00 MOV EAX,DWORD PTR DS:[EAX]
01138A98 A3 74ABD101 MOV DWORD PTR DS:[1D1AB74],EAX
01138A9D E8 AC080000 CALL A.0113934E
01138AA2 E8 AC0A0000 CALL A.01139553
可以的话发到 xiaohang99@gmail.com
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)