脱ASPack2.12加壳的DLL文件简便方法 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    前言:

    看了别人的一些文章,为了用起来方便,总结了如下规律,其中*****1A3代表虚拟地址的后3位,估计大家和我的应该一样

    首先要做的就是用Lordpe查看OEP,用OD载入后计算出基址大小,

脱ASPack2.12加壳的DLL文件简便方法

    1.dump文件

    在如下位置:

    *****1A3 0F851EFFFFFF JNZ 00C700C7<======此处转跳若干次

    *****1A9 6800800000 PUSH 00008000 <======到此处后,即可完全DUMP

    2.重定位表地址以及大小的确定:

    *****1E5   8BB5 39050000  MOV ESI,DWORD PTR SS:[EBP+539]<=====重定位表段的开始地址赋给ESI

    *****1EB   03B5 22040000  ADD ESI,DWORD PTR SS:[EBP+422]<=====转换成VA

    *****1F1   833E 00           CMP DWORD PTR DS:[ESI],0 <===ESI就是重定位表段开始的VA地址(1)

    ...........

    *****25D   8BB5 41050000  MOV ESI,DWORD PTR SS:[EBP+541]<==ESI就是重定位表段结束的RVA地址(2)

    重定位表RVA=[EBP+539],SIZE=(2)-(1),

电脑资料

脱ASPack2.12加壳的DLL文件简便方法》(https://www.unjs.com)。

    3.输入表开始地址的确定:

    *****278   BE 70C30000    MOV ESI,0C370     <=====输入表段的开始地址赋给ESI

    4.OEP确定

    *****3AF   61             popad

    *****3B0   75 08          jnz *****3BA

    *****3B2   B8 01000000    mov eax,1

    *****3B7   C2 0C00        retn 0C

    *****3BA   68 D0E48B00    push *******<====真正入口点

    然后用Lordpe修改OEP、重定位表RVA和大小以及输入表RVA即可。

最新文章