2019年11月13日

Visual C++ 里的 Classes, Methods and RTTI

摘要: 类的基本布局 为了说明以下内容,让我们考虑这个简单的例子: class A { int a1; public: virtual int A_virt1(); virtual int A_virt2(); static void A_static1(); void A_simple1(); }; cl 阅读全文

posted @ 2019-11-13 23:01 活着的虫子 阅读(504) 评论(0) 推荐(0) 编辑

Visual C++ 里的异常处理

摘要: 微软Visual C++是Win32最广泛使用的编译器,因此Win32反向器对其内部工作非常熟悉。能够识别编译器生成的粘合代码有助于快速集中于程序员编写的实际代码。它还有助于恢复程序的高级结构。我将集中讨论MSVC编译程序中的堆栈布局、异常处理和相关结构。假设对汇编程序、寄存器、调用约定等有一定的了 阅读全文

posted @ 2019-11-13 21:37 活着的虫子 阅读(1301) 评论(0) 推荐(0) 编辑

Windows加载器与模块初始化

摘要: 本文是Matt Pietrek在1999年9月的MSJ杂志上发表的关于Windows加载器与模块初始化方面的文章。作者深入分析了LdrpRunInitialize璕outines例程的作用,用C语言写出了此函数的伪代码,并剖析了模块初始化的整个过程,对于想了解Windows加载器的读者来说是不可多得 阅读全文

posted @ 2019-11-13 19:57 活着的虫子 阅读(977) 评论(0) 推荐(0) 编辑

记又一次内存爆掉导致的崩溃

该文被密码保护。 阅读全文

posted @ 2019-11-13 19:28 活着的虫子 阅读(1) 评论(0) 推荐(0) 编辑

Win32下的中断和异常

摘要: 本文是Matt Pietrek在1997年月10月的MSJ杂志Under The Hood专栏上发表的文章。中断和异常在DOS时代是整个系统的灵魂,但Windows已将其隐藏到了系统深处。Matt Pietrek详细剖析了Windows下的中断和异常及其处理机制以及内核模式与用户模式代码之间调用的问 阅读全文

posted @ 2019-11-13 18:30 活着的虫子 阅读(1123) 评论(0) 推荐(0) 编辑

从TEB到PEB再到SEH(二)

摘要: 什么是SEH? SEH( Structured Exception Handling , 结构化异常处理 ) 结构化异常处理(SEH)是Windows操作系统提供的强大异常处理功能。而Visual C++中的__try{}/__finally{}和__try{}/__except{}结构本质上是对W 阅读全文

posted @ 2019-11-13 16:37 活着的虫子 阅读(912) 评论(0) 推荐(0) 编辑

从TEB到PEB再到SEH(一)

摘要: 什么是TEB? TEB(Thread Environment Block,线程环境块) 线程环境块中存放着进程中所有线程的各种信息 这里我们了解到了TEB即为线程环境块, 进程中每一条线程都对应着的自己的“TEB”。 TEB的访问方法 ntdll.NtCurrentTeb() 函数用来返回当前线程的 阅读全文

posted @ 2019-11-13 16:03 活着的虫子 阅读(1697) 评论(0) 推荐(0) 编辑

导航