==============================================
該方法試用於PECompactV1.71,V1.76,V1.82
具體看下面的示例
==============================================
這是98的Calc.exe使用PECompact1.82壓縮過的結果
010153A0 >EB 06 JMP SHORT CALC.010153A8<==第一條指令
010153A2 68 E0190100 PUSH 119E0<======這就是程式的原始OEP的RVA地址
010153A7 C3
RETN
010153A8 9C
PUSHFD
010153A9 60
PUSHAD
010153AA E8 02000000 CALL CALC.010153B1
==============================================
==============================================
這是98的Notepad.exe使用PECompact1.82壓縮過的結果
0040AB20 >EB 06
JMP SHORT NOTEPAD.0040AB28<==第一條指令
0040AB22
68 CC100000 PUSH 10CC<======這就是程式的原始OEP的RVA地址
0040AB27
C3 RETN
0040AB28
9C PUSHFD
0040AB29
60 PUSHAD
0040AB2A
E8 02000000 CALL NOTEPAD.0040AB31
==============================================
==============================================
這是使用PECompact1.82壓縮過LordPE.exe
[rts]的結果
004239A0 >EB 06 JMP SHORT
X.004239A8<==第一條指令
004239A2 68 103E0000 PUSH
3E10<======這就是程式的原始OEP的RVA地址
004239A7 C3
RETN
004239A8 9C
PUSHFD
004239A9 60
PUSHAD
004239AA E8 02000000
CALL X.004239B1
004239AF 33C0
XOR EAX,EAX
==============================================
==============================================
這是PECompact1.82自身的結果
0043E760 >EB 06 JMP SHORT PECOMPAC.0043E768<==第一條指令
0043E762 68 00E00300 PUSH 3E000<======這就是程式的原始OEP的RVA地址
0043E767 C3
RETN
0043E768 9C
PUSHFD
0043E769 60
PUSHAD
0043E76A E8 02000000 CALL PECOMPAC.0043E771
0043E76F 33C0 XOR EAX,EAX
==============================================
==============================================
這是ODBG1.06的結果
004F8200 >EB 06
JMP SHORT X.004F8208<==第一條指令
004F8202 68 00100000
PUSH 1000<======這就是程式的原始OEP的RVA地址
004F8207 C3
RETN
004F8208 9C
PUSHFD
004F8209 60
PUSHAD
004F820A E8
02000000 CALL X.004F8211
004F820F 33C0
XOR EAX,EAX
004F8211 8BC4
MOV EAX,ESP
==============================================
很明顯,原始程式入口為
VA=ImageBase+RVA
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
下面是使用TRW2000手動脫PECompact的殼
(標準TRW2000 V1.22,我想修改版也應該可以吧)
Load PECompact V1.82
<F8>
看上面的指令,0043E762 68 00E00300
PUSH 3E000
由於ImageBas=400000,所以OEP=43E000
所以
bp if(EIP==43E000)
g
pedump c:\xx.exe
g
好了,看看C:\xx.exe是不是正常了
=================================================================
=
= inside Pandora's
Box - iPB
= Open Cracking
Group - OCG
=
=
=
DiKeN/iPB
=================================================================