NmiCallbackBlocker:禁止NMIs执行的核心功能

NmiCallbackBlocker:禁止NMIs执行的核心功能

NmiCallbackBlocker Kernel Level NMI Callback Blocker NmiCallbackBlocker 项目地址: https://gitcode.com/gh_mirrors/nm/NmiCallbackBlocker

项目介绍

NmiCallbackBlocker 是一个概念性的开源项目,其核心功能是通过特定的签名扫描和处理器亲和性修改技术,防止非掩码中断(Non-Maskable Interrupts,NMIs)的执行。NMIs是一种硬件级别的中断,通常用于处理错误和故障,但有时在游戏中可能会被滥用,导致游戏崩溃或违规操作。该项目通过扫描内核内存中的特定签名并修改处理器亲和性掩码,以避免NMI的执行,从而达到保护游戏运行环境的目的。

项目技术分析

NmiCallbackBlocker 的实现依赖于以下几个关键步骤:

  1. 签名扫描:项目使用特定的签名(signature)来扫描内存中NMI处理回调函数的地址。签名是一种特定的字节序列,用于标识特定的函数或结构。

    char NmiSignature[] = "\x81\x25\x00\x00\x00\x00\x00\x00\x00\x00\xB9\x00\x00\x00\x00";
    char NmiSignatureMask[] = "xx????????x????";
    
  2. 结构导入:通过找到的签名,将相应的结构导入为 PKNMI_HANDLER_CALLBACK 类型,以便进行后续操作。

  3. 处理器亲和性修改:通过遍历 KiNmiCallbackList,修改特定资产的处理器亲和性,从而防止NMI执行。

    for (auto i = 0ul; i < cores; ++i) {
        KeInterlockedSetProcessorAffinityEx((PKAFFINITY_EX)nmi_in_progress, i);
        InterlockedBitTestAndSet64(reinterpret_cast<LONG64*>(nmi_in_progress), i);
    }
    
  4. 反检测技术:为了防止被检测到,项目中使用了Udman Spoof技术来避免追踪,以及XOR加密字符串和签名。

项目及技术应用场景

NmiCallbackBlocker 的设计初衷是为了在游戏或软件中防止违规操作。在游戏领域,违规操作者可能会通过触发NMI来破坏游戏的正常运行,该项目可以有效地防止这种情况发生。以下是几个具体的应用场景:

  1. 游戏安全:在在线多人游戏中,防止违规操作者利用NMI进行破坏性操作,如故意崩溃服务器。

  2. 软件保护:在需要高度安全性的软件中,防止非法中断,确保软件的稳定运行。

  3. 系统保护:在某些特定系统中,可能需要防止意外的NMI触发,以保护系统关键功能的正常运行。

项目特点

  1. 概念性项目:NmiCallbackBlocker 作为一个概念性项目,提供了防止NMI执行的基本框架,但需要用户自行添加防检测技术,如Udman Spoof和XOR加密。

  2. 高度定制性:项目允许用户根据具体需求定制防违规操作策略,如修改处理器亲和性。

  3. 潜在风险:项目明确指出,没有反违规操作保护,因此在使用前需要确保驱动程序未被检测。此外,该项目可能会触发操作系统保护机制,如PatchGuard和HVCI,需要相应的绕过策略。

  4. 开发者支持:项目作者提供了联系方式,但明确表示不接受问题报告或学习请求。

通过上述分析,NmiCallbackBlocker 为那些需要在软件或游戏中实现额外安全措施的开发者提供了一个有价值的工具。然而,考虑到其概念性项目的性质和潜在风险,使用前需要谨慎评估。

NmiCallbackBlocker Kernel Level NMI Callback Blocker NmiCallbackBlocker 项目地址: https://gitcode.com/gh_mirrors/nm/NmiCallbackBlocker

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋韵庚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值