2 个版本
0.1.1 | 2019 年 4 月 27 日 |
---|---|
0.1.0 | 2018 年 7 月 29 日 |
#1230 在 硬件支持
80KB
640 行
Capcom Zero
Rust 对著名 Capcom 驱动程序的绑定。
Capcom 驱动程序使普通管理员应用程序能够获得内核级 ring0 执行权限。
二进制文件
包含一个名为 elevate
的二进制文件,该文件以 NT AUTHORITY\SYSTEM
权限启动命令提示符。
运行二进制文件需要管理员权限。调用 build.bat --release
以正确 UAC 请求在启动时需要管理员权限来构建二进制文件。
示例
注意,需要管理员权限来加载 Capcom 驱动程序。
fn main() {
// Easy setup to load the driver and open its device handle.
let result = capcom0::setup(|_driver, device| {
let mut success = false;
// This unsafe is an understatement :)
unsafe {
// The closure is executed with kernel privileges
device.elevate(|ctx| {
success = true;
});
}
success
});
assert_eq!(result, Ok(true));
}
详细信息
本节深入探讨了您 Windows 系统所做的修改以及如何手动删除 Capcom 驱动程序及其服务的任何剩余痕迹。
库和工具内置了对将 RECOVER
文件写入当前目录的支持。此文件包含一个或两个字符串,描述 Capcom.sys 驱动程序映像的路径及其在注册表中的服务名称。如果成功从 Windows 系统中删除并删除了驱动程序,则该文件将自动删除。
如果此文件不存在,则没有问题,一切都被成功清理。否则,用文本编辑器打开文件并注意其中包含的信息。
加载驱动程序需要将它们注册为服务。服务有多种形式,设备驱动程序 是一种具有将有效载荷加载到内核地址空间的服务。服务在 Windows 注册表 的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
树下列出。服务名称是其在 Services 键下的条目名称。
此库在 Windows 注册表中为 Capcom 服务创建了一个新条目。要删除 Capcom 服务,只需找到其条目并删除它。为确保驱动程序本身不再加载,之后重新启动计算机。
使用RegEdit在Windows注册表中简单地找到Capcom服务 CTRL-F 打开 查找 窗口。如果您知道Capcom服务名称,输入它并查看具有 仅匹配整个字符串 的 键。如果您知道Capcom.sys驱动程序的路径,输入它并查看没有 仅匹配整个字符串 的 数据。双重检查找到的内容与前面提到的服务树匹配。
在删除服务后,尝试删除Capcom.sys驱动程序映像。如果您无法删除(因为文件仍在使用中),可能是因为驱动程序仍在加载中。重新启动将确保驱动程序不再加载,并且不会再次加载。再次尝试删除Capcom.sys驱动程序映像。
免责声明
此驱动程序将ring0内核资源暴露给任意用户程序。没有认证来防止未经授权访问Capcom驱动程序公开的能力。
防病毒程序可能将Capcom驱动程序标记为“黑客工具”。这不是误报。这正是Capcom驱动程序被使用的原因。您可以选择将Capcom驱动程序列入您选择的防病毒程序的“白名单”。
自行承担风险。
防作弊程序不喜欢Capcom驱动程序,因为它可以用来隐藏作弊行为。因此,一些公司可能会在他们的防作弊程序观察到已加载的Capcom驱动程序时立即禁止您的用户账户。仅将Capcom驱动程序放在磁盘上可能已经看起来可疑。
如果您玩游戏,尤其是那些具有侵略性防作弊程序的,我建议您远离这个库。
我对于使用此库造成的任何损害、数据丢失或其他后果概不负责。
许可证
在MIT许可证下授权,见license.txt。
贡献
除非您明确说明,否则您有意提交的任何贡献,包括您提交到作品中的任何贡献,均应按照上述方式授权,而不附加任何其他条款或条件。
依赖项
~1MB
~22K SLoC