能力值:
( LV2,RANK:10 )
|
-
-
2 楼
顶到答案出来。。
|
能力值:
(RANK:350 )
|
-
-
3 楼
最初由 lwglucky 发布 跟进seh后,再进入ntdll.dll我用alt+F9想返回用户代码,却跑飞了!!!请问是为s什么??
你对SEH好像还不是太了解,找些资料看看。
seh进去后,不是按alt+F9就能返回到用户代码。
而是根据SEH不同类型得到返回地址,如handler或CONTEXT.EIP等。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
首先谢谢看雪斑竹的提醒。。。(我可是你书的忠实买者啊。呵呵 ) ,,把书翻出来仔细看了看,果然。。。。
经验分享:(老鸟就不要要看了)
---------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
|
|
|