我在脱SVKP 1.3x -> Pavol Cerven中遇到问题,我按aki的脱文,前面一切正常
od载入,停在入口
00453000 > 60 pushad
(请问,OD载入时会报错,这个在后面分析时没有关系把?)
插件隐藏od,忽略所以异常,f9运行,停在典型异常处
0012E3B6 6285 1E220000 bound eax,qword ptr ss:[ebp+221E]
bp GetModuleHandleA+5
shift+f9断下,取消断点,ctrl+f9返回主程序。
ctrl+f搜索特征码
cmp dword ptr ds:[ebx],2D66B1C5
来到特殊api处理处
071C578A 0F84 62180000 je 071C6FF2//改jmp 071C57E4跳过特殊处理
071C580E 0F84 132A0000 je 071C8227 //jmp 071C5850
ctrl+s继续搜索特征码
mov dword ptr ds:[edi],eax
popad
翻转一下改为
popad
mov dword ptr ds:[edi],eax
在12ffb0下硬件访问word断点(hr 12ffb0),断下两三次后取消
★★★★★以上没有问题,且汇编码与文章中的一至。★★★★★
出错地方:
在下tc ebp==12ffc0 回车后,OD没有反映,也没有断下,查看运行跟踪,发现有10多万行跟踪记录,好象一直在循环,记录还在增长,按F9运行后出现错误对话框,然后OD死掉,OD提示:访问违反:读取[00100300]出错,用SHIFT+F9无用
(我卡在这里四天了,一直找不到人帮助我,恳请高手释疑!!!)
并没有按照脱文中说的断在:
断在这里
0041CC8A CC int3
0041CC8B CC int3
0041CC8C 68 08064200 push bczp.00420608
0041CC91 64:A1 00000000 mov eax,dword ptr fs:[0]
0041CC97 50 push eax
0041CC98 8B4424 10 mov eax,dword ptr ss:[esp+10]
0041CC9C 896C24 10 mov dword ptr ss:[esp+10],ebp
0041CCA0 8D6C24 10 lea ebp,dword ptr ss:[esp+10]
0041CCA4 2BE0 sub esp,eax //断在这里
0041CCA6 53 push ebx
0041CCA7 56 push esi
0041CCA8 57 push edi
0041CCA9 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0041CCAC 8965 E8 mov dword ptr ss:[ebp-18],esp
0041CCAF 50 push eax
0041CCB0 8B45 FC mov eax,dword ptr ss:[ebp-4]
0041CCB3 C745 FC FFFFFFFF mov dword ptr ss:[ebp-4],-1
0041CCBA 8945 F8 mov dword ptr ss:[ebp-8],eax
0041CCBD 8D45 F0 lea eax,dword ptr ss:[ebp-10]
0041CCC0 64:A3 00000000 mov dword ptr fs:[0],eax
查看一下运行跟踪
072BEF57 014424 04 add dword ptr ss:[esp+4],eax
072BEF5B 58 pop eax
072BEF5C 83C4 04 add esp,4
072BEF5F - FF6424 FC jmp dword ptr ss:[esp-4] ; bczp.004183E0
004183DB E8 AC480000 call bczp.0041CC8C
0041CC8C 68 08064200 push bczp.00420608
0041CC91 64:A1 00000000 mov eax,dword ptr fs:[0]
0041CC97 50 push eax
0041CC98 8B4424 10 mov eax,dword ptr ss:[esp+10]
0041CC9C 896C24 10 mov dword ptr ss:[esp+10],ebp
0041CCA0 8D6C24 10 lea ebp,dword ptr ss:[esp+10]
0041CCA4 2BE0 sub esp,eax
我们到004183DB看看
004183D4 90 nop
004183D5 90 nop
004183D6 90 nop
004183D7 90 nop
004183D8 90 nop
004183D9 90 nop
004183DA 90 nop
004183DB E8 AC480000 call bczp.0041CC8C //伪oep
004183E0 BF 94000000 mov edi,94
根据堆栈补上stolen code后入口
004183D4 6A 60 push 60
004183D6 68 A0EA4300 push bczp.0043EAA0
004183DB E8 AC480000 call bczp.0041CC8C
004183E0 BF 94000000 mov edi,94
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)