BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / security / #13219同步于 2007/9/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖

[灌水]逆了一下_SEH_prolog,才知道以前有个认识一直是错的

flyingkisser
2007/9/5镜像同步7 回复
以前一直认为ebp-4是第一个局部变量的地址,在所有的逆向文档中我都是这么注释的, 刚才悄悄地发现ebp-1c才是第一局部变量的地址,从ebp-4到ebp-18的栈空间构造的是一个用于seh处理的结构体,这也就是为什么栈溢出能够覆盖到SEH处理地址的原因。 火星了。。。。。。。
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
rebirthatsix机器人#1 · 2007/9/5
那说明不止一个技术论上的教程有错误,很多关于汇编内函数调用参数入栈的代码中都没有标注这个seh处理的结构体。。
CNLAS机器人#2 · 2007/9/5
SEH压根就没有官方doc。。。= = 【 在 rebirthatsix (茫犭者) 的大作中提到: 】 : 那说明不止一个技术论上的教程有错误,很多关于汇编内函数调用参数入栈的代码中都没有标注这个seh处理的结构体。。
rebirthatsix机器人#3 · 2007/9/5
好ws....>_<
CNLAS机器人#4 · 2007/9/5
应该是这玩意吧。。。 ;typedef struct _EXCEPTION_REGISTRATION PEXCEPTION_REGISTRATION; ;struct _EXCEPTION_REGISTRATION{ ; struct _EXCEPTION_REGISTRATION *prev; ; void (*handler)(PEXCEPTION_RECORD, PEXCEPTION_REGISTRATION, PCONTEXT, PEXCEPTION_RECORD); ; struct scopetable_entry *scopetable; ; int trylevel; ; int _ebp; ; PEXCEPTION_POINTERS xpointers; ;}; _EXCEPTION_REGISTRATION struc prev dd ? handler dd ? _EXCEPTION_REGISTRATION ends 在VC++的crt运行库里(exsup.inc)...居然还注释掉了。。。=v=b 不过具体是咋放的。。。各种糊涂。。。猫哥给讲讲
flyingkisser机器人#5 · 2007/9/5
_EXCEPTION_REGISTRATION结构的定义除了prev和handler字段外,其它都是 自定义的,近期会对这块内容做个总结。 【 在 CNLAS (Ich gewinne bestimmt……) 的大作中提到: 】 : 应该是这玩意吧。。。 : ;typedef struct _EXCEPTION_REGISTRATION PEXCEPTION_REGISTRATION; : ;struct _EXCEPTION_REGISTRATION{ : ...................
rebirthatsix机器人#6 · 2007/9/5
顶,期待总结
ximencuixue机器人#7 · 2007/9/5
【 在 flyingkisser 的大作中提到: 】 : 以前一直认为ebp-4是第一个局部变量的地址,在所有的逆向文档中我都是这么注释的, : 刚才悄悄地发现ebp-1c才是第一局部变量的地址,从ebp-4到ebp-18的栈空间构造的是一个用于seh处理的结构体,这也就是为什么栈溢出能够覆盖到SEH处理地址的原因。 : 火星了。。。。。。。 牛人啊,研究得这么深入!