TBOX封装了一套跨平台的异常捕获实现,来模拟windows的seh异常处理功能,而且是线程安全的。 ### 在linux/mac下的实现 * 使用signal 捕获异常信号 * 使用sigsetjmp保存现场寄存器和信号掩码,出现异常后使用 sigl...
分类:
其他好文 时间:
2014-08-21 11:45:44
阅读次数:
193
本文转载自donjuan前几天,有一个朋友问我为什么在.NET里不能捕捉(catch)到一些异常了,而且在调试器里也捕捉不到。研究了一下,是.NET 4.0里新的异常处理机制捣的鬼。在.NET 4.0之后,CLR将会区别出一些异常(都是SEH异常),将这些异常标识为破坏性异常(Corrupted S...
分类:
Web程序 时间:
2014-08-19 12:44:54
阅读次数:
246
通过 SEH 绕过 GS 保护GS 机制没对 SEH 提供保护,所以可心通过攻击异常来绕过 GS。实验环境为:VMware : Windows 2000 sp4, 此版本无 SafeSEH 的影响Visual Studio 2005 Project Properties : Release, ...
分类:
其他好文 时间:
2014-08-10 21:13:50
阅读次数:
360
结构化异常处理程序?
SEH:structured Exception Handling,结构化异常处理。
结构化异常处理,是Windows操作系统上,Microsoft对C/C++程序语言做的语法扩展,用于处理异常事件的程序控制结构。
异常事件是打断程序正常执行流程的不在期望之中的硬件、软件事件。硬件异常是CPU抛出的如“除0”、数值溢出等;软件异常是操作系统与程序通过RaiseExc...
分类:
其他好文 时间:
2014-08-04 02:03:56
阅读次数:
311
FS寄存器指向当前活动线程的TEB结构(线程结构)偏移 说明000 指向SEH链指针004 线程堆栈顶部008 线程堆栈底部00C SubSystemTib010 FiberData014 ArbitraryUserPointer018 FS段寄存器在内存中的镜像地址020 进程PID024 线程....
分类:
其他好文 时间:
2014-07-30 20:24:04
阅读次数:
274
SEH, SAFESEH相关1,触发seh异常让目标程序Read/Write无效地址,如果和栈底相邻的内存只读,尝试覆盖超出栈底2,如何找到(显示)要覆盖的SEHod语法:dd fs:[0]softice语法: dd fs:03,覆盖SEH时需要填充的跳转地址需要找一个可以跳转成功的pop ?pop...
分类:
其他好文 时间:
2014-07-29 16:47:22
阅读次数:
347
Boost.ScopeExit库由于种种原因,C++中没有Java或C#中的try{}finally{}语句,虽然有SEH,可以实现finally效果,但是可定制性太差,不尽人意。SEH实现的finally语句__try{ throw std::bad_exception();}__finally{...
分类:
其他好文 时间:
2014-07-27 10:46:42
阅读次数:
223
When SEH is used there is a registration process where an exception structure is created for every function as a local variable. The last field of the...
分类:
其他好文 时间:
2014-07-11 10:52:10
阅读次数:
734
本文99.9%的代码及内容作者:mengwuji来自:http://www.mengwuji.net/forum.php?mod=viewthread&tid=1371VEH:向量化异常处理,是对整个进程来说是全局的(SEH是针对线程的)异常捕获技术,只要通过简单的设置,只要当前进程发送了异常,都能...
分类:
其他好文 时间:
2014-05-07 09:44:38
阅读次数:
367