学习心得---关于seh(1)

                    关于seh(1)
  好久就想写点东西了,无赖自己太懒了。好不容易写了篇进程插入得投了,
还被退回来了,郁闷。
 
  天天打游戏,玩奇迹,其实每天我都知道要好好学习,就是克制不住。
正题。

  大家看清楚了,这里写的不是SHE偶像组合,是结构化错误处理,不知道我有没有翻译错误。

  其实以前我对这玩意儿重来不在乎,不就是try,catch么,有什么难的,这些天也看了一些东西,觉得这东西确实不是那么简单的。

  明确一下学习目的,这里讲的seh的目的就是为了做一些"不正当"的事情,比如黑客呀,进入ring0亚等等,所以,会牵扯到其他的很多知识,我懂得我会尽量说明白,不过,如果你是那种觉得vb就已经很好用不想再学其他语言的人,我劝你还是别看了,这里面没有你想要的东西,大部分是汇编。不是我对谁不满,而是这是事实。或许你说可以用vb编出嵌入汇编的程序,但是那只是奇技淫巧罢了。

  首先讲一下关于c++中的错误的处理方法。

  try. 这是一个很简单的语句,一般来讲和catch配套使用例如:

          try
   {
   int a=34;
   int b=0
   int c=a/b;
   }
   catch(int errno)
   {
   .......//错误的处理
   }
   程序执行try块里面的语句,如果遇到错误,就会把错误类型逐个的和后面的catch括号里面的错误类型比较,如果有匹配的就交给这个catch处理,如果没有的话有系统处理,默认的方式是中断运行。

   这里最重要的就是错误的类型号了,我这里不多说了,你们自己去查书,我们以后主要还是接触到asm,毕竟比高级语言自由的多,这一讲只是抛砖引玉,引出一个话题。

   当然有个简单的方法,就是不管出什么错,由一个catch统统承担,可以使用下面的代码:

   catch(...)
   {
   ...........//处理代码
   }

   用catch(...)就可以捕获任何类型的异常。


   这是c++封装的异常处理,其实和一般的seh差不多,先写到这里,
   好像和我们的目标----进入ring0差得比较远。不过不要着急,我知道一次写太多你们看这也吃力,一次这么一点点大家看着舒服嘛。大家体会一下,下次就准备我们的正式旅途了。

   不知道大家有没有觉得看老外写的书特别费劲,他们写书老是拐弯抹角,不一句话讲清楚,尤其是那个lippman,越来越受不了他了,不过他的书又不得不看,如果大家对我的写作方式有什么意见告诉我。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值