Sam-Sepiol-26/ShadowVault-POC

GitHub: Sam-Sepiol-26/ShadowVault-POC

一个用 C 语言实现的运行时字符串混淆概念验证项目,演示恶意软件如何利用 XOR 加密和动态密钥派生来规避静态分析。

Stars: 0 | Forks: 0

# ShadowVault:字符串混淆 PoC 一个轻量级的 C 语言实现,演示了**基于 XOR 的字符串加密**和**通过指针修改内存**。本项目作为一个基础研究,展示了恶意软件如何对静态分析工具(如 `strings` 或基础反汇编器)隐藏静态字符串(例如 C2 IP 地址)。 ## 技术概述 该程序利用了恶意软件开发中常见的几个概念: * **XOR 编码:** 对内存中硬编码的 IP 地址进行混淆。 * **指针运算:** 使用 `uint32_t*` 跨函数边界传递和修改 key。 * **影子拷贝:** 实现了局部“影子” key,以演示作用域如何在执行过程中影响变量的值。 * **按位操作:** 使用左移(`<<`)在运行时动态生成解密 key。 ## 逆向工程视角 从逆向工程师的角度来看,这段代码设置了一些“减速带”: 1. **动态 key 生成:** key 在执行 XOR 操作之前会在 `modify_value()` 中被修改,从而防止了对 key 的简单静态提取。 2. **栈 vs 全局:** 全局 `master_key` 与 `main()` 中局部 `master_key` 之间的差异是初学者常遇的经典陷阱。 ## 快速开始 ### 编译 使用 GCC: ``` gcc src/main.c -o shadowvault.exe ```
标签:DAST, DNS 反向解析, 云资产清单, 代码混淆, 客户端加密, 恶意软件分析, 概念验证, 逆向工程