最后一次异常的原理和走出异常的方法及IAT的修复问题。
来源:互联网 发布:csol剑伤害数据 编辑:程序博客网 时间:2024/06/03 21:12
对于最后一次异常,在脱壳中用得挺多,但是对于为什么它能脱壳,以前还是有点疑问的。。。首先,对于这种方法,我想应该从壳的角度出发来说说,壳通过某种方法,在程序运行之前,拿到控制权,怎么样拿到它的控制权呢?我想:应该是 INT 3 , 当然还有一些其他的方法,想一些 调试器的函数, SDK 和 WDK 里面可以去查到的,最近开始设计一些驱动方面的东西,才知道ring 0 , 是多么的强大,哦,回到正题。。。当中断下来之后。。对程序的PE 进行处理,当然处理的方法很多,包括 压缩个节表的东西,对 IAT 处理,加入花指令,哦,花指令大量的用于对 调试器的检查,pushaf ... popaf , 这是一组产生异常的常用的方法,当然方法很多。。说了很多,当处理完之后的最后一次异常,壳将会把控制权交换给应用程序, OEP ,也就不远了。。。说一下跑出异常的方法吧:三种: 1: 当遇到 SEH 的异常时: 可以当开 view --> seh line ---> 在 seh 下断点,运行就跑出来了。。2: 可以在 seh handle 出反汇编跟随,就会来到出口,在出口下段,记住此时的代码可能会乱序,这是作者防止解密的行为,我们可以通过 shift + 箭头 来查看代码。。之后 ,shift + F9运行,就 O 了注释:2中如果在在程序的领空,是不能在反汇编窗口跟随的。。。3:在 ZwContion---> ecx + 0xb8 ---这就是异常的出口;可以在 vc 中查看这个函数的用法:如果我没有记错; ZwContion(void *);
0 0
- 最后一次异常的原理和走出异常的方法及IAT的修复问题。
- 最后一次异常的原理和走出异常的方法及IAT的修复问题。
- 脱壳时快速定位“最后一次异常”的方法
- 脱壳时快速定位“最后一次异常”的方法
- 脱壳时快速定位“最后一次异常”的方法
- 一次异常内存消耗问题的诊断及解决
- 脱壳后的IAT修复
- IAT Hook的原理
- Spring中EmptyResultDataAccessException异常产生的原理及处理方法
- 桌面图标异常的修复办法
- mongodb的internalQueryExecMaxBlockingSortBytes异常修复
- 手工修复PE文件的IAT
- 最后一次异常法真难搞
- 一次监听异常的检测
- 一次异常内存消耗问题的诊断及解决与热点块 (联接地址)
- 模板和异常的问题
- 异常和StringBuffer的问题~
- API HOOK的 IAT方法
- 监控数据仓库环境
- lightoj1038 - Race to 1 Again(期望DP)
- 详解JS闭包
- 微信小程序入门必备
- URL, URI, URN
- 最后一次异常的原理和走出异常的方法及IAT的修复问题。
- mysql-学习1
- LA 3135Argus
- JSP的2种注释方式
- Linux文件权限及用户管理_1
- CSS3序选择器学习记录
- Spring 中的TransactionTemplate
- Android runtime 基础知识
- 庆丰四年之撸起袖子加油干天上不会掉馅饼