异常处理
内存访问异常
- 在内存中执行没有相应权限的操作
- 查看权限:M窗口查看PE文件
除0异常
- 当除数为0时的异常
无效指令
- CUP尝试执行不认识的指令都会产生异常
异常处理流程
- 流程图如下所示:
SEH
- 需要程序员根据编写的程序以及可能出现的异常自己安装、编写
- 安装过程
- 定位
- 在程序入口处,数据窗口跟随FS对应的地址
- 将FS:[0]作为地址在数据窗口跟随
- 堆栈窗口查看此时数据窗口的地址为SEH链尾部
- 注释为“SE处理程序安装”就是安装SEH,PUSH的地址就是SEH程序的入口
- 先将SEH程序入口压入堆栈
- 再将SEH链尾部压入堆栈
- 再用下一个SEH(系统默认的异常处理)尾部地址覆盖上一个,两个SEH就会连接起来
- 安装完成
- 定位
参考文献
《逆向视频》