news 2026/6/24 4:30:33

mouclass!MouseClassReadCopyData函数分析之通过全局变量mouclass!Globals打开调试mouclass!MouDebugPrint后--重要

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mouclass!MouseClassReadCopyData函数分析之通过全局变量mouclass!Globals打开调试mouclass!MouDebugPrint后--重要

mouclass!MouseClassReadCopyData函数分析之通过全局变量mouclass!Globals打开调试mouclass!MouDebugPrint后

#if DBG
VOID
MouDebugPrint(
    ULONG DebugPrintLevel,
    PCCHAR DebugMessage,
    ...
    )
{
    va_list ap;

    va_start(ap, DebugMessage);

    if (DebugPrintLevel <= Globals.Debug) {

        char buffer[256];

        (VOID) vsprintf(buffer, DebugMessage, ap);

        DbgPrint(buffer);
    }

    va_end(ap);

}
#endif

第一部分:
0: kd> p
mouclass!MouseClassReadCopyData+0x20:
f74f9d46 c1e703          shl     edi,3
0: kd> p
mouclass!MouseClassReadCopyData+0x23:
f74f9d49 57              push    edi
0: kd> p
mouclass!MouseClassReadCopyData+0x24:
f74f9d4a 68cc9a4ff7      push    offset mouclass!MouseClassClose+0x26c (f74f9acc)
0: kd> p
mouclass!MouseClassReadCopyData+0x29:
f74f9d4f 6a03            push    3
0: kd> p
mouclass!MouseClassReadCopyData+0x2b:
f74f9d51 8945fc          mov     dword ptr [ebp-4],eax
0: kd> p
mouclass!MouseClassReadCopyData+0x2e:
f74f9d54 e8f3e4ffff      call    mouclass!MouDebugPrint (f74f824c)
0: kd> t
mouclass!MouDebugPrint:
f74f824c 55              push    ebp
0: kd> x mouclass!Globals
f74fd040          mouclass!Globals = struct _GLOBALS
0: kd> dx -r1 (*((mouclass!_GLOBALS *)0xf74fd040))
(*((mouclass!_GLOBALS *)0xf74fd040))                 [Type: _GLOBALS]
    [+0x000]Debug            : 0x0[Type: unsigned long]
    [+0x004] GrandMaster      : 0x0 [Type: _DEVICE_EXTENSION *]
    [+0x008] AssocClassList   : 0x0 [Type: _PORT *]
    [+0x00c] NumAssocClass    : 0x0 [Type: unsigned long]
    [+0x010] Opens            : 0 [Type: long]
    [+0x014] NumberLegacyPorts : 0x0 [Type: unsigned long]
    [+0x018] Mutex            [Type: _FAST_MUTEX]
    [+0x038] ConnectOneClassToOnePort : 0x1 [Type: unsigned long]
    [+0x03c] PortsServiced    : 0x3 [Type: unsigned long]
    [+0x040] InitExtension    [Type: _DEVICE_EXTENSION]
    [+0x150] RegistryPath     : "\REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\Mouclass" [Type: _UNICODE_STRING]
    [+0x158] BaseClassName    : "PointerClass" [Type: _UNICODE_STRING]
    [+0x160] BaseClassBuffer  [Type: unsigned short [256]]
    [+0x360] LegacyDeviceList [Typ

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 19:08:07

精准把控外协环节,进销存软件让生产更顺畅

在制造业的生产链条中&#xff0c;工序外协早已成为企业整合资源、缓解产能压力的重要选择。无论是面对订单激增时的产能缺口&#xff0c;还是特殊工艺的技术壁垒&#xff0c;将部分工序委托给专业外协厂商&#xff0c;都能帮助企业降低运营成本、提升生产灵活性。但随之而来的…

作者头像 李华
网站建设 2026/6/13 18:11:45

VMware macOS解锁工具2025最新安装教程:从痛点分析到完美解决方案

VMware macOS解锁工具2025最新安装教程&#xff1a;从痛点分析到完美解决方案 【免费下载链接】unlocker 项目地址: https://gitcode.com/gh_mirrors/unlo/unlocker 想在Windows或Linux系统上体验macOS的魅力吗&#xff1f;VMware macOS Unlocker正是您需要的终极解决方…

作者头像 李华
网站建设 2026/6/10 21:33:10

解锁C++中文分词:CppJieba实战应用全解析

解锁C中文分词&#xff1a;CppJieba实战应用全解析 【免费下载链接】cppjieba "结巴"中文分词的C版本 项目地址: https://gitcode.com/gh_mirrors/cp/cppjieba 在当今数据驱动的时代&#xff0c;中文文本处理已成为众多应用的核心需求。CppJieba作为一款高性能…

作者头像 李华
网站建设 2026/6/21 14:03:17

基于深度学习的犬只检测算法研究开题报告

杭州电子科技大学毕业设计&#xff08;论文&#xff09;开题报告题 目基于深度学习的犬只检测算法研究学 院网络空间安全学院专 业网络工程姓 名班 级&#xff1f;&#xff1f;&#xff1f;学 号21272121指导教师张烨菲综述本课题国内外研究动态&#xff0c;…

作者头像 李华
网站建设 2026/6/19 3:28:29

诊断开发阶段实现UDS 31服务的实战案例

从零构建电机控制器的UDS 31服务&#xff1a;一个真实开发案例的深度拆解 你有没有遇到过这样的场景&#xff1f;产线下线检测时&#xff0c;需要快速验证IGBT是否短路&#xff0c;但整车系统还没上电&#xff0c;应用层逻辑也无法启动。这时候&#xff0c;传统的读DID、写信号…

作者头像 李华