...">

PECompact的OEP的簡易查找方法 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【clearvueentertainment.com - 電腦資料】

    ==============================================

    該方法試用于PECompactV1.71,V1.76,V1.82

    具體看下面的示例

    ==============================================

    這是98的Calc.exe使用PECompact1.82壓縮過的結(jié)果

    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壓縮過的結(jié)果

    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]的結(jié)果

    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自身的結(jié)果

    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的結(jié)果

    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手動(dòng)脫P(yáng)ECompact的殼

    (標(biāo)準(zhǔn)TRW2000 V1.22,我想修改版也應(yīng)該可以吧)

    Load PECompact V1.82

   

    看上面的指令,0043E762 68 00E00300     PUSH 3E000

    由于ImageBas=400000,所以O(shè)EP=43E000

    所以

    bp if(EIP==43E000)

    g

    pedump c:xx.exe

    g

    好了,看看C:xx.exe是不是正常了

最新文章