当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: seh(3) rmal" style="MA
 

 

 ·学习心得----seh(4)    »显示摘要«
    摘要:解读cih进入ring0的秘密 看了大家对前面几篇的评论,觉得有点怪异,看来大家对技术的追求还不是那么强烈,声明以下,我写的这些东西或许永远也不会对你的实际应用有帮助,这只是黑客们对技术的研究,如果你的愿望只是一般的编程,这篇文章不适合你。 这几天开始编一个游戏,以前没有接触过游戏编程,觉得很有意思,还有directx的编程,真得很爽,我估计也就几天的热情吧,呵呵。 还有,我知道我的老婆每天都来看......
 ·my mbti is intp.    »显示摘要«
    摘要:今天看了《成为技术领导者》的第19章,其中提及了由jungian提出的myers-briggs个性理论,一时兴起去做了两套不同的测试,其中一个基于myers-briggs type indicator?的测试,测试结果如下: myers briggs jung test results: your myers briggs type indicator is: intp(introverted i......


学习心得-------seh(3)
seh(3)

   上次贴了一段代码,里面的回调函数有一长串参数,现在解释一下: 【程序编程相关:蛙蛙推荐:类中的静态成员和非静态成员(C

  明天去郊外去春游,心里很兴奋哦. 【推荐阅读:权限系统概要

  【扩展信息:你知道Wikis吗

   _handler  proc   _lpexceptionrecord,_lpseh,_lpcontext,_lpdispatchercontext

   _lpexceptionrecord指向exception_record结构.

 

   _lpcontext指向一个context结构.这个结构保存了异常发生的时候所有寄存器的值.这个结构比较常用的字段有regeip.他用来得知异常发生的位置.如果要修正某个寄存器中的错误取值修改这个字段就可以了.

   _lpseh指向注册回调函数时使用到的exception_registration结构的地址.如果希望异常处理程序能被封装在子程序里面的话,这个参数必不可少,如果不需要,就没用.

 

 

谈谈展开操作.

 

   什么叫展开?

   展开就是unwinding.假设出现异常,seh链上有多个回调函数,但是没有一个函数能够处理的话,系统会把每一个回调函数调用一次,这个时候参数中指定的异常代码就是exception_unwind.

 

好了,我们现在要应用了,seh可以干什么?这其实是最先应该想到的,我们不可能什么都学,要有所选择.所以这应该是我们看这篇文章的第一个问题.

 

除了可以使我们的程序更加健壮,还可以做一些坏事,例如进入ring0,反跟踪,获得kernel32的地址等等,这就是我学习seh的目的.我也是最近几天学seh的,在学习过程中我也有很多没明白的地方,希望与大家讨论一下

 

现在我们来预热一下:

cih将handler指向它自己程序中.在它入口处有如下代码:

                                                                                 


...   下一页
 ·intp in details.    »显示摘要«
    摘要: introverted intuitive thinking perceivingby joe butt profile: intprevision: 2.4date of revision: 20 jul 03  intps are pensive, analytical folks. they may venture so deeply into thought as to seem det......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE