这一节对应 05.2 - 05.9,主题是 x64 ShellCode 的基础能力。这里不整理可执行实现,而是把它拆成几个可复盘概念:调用约定、模块定位、PE 结构、字符串匹配、哈希匹配和动态 API 解析。

1、内容范围

小节 主题
05.2 x64 ShellCode 通用 C 语言思路
05.3 x64 汇编定位模块特征及数据比对
05.4 x64 汇编解析 PE 结构及数据关联
05.5 x64 汇编字符串匹配通用模板
05.6 x64 汇编框架远程执行测试
05.7 通用 ShellCode 框架
05.8 双版本兼容与特征混淆
05.9 字符串哈希处理及快速匹配

1.1、逐节复盘

小节 主要内容 复盘点
05.2 认识 x64 ShellCode 的限制:调用约定、栈对齐、寄存器保存 重点理解结构,不写可直接执行的字节序列
05.3 通过汇编定位模块基址和关键结构 复盘 PEB、模块链、地址范围和架构差异
05.4 从 PE 结构理解导出表、名称表和函数地址解析 关联前面 PE 学习,记录 RVA/VA 换算
05.5 使用字符串匹配理解 API 名称定位 关注编码、大小写、终止符和误匹配
05.6 在实验环境观察远程执行测试的现象 记录进程、线程、异常、模块和日志,不展开执行流程
05.7 把 ShellCode 结构整理成可复盘框架 分清初始化、定位、解析、调用和清理阶段
05.8 比较 x86/x64 或不同系统下的兼容问题 观察调用约定、指针宽度和结构偏移差异
05.9 理解字符串哈希用于快速匹配和隐藏语义 复盘哈希算法、冲突、大小写和检测痕迹

2、核心概念

概念 复盘重点
x64 调用约定 参数寄存器、栈空间、返回值和对齐要求影响执行稳定性
模块定位 需要理解 PEB、模块链表和模块基址的正常结构
PE 解析 导出表、函数名、序号和地址换算是动态解析基础
字符串匹配 明文字符串便于调试,也容易成为检测特征
哈希匹配 哈希降低明文暴露,但行为上仍会出现遍历和解析痕迹

3、防护观察点

观察点 说明
PEB 遍历 异常访问 PEB、模块链表和导出表需要关联上下文
动态解析 运行时解析 API 名称或哈希可能是可疑特征
字符串特征 明文 API、DLL、路径和错误信息都可用于静态检测
内存区域 代码是否来自非模块区域,页属性是否异常
调用栈 调用链是否缺少正常模块上下文

4、复盘方式

视角 内容
结构视角 PEB、LDR、模块、导出表
汇编视角 参数传递、栈对齐、跳转和返回
检测视角 内存属性、字符串、API 解析行为、调用栈
稳定性视角 架构差异、地址换算、寄存器保存和异常处理

5、学习检查清单

检查项 状态
能说明 x64 调用约定对执行稳定性的影响 待复盘
能解释模块定位和 PE 导出表解析之间的关系 待复盘
能说出字符串匹配和哈希匹配各自的检测痕迹 待复盘
能把 ShellCode 复盘限定在授权样本和防护分析中 待复盘

本节只保留 x64 机制和检测复盘,不提供可直接运行的 ShellCode。