前言:
看了別人的一些文章,為了用起來方便,總結了如下規律,其中*****1A3代表虛擬地址的後3位,估計大家和我的應該一樣
首先要做的就是用Lordpe檢視OEP,用OD載入後計算出基址大小。
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)。
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即可。