Syscall Tools

本文为 Maldev Academy 中的 Module 65 ~ Module 69 小节的笔记,主要讲解实现 Syscall 的两大工具 SysWhispers 与 Hell’s Gate。以及使用这两个工具将之前的 Classic Injection、Mapping Injection、APC Injection 项目替换为 Syscall 版本。(完整学习内容请自行前往跳转链接查看)

Syscall 系统调用

本文为 Maldev Academy 中的 Module 64 小节的笔记,主要讲解 Syscall 的基本原理。作者在项目中通过代码实现了一个 Mini Edr,用于观察和分析 EDR 在 Syscall Hook 方面的行为。作者提到可以不用理解其代码具体实现,但当我跟着实现完该项目后,发现还是有很多地方值得注意的,能学到不少东西。所以,本文展开着重讲解该项目的实现。(完整学习内容请自行前往跳转链接查看)

API Hooking-Windows APIs

本文为 Maldev Academy 中的 Module 62 小节的笔记,通过 Windows 自带的 API 函数 实现 API Hook。(完整学习内容请自行前往跳转链接查看)。

SetWindowsHookEx WinAPI 调用是另一种可用于 API Hooking 的方法。它主要用于监听特定类型的系统事件,这与之前模块所介绍的技术不同,因为 SetWindowsHookExW/A 并不会修改某个函数的功能;相反,它会在某类事件被触发时执行一个回调函数。可被监听的事件类型仅限于 Windows 所提供的那些预定义事件类型。

API Hooking-Detours

本文为 Maldev Academy 中的 Module 59 小节的笔记,通过 Detours 库实现 API Hook。(完整学习内容请自行前往跳转链接查看)。课程中对 API Hook 基本原理的讲解、通过 MinHook 库实现 API Hook、自定义代码实现 API Hook,在这里就不展开详解了,课程文章原文写的很清楚明白。本篇着重讲解下 Detours 库实现 API Hook 的基本原理,以及如何加载使用 Detours 库。

IAT 隐藏和混淆

本文为 Maldev Academy 中的 Module 51 ~ Module 57 小节的笔记,通过代码实现 IAT 隐藏和混淆。(完整学习内容请自行前往跳转链接查看)。

Module51~Module57 主要讲解入如下内容:

  • String Hashing
  • IAT Hiding & Obfuscation - Introduction
  • IAT Hiding & Obfuscation - Custom GetProcAddress
  • IAT Hiding & Obfuscation - Custom GetModuleHandle
  • IAT Hiding & Obfuscation - API Hashing
  • IAT Hiding & Obfuscation - Custom Pseudo Handles
  • IAT Hiding & Obfuscation - Compile Time API Hashing