备忘录

凡心所向,素履以往,生如逆旅,一苇以航。

在不方便使用调试器启动程序的时候,可以先运行目标程序,再使用调试器附加到目标进程;

Ring3 调试器附加使用 DebugActiveProcess 函数,在附加相关进程时,会先执行 ntdll.dll 下的 ZwContinue 函数,最后停留在 ntdll.dll 的 DgbBreakPoint 处;

事实上,调试器会在此处设置一个 INT3 断点,然后由调试器自己来捕获;

使用工具

  • OllyDbg 1.10原版,简称OD
  • OD 汉化插件均来自互联网;
  • UnPackMe来自互联网,仅供学习使用;
  • OEP 检索工具为 PEiD,来自互联网;
  • 进程管理工具为Estricnina,来自互联网;
  • 反 Anti-Attach 工具为 POKEMON_AntiAttach
  • Dump 工具为 OD 插件 OllyDump,来自互联网;
  • IAT 重建工具为 ImportREC,来自互联网;
  • PE 重建工具为LoadPE,来自互联网;
  • 文中特殊数字均是HEX,为了书写方便采用DEC
    阅读全文 »

记录Windows PE 权威指南以及加密解密等书中对异常处理的原理及流程的部分描述;

Windows 的异常处理是操作系统处理程序错误或异常的一系列流程和技术的总称;

开发人员主要使用的两种异常处理技术是:

  • SEH(Structured Exception Handling,结构化异常处理):全局异常链表,不同的线程共用一个;
  • VEH(Vectored Exception Handler,向量化异常处理):局部异常链表,线程相关,位于当前线程的堆栈当中,不同线程不同堆栈;
阅读全文 »