我按照cyto老大的帖子一步步做的.
http://bbs.pediy.com/forumdisplay.php?s=&forumid=8&daysprune=365&sortorder=desc&sortfield=lastpost&perpage=28&pagenumber=2
1,载入OD,启用VolX老大的脚本Aspr2.XX_IATfixer_v1.02.osc,挺在伪OEP处.
2,在OEP所在段后面的8个段下访问断点.按F9,记下断下的几个位置.此时程序运行并没有出现问题.
3,重复第一步.用LordPE完整转存程序,把第2步中得到段也一并用区域转存功能存盘.
4,用LordPE的PE编辑妻打开dumped.exe,把存下来的段一一附加上去修改VOffset.然后重建.
5,用ImportREC来修复IAT,IAT并无错误,得到dumped_.exe
6,用OD加载dumped_.exe,查找特征码8B 7B 14,改为
00DC8A5A 698B 73308B7B 14A1F037 imul ecx,dword ptr ds:[ebx+7B8B3073],37F0A11>
00DC8A64 DD00 fld qword ptr ds:[eax]
00DC8A66 3E:8B4424 34 mov eax,dword ptr ds:[esp+34]
00DC8A6B 90 nop
00DC8A6C 83E8 05 sub eax,5
00DC8A6F 90 nop
00DC8A70 90 nop
00DC8A71 2B43 18 sub eax,dword ptr ds:[ebx+18]
按f9运行,出现写入异常
00DA200A 8BF2 mov esi,edx
00DA200C 8BC6 mov eax,esi
00DA200E 03C3 add eax,ebx
00DA2010 8320 FE and dword ptr ds:[eax],FFFFFFFE
此时eax=FEEEFEFE,并没有运行到特征码部分.
总结一下,就是原来的程序运行脚本后,一切正常,可是dump出来后会出现写入异常.
请高手指点..
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!