zoukankan      html  css  js  c++  java
  • 第一个内核程序

    第一个内核程序

    新建项目

    1566894917530

    设置项目属性

    1566894978251

    代码

    #include <ntddk.h>

    // 卸载
    VOID MyDriverUnload(PDRIVER_OBJECT driver)
    {
    // 避免编译器报未引用参数的报告
    UNREFERENCED_PARAMETER(driver);
    // 打印
    KdPrint(("Unload "));
    }

    // 相当于main
    NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING path)
    {

    UNREFERENCED_PARAMETER(path);
    // 手动断下
    _asm int 3;
    KdPrint(("First Driver "));
    // 注册驱动卸载函数
    driver->DriverUnload = MyDriverUnload;
    return STATUS_SUCCESS;
    }

    生成文件仍到虚拟机

    虚拟机需要更改注册表让它能显示KdPrint打印的信息到Windbg

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerDebug Print Filter]
    "DEFAULT"=dword:0000000f

    1566895202360

    用加载工具加载

    1566895367590

    点击启动后会断下,

    停在了int3.按F10.就是下一步,会打印First Driver

    1566895927945

    就可以调试了

    我的电脑-右键属性-高级系统属性-

    1566896428342

    找到MEMORY.DMP

    然后Windbg-File-OpenCrushDump打开它。

  • 相关阅读:
    数据库作业
    数据库知识点⑤
    数据库知识点④
    一个值得纪念的日子
    设计模式之单件模式
    HDU 5441 Travel
    HDU 5483 Nux Walpurgis
    Markdown 测试
    HDU 3271 SNIBB
    HDU 5536 Chip Factory
  • 原文地址:https://www.cnblogs.com/ltyandy/p/11419442.html
Copyright © 2011-2022 走看看