脱壳为什么在最后的异常后下内存断点而单步跟踪进入ntdll后用alt+F9却跑飞了??
首先谢谢看雪斑竹的提醒。。。(我可是你书的忠实买者啊。呵呵 ) ,,把书翻出来仔细看了看,果然。。。。
经验分享:(老鸟就不要要看了)
---------SEH代码
0187751C 55 push ebp
0187751D 8BEC mov ebp,esp
0187751F 8B45 10 mov eax,dword ptr ss:[ebp+10】《-指向context
01877522 33D2 xor edx,edx
01877524 8950 04 mov dword ptr ds:[eax+4],edx--]<--清除0硬件断点
01877527 8B15 74318801 mov edx,dword ptr ds:[1883174]
0187752D 8990 C4000000 mov dword ptr ds:[eax+C4],edx<- 新的堆栈位置
01877533 33D2 xor edx,edx
01877535 8950 08 mov dword ptr ds:[eax+8],edx <--清除1硬件断点
01877538 8B15 78318801 mov edx,dword ptr ds:[1883178]
0187753E 8990 B4000000 mov dword ptr ds:[eax+B4],edx 《-新的EBP
01877544 33D2 xor edx,edx
01877546 8950 0C mov dword ptr ds:[eax+C],edx <--清除2硬件断点
01877549 8B15 7C318801 mov edx,dword ptr ds:[188317C]
0187754F 8990 B8000000 mov dword ptr ds:[eax+B8],edx<-新的eip..呵呵
01877555 33D2 xor edx,edx
01877557 8950 10 mov dword ptr ds:[eax+10],edx <--清除3硬件断点
0187755A 33C0 xor eax,eax
0187755C 5D pop ebp
0187755D C3 retn