如果你写过 Win32 窗口程序,能调通 CreateFile、CreateProcess,但一碰到「进程里的某个 API 被谁改了」「怎么把自己的一段代码塞进别的进程」就说不清楚,这门课就是补这块的。它不教你怎么拖控件、怎么画界面,专攻 Windows 用户态底下那层容易被跳过的东西:模块加载、地址表、注入、API 拦截、调试接口。先想清楚自己缺哪一块,再决定从哪一节切入。
先确认你有没有这三个缺口
- 知道 DLL 会被加载,但说不清 PE 文件里导入表、导出表、IAT 各自干什么,加载器按什么顺序填地址。
- 用过 LoadLibrary / GetProcAddress,但没写过让别的进程去加载你的 DLL,也没处理过跨进程内存读写。
- 听过 API Hook,但没实际拦过一条调用,不知道 inline hook 和改 IAT 两种做法在实现和稳定性上差在哪。
三个里中两个,说明基础够用,可以直接跟后面的实例走;只中一个,建议先把模块与地址表那部分吃透,否则后面全是照着敲。
内容围绕「一个进程怎么被另一个进程影响」展开
课程的主线是进程间操作与执行流改写,不是零散的 API 演示。远程注入部分讲的是把代码或模块送进目标进程并让它跑起来:打开目标进程、申请内存、写入内容、创建远端线程,每一步都会踩到权限、位数匹配、路径长度这类具体问题。拦截 API 部分接着讲怎么在调用链上做手脚,包括对照导入地址表逐项分析核心代码,讲清楚改写发生在哪一层、什么时候生效、什么时候会被还原。中间还夹了一段拦截调试,把调试器与拦截之间的关系摆出来看——自己写的拦截和系统调试机制撞上时会出现什么现象,这部分单独看一遍比只看注入更有用。
看得下去,是因为它在解释而不是在念代码
这类主题最怕两种讲法:一种是只给成品代码,参数什么意思不说;另一种是只讲原理,落不了地。从线索看,这门课按「先拆结构、再写代码、再对照地址表复盘」的节奏走,导出地址表、核心编码分开成节,说明作者愿意把中间那层展开。加餐那节专门拿 IAT 表对照代码,属于把前面埋的坑填上,建议不要跳过——很多人注入跑通了,但说不清为什么某些程序注入就崩,答案往往在这张表里。
配套练习建议
- 自己写一个目标程序,故意调用几个明显可识别的 API(比如弹窗、写文件),然后对它做拦截,观察行为是否被改掉。
- 换一个位数不同的目标试一次注入,把失败原因记下来;再换成系统进程试一次,对比报错差异。
- 把导入地址表和导出地址表都 dump 一份,手工标出课程里改动的那几项。
- 拦截生效后,用调试器附加进去看栈,确认执行路径和你预期的一致。
看完应该能回答的问题
- 一次远程注入从打开进程到代码执行,中间哪一步最容易失败,为什么?
- 改 IAT 和改函数开头几个字节,各自的适用场景和明显缺陷是什么?
- 为什么有的程序拦截后立刻失效或者直接崩溃,可能和哪些加载时机有关?
- 调试器附加与你自己做的拦截,会不会互相干扰,先出现的是哪一个?
这些问题能答上来,说明你不是把代码跑通了一遍,而是真的理解了这条链路。答不上来的那一条,回去对应章节重看。
Windows 全新开发编程实例
深入浅出,掌握Windows编程核心
编辑点评
系统讲解Windows编程实例,涵盖远程注入、拦截API、DLL调用等高级技巧,适合有一定基础的程序员提升技能。
⭐ 编辑推荐
本课程通过实例教学,深入浅出地讲解Windows编程的核心概念和技巧,帮助学员掌握远程注入、拦截API、DLL调用等高级编程技术。
课程亮点
课程目录
📁 21965
📁 5
📁 Part five
5-11 远程注入+拦截API(二).mp4 [18.2 MB]
5-10 远程注入+拦截API(一).mp4 [12.4 MB]
5-9 拦截调试.mp4 [27.7 MB]
5-7 (加餐)对照IAT表详解核心代码.mp4 [26.6 MB]
5-6 核心编码(上).mp4 [64.2 MB]
5-5 导出地址表(IAT).mp4 [33.4 MB]
5-3 先睹为快.mp4 [8.7 MB]
5-2 拦截原理说明.mp4 [13.3 MB]
5-1 课程概览,学我所需.mp4 [6.5 MB]
5-13 远程注入+拦截API(四).mp4 [16.9 MB]
5-8 核心编码(下).mp4 [14.1 MB]
5-12 远程注入+拦截API(三).mp4 [16.0 MB]
5-4 制作目标API.mp4 [10.4 MB]
📁 4
📁 Part four
4-31 远程注入DLL(三).mp4 [19.2 MB]
4-30 远程注入DLL(二).mp4 [50.5 MB]
4-29 远程注入DLL(一).mp4 [13.1 MB]
4-22 通过SetWindowsHookEx注入DLL(八).mp4 [18.9 MB]
4-17 通过SetWindowsHookEx注入DLL(三).mp4 [15.3 MB]
4-13 函数转发注入DLL(四).mp4 [11.2 MB]
4-12 函数转发注入DLL(三).mp4 [35.2 MB]
4-11 函数转发注入DLL(二).mp4 [22.2 MB]
4-10 函数转发注入DLL(一).mp4 [25.6 MB]
4-8 ProcessExplorer验证注入DLL.mp4 [12.2 MB]
4-4 注册表知识准备.mp4 [27.2 MB]
4-1 课程概览,学我所需.mp4 [7.3 MB]
4-32 远程注入DLL(四).mp4 [20.1 MB]
4-19 通过SetWindowsHookEx注入DLL(五).mp4 [14.6 MB]
4-26 全局钩子之共享段(下).mp4 [11.9 MB]
4-20 通过SetWindowsHookEx注入DLL(六).mp4 [36.8 MB]
4-15 通过SetWindowsHookEx注入DLL(一).mp4 [25.7 MB]
4-33 远程注入DLL(五).mp4 [9.8 MB]
4-14 函数转发注入DLL(五).mp4 [11.7 MB]
4-5 注册表注入DLL(上).mp4 [42.9 MB]
4-9 验证win7系统注入DLL的有效性.mp4 [21.9 MB]
4-3 VS201X的程序如何在windows XP下跑起来.mp4 [25.9 MB]
4-27 挂钩指定线程(上).mp4 [30.0 MB]
4-7 DebugView验证注入DLL.mp4 [22.0 MB]
4-2 工作原理及技术说明.mp4 [59.1 MB]
4-25 全局钩子之共享段(上).mp4 [47.9 MB]
4-28 挂钩指定线程(下).mp4 [8.8 MB]
4-24 全局钩子(下).mp4 [43.9 MB]
4-23 全局钩子(上).mp4 [17.7 MB]
4-18 通过SetWindowsHookEx注入DLL(四).mp4 [27.2 MB]
4-6 注册表注入DLL(下).mp4 [17.0 MB]
4-21 通过SetWindowsHookEx注入DLL(七).mp4 [36.5 MB]
4-16 通过SetWindowsHookEx注入DLL(二).mp4 [49.4 MB]
📁 3
📁 Part three
3-32 Python调用dll动态链接库(上).mp4 [23.9 MB]
3-30 VB调用dll动态链接库(上).mp4 [35.8 MB]
3-28 C#调用有参导出函数(上).mp4 [35.3 MB]
3-24 通过def文件规范C++带参函数导出符号.mp4 [25.8 MB]
3-23 通过def文件规范C++函数导出符号.mp4 [8.4 MB]
3-21 __cdecl与__stdcall.mp4 [32.8 MB]
3-16 类库的工业化设计(上).mp4 [26.0 MB]
3-13 C++调用C++生成的DLL.mp4 [21.6 MB]
3-12 C++生成的DLL与C语言的区别.mp4 [17.1 MB]
3-9 初始加载法调用函数带参数的DLL.mp4 [24.9 MB]
3-7 随用随加载法调用动态链接库.mp4 [40.3 MB]
3-6 初始加载法调用无参Dll.mp4 [21.2 MB]
3-2 原理说明与初步接触.mp4 [63.3 MB]
3-11 C++调用C语言DLL的处理技巧.mp4 [27.9 MB]
3-4 使用dumpbin查看dll和exe.mp4 [33.9 MB]
3-31 VB调用dll动态链接库(下).mp4 [52.4 MB]
3-17 类库的工业化设计(下).mp4 [37.1 MB]
3-5 初始化加载法调用无参Dll.mp4 [21.2 MB]
3-18 通过向导自动生成DLL.mp4 [18.4 MB]
3-15 C++调用导出类.mp4 [8.8 MB]
3-20 安装C#、VB、Python.mp4 [19.2 MB]
3-27 C#调用def导出的C++动态链接库.mp4 [7.0 MB]
3-19 入口函数四种情况详解.mp4 [73.9 MB]
3-10 隐式调用带参函数的dll.mp4 [21.5 MB]
3-22 通过def文件规范C语言导出符号.mp4 [24.2 MB]
3-1 课程概览,学我所需.mp4 [17.3 MB]
3-8 导出函数带参数的DLL.mp4 [22.3 MB]
3-33 Python调用dll动态链接库(下).mp4 [13.6 MB]
3-29 C#调用有参导出函数(下).mp4 [17.3 MB]
3-3 从HelloWorld开始.mp4 [26.8 MB]
3-26 C#无法直接调用C++导出的DLL.mp4 [25.7 MB]
3-25 C#调用C语言编写的DLL.mp4 [59.3 MB]
3-14 DLL导出类.mp4 [15.0 MB]
📁 2
📁 Part two
2-14 线程资源判断.mp4 [32.4 MB]
2-12 线程池同步-信号量.mp4 [30.5 MB]
2-7 异步IO完成触发调用.mp4 [77.4 MB]
2-5 周期性调用.mp4 [147.0 MB]
2-3 异步方式调用(上).mp4 [39.2 MB]
2-1 课程概览,学我所需.mp4 [10.9 MB]
2-6 内核对象触发调用.mp4 [62.3 MB]
2-11 线程池同步-互斥量.mp4 [18.9 MB]
2-15 线程资源池定制.mp4 [56.8 MB]
2-2 线程池原理及API.mp4 [39.4 MB]
2-8 线程池同步-Interlocked族函数.mp4 [35.8 MB]
2-10 线程池同步-事件内核对象.mp4 [39.6 MB]
2-13 逻辑完成-解除等待.mp4 [13.8 MB]
2-4 异步方式调用(下).mp4 [43.4 MB]
2-9 线程池同步-临界区.mp4 [34.7 MB]
📁 1
📁 Part one
1-21 异步完成IO(六).mp4 [35.0 MB]
1-15 异步读写判断.mp4 [13.7 MB]
1-14 异步读写.mp4 [42.9 MB]
1-12 获取文件大小.mp4 [32.2 MB]
1-7 打开IO设备.mp4 [38.2 MB]
1-2 课程概览,学我所需.mp4 [7.6 MB]
1-5 (加餐)#pragma once与#ifndef.mp4 [9.5 MB]
1-20 异步完成IO(五).mp4 [22.8 MB]
1-11 解决UNICODE编码问题.mp4 [65.3 MB]
1-23 windows调试之debugview远程调试.mp4 [13.0 MB]
1-1 七日成蝶课程体系说明(2020).mp4 [42.6 MB]
1-4 (加餐)VS2019初体验.mp4 [14.6 MB]
1-13 设置文件尾.mp4 [39.0 MB]
1-22 windows调试之debugview本地调试.mp4 [34.5 MB]
1-19 异步完成IO(四).mp4 [55.7 MB]
1-16 异步完成IO(一).mp4 [24.9 MB]
1-18 异步完成IO(三).mp4 [63.2 MB]
1-8 写入文件设备.mp4 [24.1 MB]
1-3 (加餐)VS2019下载安装.mp4 [28.2 MB]
1-10 读取文件设备.mp4 [26.7 MB]
1-9 强制写入设备.mp4 [18.3 MB]
1-17 异步完成IO(二).mp4 [39.6 MB]
1-6 Windows IO API详解.mp4 [48.8 MB]适合人群
- 有一定基础的程序员
- Windows系统开发爱好者
学习收获
祝您学习愉快!
学有所成,前程似锦!





