一个驱动问题

Miss丿小沫 Miss丿小沫 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
问一下大家!
我是个驱动小白,
一个驱动程序 后缀是sys的
在别的电脑上 正常加载
在我的电脑上就 蓝屏了,
问一下大家 问题怎么解决呢?
还有 我贴一下我自己写的代码
大神看看有没有错误

头文件:


#include <ntddk.h>
#include <windef.h>

void UnloadDriver(PDRIVER_OBJECT pDriver);

ULONG Old_SSDT,Current_SSDT;
LONG *SSDT_Addr,STB_Addr,OpenProcess_Addr;

typedef struct JMPDATE
{
BYTE E9;
ULONG JmpAddr;

}JMPDATE;
JMPDATE JmpDate;

typedef struct SSDT
{
PVOID ServiceTableBase;
PVOID ServiceCounterTable;
unsigned int NumberofServices;
PVOID ParamTableBase;
}*pSSDT;
pSSDT pKeSSDT;

ULONG Get_Old_SSDTAddr()
{
UNICODE_STRING Old_NtOpenProcess;
ULONG Old_SSDTAddr;
RtlInitUnicodeString(&Old_NtOpenProcess,"NtOpenProcess");
Old_SSDTAddr=(ULONG)MmGetSystemRoutineAddress(&Old_NtOpenProcess);
return Old_SSDTAddr;
}
LONG Get_Current_SSDTAddr()
{
STB_Addr=(LONG)pKeSSDT->ServiceTableBase;
SSDT_Addr=(PLONG)(STB_Addr+0x7A*4);
OpenProcess_Addr=*SSDT_Addr;
return OpenProcess_Addr;
}

源文件:

#include "PassDNFDriver.h"

//入口函数
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver,PUNICODE_STRING pstr)
{
DbgPrint("Loading【过DNF驱动保护(By:吴佳泽)】\n\r");
//加载驱动
__asm
{
int 3
}

DbgPrint("OpenProcess的当前地址为:%x \n\r" ,Get_Current_SSDTAddr());

//if (Current_SSDT!=Old_SSDT)
//{
// DbgPrint("OpenProcess已被【TP】Hook!");
// JmpDate.JmpAddr=Old_SSDT-Current_SSDT-5;
//}

pDriver->DriverUnload=UnloadDriver;
return 1;
}
void UnloadDriver(PDRIVER_OBJECT pDriver)
{
DbgPrint("UnLoad【过DNF驱动保护(By:吴佳泽)】\n\r");
//卸载驱动
}


求各位大神了!
你们就是我的希望啊!!!
...全文

相关推荐

NVWebDriverLibValFix:通过一个小的且安全的内核补丁修复了macOS Sierra上NVIDIA Web驱动程序的空白窗口问题

NVWebDriverLibValFix:通过一个小的且安全的内核补丁修复了macOS Sierra上NVIDIA Web驱动程序的空白窗口问题

信念与梦想

基于生成式对抗网络的推荐系统:一个问题驱动的视角.pdf

推荐系统(RS)在人们网络生活的各个方面都扮演着非常重要的角色。许多公司利用简历来帮助用户发现新的和喜欢的项目。尽管取得了实践上的成功,这些系统仍然存在两个主要问题:数据噪声和数据稀疏性。

syp_net

LeetCode.jl:一个社区驱动的项目,以Julia编程语言为LeetCode问题提供解决方案

LeetCode.jl:一个社区驱动的项目,以Julia编程语言为LeetCode问题提供解决方案

基础颜究的三亩叔

library:一个全面的领域驱动设计示例,其中包含问题空间策略分析和各种战术模式

目录 3.13.23.33.43.4.13.5 3.63.7 3.83.93.10春天3.11测试 如何贡献 参考 关于 这是一个图书馆的项目,受实际业务需求的驱动。 我们使用与域驱动设计,行为驱动开发,事件风暴,用户故事映射紧密相关的技术。 域描述 公共图书馆允许顾客在其各个图书馆分支处搁置书籍。 在任何给定的时间点,只有一位顾客可以搁置可用的书籍。 书籍可以是流通书籍,也可以是受限制书籍,并可能收取检索或使用费用。 受限制的书籍只能由研究者赞助。 普通顾客在任何给定时刻限制为五次搁置,而研究者顾客可以无限次搁置。 开放式书夹将一直处于活动状态,直到顾客检出该书为止,此时书已完成。 在请求后的固定天数内未完成的封闭式书架将过期。 这项检查是在一天开始时通过查看具有到期保留的每日工作表来完成的。 只有研究者赞助者可以要求开放期限的保留期限。 如果在同一图书馆分支尝试暂停付款,则任何在

马克维

leetcode不会-ts-prep::puzzle_piece:一个TypeScriptstarter,用于通过测试驱动开发解决LeetCode问题

leetcode 不会准备工作 :puzzle_piece: 用于通过测试驱动开发解决 LeetCode 问题的 TypeScript 启动器 用法 先决条件 在继续之前,请确保您已在您的机器上安装。 在本地克隆这个 repo 并cd到其中 安装依赖 npm install 开始测试驱动开发 (TDD) npm start 此脚本以监视模式运行。 开始做出改变! 您将看到您的更改针对您的测试用例进行验证。 使用脚本(或手动) 与 Jest 使用 TDD 添加新问题 在 repo 的根目录中,运行 npm run new-problem ' &lt;title&gt; ' 其中&lt;title&gt;是 LeetCode 问题的标题。 标题的格式应为: {number}. {name} {number}. {name} 标题必须以数字开头,后跟句点。 否则,脚本将无法工作! 标题应该用引号括起来,以便将参数传递到脚本中 例如,如果您想为问题设置启动文件,你会跑 npm run new-problem ' 202. Happy Number ' 关于这个脚本这个 repo 带有一个脚本,可以为新的 LeetCode 问题快速设置启动文件

weixin_38717169
评论 2
收藏 已收藏
分享
返回顶部