能力值:
( LV17,RANK:1820 )
|
-
-
2 楼
30那个是偏移量,不是固定的,总之就是找个reg + offset,让它指向nseh,条件有时得自个创造,但并不是每次都能找到这样一个指令
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
LZ不妨从跟踪一下DispatchException,最终调用到seh handler的过程。
seh handler 函数原型如下
xxx EXCEPTION_ROUTINE (
__inout struct _EXCEPTION_RECORD *ExceptionRecord,
__in PVOID EstablisherFrame,
__inout struct _CONTEXT *ContextRecord,
__in PVOID DispatcherContext
);
[ebp+n]实为指向的参数,ebp+30刚好为nseh。所以才需要找jmp/call [ebp+30]的指令
|
|
|