0202、Windows 零基础逆向教程(二):提升篇
返回:Windows 逆向总目录 · 网络安全学习主页
提升篇开始进入 PE 文件结构和 Windows 程序加载机制。入门篇更多是在补“怎么看汇编、怎么看寄存器、怎么看栈”;提升篇则要继续往文件格式、加载器、导入导出、异常、符号、TLS 和项目工具方向走。
这部分按小块整理,不把所有视频标题平铺在一页里。每篇笔记围绕一个能复盘的主题展开:先讲概念,再讲结构,再讲调试或代码验证。
1、学习定位
线索
目标
PE 结构
能看懂 DOS 头、NT 头、可选头、节表、数据目录和文件/内存映像差异
加载机制
能理解程序从文件到进程内存的大致过程,包括导入、重定位、节区保护和入口点
数据目录
能逐步复盘导出表、导入表、资源表、异常表、证书、调试信息和 TLS
工具能力
能写小型解析工具,用结构体和偏移验证 PE 字段
项目实践
能把解析能力迁移到 PE 修改器、调试器、扫描器等工具项目
逆向笔记只用于合法样本分析、课程复盘和防护理解。涉及模块加载、内存修改、ShellCode、注入等内容时,只整理原理、结构和安全边界,不整理未授权攻击流程。
2、章节目录 ...
0201、Windows 零基础逆向教程(一):入门篇
返回:Windows 逆向总目录 · 网络安全学习主页
这一篇是 Windows 逆向的入门主线,内容很长,不能全部塞进一篇文章里。这里按“环境与数据 → 寄存器与标志位 → 内存与汇编框架 → 指令与堆栈 → 控制流逆向 → 数据结构逆向 → C++ 对象逆向 → MASM → x64 → 调试器项目”的节奏拆成章节页。
1、学习定位入门篇要建立三条线:
线索
目标
汇编线
能看懂常见指令、寄存器、标志位、堆栈和调用过程
逆向线
能把 C/C++ 代码和反汇编结构互相对应
调试线
能使用 DBG/IDA/Visual Studio 观察程序运行、断点、异常和模块信息
对我来说,这一篇不是为了“记住所有指令”,而是为了能在调试器里看懂程序正在做什么。
2、章节目录
编号
内容范围
主要内容
笔记
0204
01 环境、语言映射与数据表示
VS 配置、汇编执行框架、机器语言/汇编/高级语言关系、进制、存储宽度、数据截断、正负数和整数底层规则
0204
0205
02 寄存器、标志位与内存基础
通用寄存器、段寄存器、EIP、EFLAGS、 ...
0200、Windows 逆向:总目录
返回:网络安全学习主页
1、学习定位Windows 逆向这条线主要用于理解二进制程序如何运行、如何调试、如何解析 PE 结构,以及常见注入、ShellCode、反调试等技术背后的原理。学习目标是建立合法分析、调试和防护视角。
2、分篇目录
编号
分篇
主要内容
笔记入口
0201
Windows 零基础逆向教程(一):入门篇
进制、寄存器、EFLAGS、内存、汇编、堆栈、函数、控制流、数组、指针、对象模型、MASM、调试器开发
0201
0202
Windows 零基础逆向教程(二):提升篇
PE 结构、导入导出表、重定位、无模块加载、模块隐藏、资源、异常、TLS、PDB、PE 修改、CE 扫描器项目
0202
0203
Windows 零基础逆向教程(三):攻防篇
注入原理、远程线程、APC、早鸟注入、全局钩子、内存映射、系统调用、ShellCode、反调试
0203
3、复盘重点
方向
复盘重点
汇编基础
指令、寄存器、标志位、栈帧和调用约定
PE 解析
DOS 头、NT 头、节表、导入表、导出表、重定位和资源
调试能力
DBG ...
0104、安全开发篇(一):数据与运算
返回:安全开发篇(一)汇总 · 上一节:基础语法 · 安全开发总目录
这一篇开始真正看“数据”本身。
C 语言里的数据不是抽象概念,它最终都会落到内存里的二进制位上。整数有宽度,符号位会影响解释方式,浮点数不一定能精确表示小数,字符也不只是屏幕上看到的字母。后面学指针、内存、溢出、编码、逆向和漏洞时,这些内容会反复出现。
3.0 代码调试与窗口监控调试不是代码出错后才做的事情。学习 C 语言时,调试更像是一种观察方式:让程序暂停在某一行,看变量、内存、调用栈和输出窗口分别发生了什么。
常用调试动作
动作
作用
设置断点
让程序运行到指定位置暂停
单步跳过
执行当前行,不进入函数内部
单步进入
遇到函数调用时进入函数内部
单步跳出
从当前函数执行完并返回调用处
观察变量
看变量当前值是否符合预期
观察内存
直接看某个地址附近的字节内容
调用堆栈
看当前函数是从哪里被调用过来的
适合用来调试的最小程序123456789101112131415161718#include <stdio.h>int add(int left, int ...
0103、安全开发篇(一):基础语法
返回:安全开发篇(一)汇总 · 上一节:环境与框架 · 安全开发总目录
这一篇从 2.0 开始,主要整理 C 语言里最基础的一组表达方式:怎么命名、怎么定义变量、怎么表示常量、怎么输出、怎么接收输入。
这些内容看起来都很普通,但后面学指针、内存、结构体、文件读写和 Windows API 时,所有问题都会落回这些基础细节:类型是否匹配、缓冲区是否够用、格式化字符串是否正确、输入边界是否检查。
2.0 关键字以及命名规范C 语言里的关键字是语言已经占用的词,不能再拿来当变量名、函数名或自定义标识符。
类别
常见关键字
作用
类型相关
int、char、float、double、void
描述数据类型或函数返回值
控制流程
if、else、switch、case、for、while、do
控制程序执行顺序
跳转控制
break、continue、return、goto
改变当前执行流程
存储相关
auto、static、extern、register
描述变量的存储方式或链接属性
类型限定
const、volatile、signed、unsigned、sh ...
0102、安全开发篇(一):VS配置 和 基础框架
返回:安全开发篇(一)汇总 · 安全开发总目录 · 网络安全学习主页
这一节先把开发环境和最小程序框架跑通。后面学习变量、数组、指针、函数栈、PE 和逆向分析时,所有实验都会回到同一个问题:代码如何被写出来、编译出来、运行起来。
1.0 前言:课程体系与学习路线安全开发可以先按三层理解:
层次
内容
作用
语言基础
C 语言、C++ 基础、指针、结构体、函数、文件、内存
能写小程序,也能读懂后续示例代码
系统基础
Windows 程序、API、编译链接、调试、进程和内存
能理解程序如何在系统上运行
安全连接
逆向分析、漏洞成因、内存边界、注入和防护思路
把开发能力转成安全分析能力
本课程前期看起来很基础,但不要跳太快。后面的缓冲区、指针、函数栈、PE、ShellCode 和逆向分析,都会默认你已经理解“程序如何组织”和“代码如何运行”。
本章目标可以压缩成四句话:
能安装并打开 Visual Studio。
能创建 C/C++ 控制台项目。
能添加 .c 或 .cpp 源文件并写出最小程序。
能运行、调试,并观察最小程序的执行结果。
1.1 Vi ...
0101、安全开发篇(一):C/C++ 基础入门
返回:安全开发总目录 · 网络安全学习主页
1、本篇定位这一篇先补 C/C++ 最基础的表达能力,重点是能写、能调、能理解变量和内存之间的关系。
2、章节目录
章节
主要内容
笔记
01 环境与框架
Visual Studio、控制台程序、入口点、函数调用
0102
02 基础语法
关键字、变量、常量、类型限定符、格式化输出
0103
03 数据与运算
整数、浮点数、字符、类型转换、运算符优先级
0104
04 类型转换与运算符
类型转换、算术运算、递增递减、赋值、比较、逻辑运算、优先级、三目和单行 if
0105
05 选择与循环
多行 if、多条件 if、嵌套 if、switch、while、do while、for、猜大小案例
0106
06 循环跳转与数组基础
嵌套循环、break、continue、goto、数组概念、数组内存布局、二维数组
0107
07 数组、字符串与结构体
多维数组、汇编寻址、数组越界、字符串处理、结构体数组、结构体嵌套与对齐
0108
08 指针与函数入门
内存存储单元、指针变量、空指针、野指针、指针步长、指 ...
0100、Ferry 学院安全开发:总目录
返回:网络安全学习主页
1、学习定位Ferry 学院安全开发这一条线先补 C/C++ 与 Windows 平台开发基础。它不是单纯刷语法,而是为后面的逆向、调试、内存分析、漏洞理解和安全工具开发打底。
2、分篇目录
编号
分篇
主要内容
笔记入口
01
安全开发篇(一):C/C++ 基础入门
C 语言基础、数据类型、控制流、数组、字符串、结构体、指针、函数
0101
02
安全开发篇(二):C/C++ 进阶提升
函数栈、调用约定、指针进阶、文件读写、内存管理、项目练习
0110
03
安全开发篇(三):C++ 面向对象基础
命名空间、引用、new/delete、类与对象、构造析构、继承、多态、项目设计
0115
04
安全开发篇(四):C++ 泛型编程详解
函数模板、类模板、STL、string、vector、deque、list、set、map、异常处理
0122
3、编号结构
范围
内容
0100
Ferry 学院安全开发总目录
0101
安全开发篇(一)汇总
0102 ~ 0109
安全开发篇(一)各章笔记
0110
...
2026.06.28 读《巴别塔那么高,我们能爬得上去吗?》有感
返回:🌠 Summary And Schedule。
原文:AleXJokeR《巴别塔那么高,我们能爬得上去吗?》。这篇不是全文转载,只按自己的理解做一次读后整理。
读这篇文章时,我最强烈的感受不是“AI 又变强了”,而是编程这件事的重心正在移动。
以前写程序,很多成就感来自把一个具体问题硬啃下来:一个报错、一段环境配置、一个页面、一个接口、一个算法题。那时候代码本身有很强的门槛,很多东西不会就是不会,需要搜索、试错、调试,甚至卡很久。
现在不一样了。AI 把很多细节压得很薄,原来需要反复查资料的东西,现在只要问题描述清楚,很快就能得到一个可运行的起点。写代码的痛苦没有完全消失,但它被重新分配了:语法和样板变轻了,想法、判断和表达变重了。
1、真正让人兴奋的不是代码本身我觉得这篇文章最打动我的地方,是它把“写代码”重新放回了“创造”里。
代码当然重要,但代码不是终点。一个程序之所以让人开心,不是因为它有多少行,也不是因为用了多复杂的框架,而是因为它把一个原本不存在的东西带到了现实里。
也许昨天只是脑子里一个模糊想法:我想整理笔记、我想自动生成页面、我想做一个学习计划、我想把博客目 ...
工作经验备忘
返回:🌠 Summary And Schedule。
这只是我和认识朋友的工作小结汇总,不代表具体行业内容。求职时要结合城市、岗位、合同、薪资结构和自身情况判断,最终还是要自己去实践和核实。
总览图
核心判断求职时不要只看岗位名称和招聘话术,要拆开看四件事:
这份工作真正做什么:技术、服务、运营、销售、外呼、推广,还是杂活包装。
薪资怎么来:固定底薪、绩效、提成、补贴、试用期工资、加班费和扣罚规则。
合同和成本是什么:三方、劳动合同、劳务合同、外包关系、押金、设备费、培训费、租车费。
长期能留下什么:技能、作品、证书、行业经验、人脉,还是只留下疲惫和风险。
1、准备阶段
明确目标 :职业发展、工作内容、工资、通勤和休息要先排优先级。工作不是用来证明自己的,而是要支撑生活和成长。
准备简历 :非专业性强的岗位也要认真写简历。哪怕只是普通工作,也要把经历、责任心、沟通能力和稳定性表达清楚。
调研公司 :看公司是否长期招聘同类岗位、是否频繁加班欠薪、评价是否异常,不要只看招聘软件上的包装。
了解行情 :先知道本地普通岗位工资区间,别被“高薪”“轻松”“无经验”吸走。
2、求职 ...


