驱动开发
文章平均质量分 66
a756598009
这个作者很懒,什么都没留下…
展开
-
32位/64位WINDOWS驱动之 遍历+HOOK_SSDT_NtOpenProcess函数_w7_w10通用系统版本
KIRQL WPOFF()//关闭写保护//ULONG_PTR 这个类型在x86上是32位 x64就是64位#else#endif_disable();//关闭中断//关闭写保护位VOID WPON(KIRQL irql)//打开写保护//恢复写保护位_enable();//恢复中断/*aria v1.0*在易编程学院发布。*版权所有 2023*许可证:ybc-cn*修改时间:2024年1月21日17:42:26(中国标准时间)原创 2024-01-21 17:54:19 · 922 阅读 · 0 评论 -
Windbug双机调试 驱动时KDPrint、DbgPrint不能打印的问题解决
新建key,名字为Debug Print Filter ,然后在此key下新建一个DWORD value ,名字为DEFAULT,然后设置值为0x00000008,我使用的是双机调试方式,开始以为调试起来会很方便,环境很快搭好,但问题来了windbg 上怎么也打印不出来。后来通过查找资料,看到有人介绍修改注册表的办法来解决。(从网上找了一个工具(SetDbgPrintFiltering.exe)设置内核打印级别,其原理和前面设置注册表一样)下载:设置数据库打印过滤 (osronline.com)原创 2023-07-22 11:38:06 · 642 阅读 · 0 评论 -
32位/64位WINDOWS驱动之windbg分析ObReferenceObjectByHandle取回进程句柄的过程
windbg调试技巧逆向分析windbg访问断点dt查看结构指令windbg使用帮助参考 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/commands.cls 清屏ba r4 地址 //对地址下4字节访问断点。原创 2023-07-16 19:03:01 · 532 阅读 · 0 评论 -
32位/64位WINDOWS驱动之遍历Process,Thread Object勾子遍历驱动模块
遍历成功拿到了线程回调对象。原创 2023-07-09 14:01:29 · 418 阅读 · 0 评论 -
32位/64位WINDOWS驱动之物理地址读写内存方法4
自写函数 通过PID切换到目标进程环境 计算出物理地址把物理地址映射到当前进程 不使用时需要用ZwUnmapViewOfSection取消映射//转换成 物理地址的方式 读取进程虚拟地址。原创 2023-07-08 19:06:33 · 763 阅读 · 0 评论 -
32位/64位WINDOWS驱动之突破进程保护CR0方式写入只读内存
0x400000#define PAGE_READONLY 0x02 只读#define PAGE_READWRITE 0x04 可读可写#define PAGE_WRITECOPY 0x08 写时复制#define PAGE_EXECUTE 0x10 可执行#define PAGE_EXECUTE_READ 0x20 可读可执行#define PAGE_EXECUTE_READWRITE 0x40 可读可写可执行。原创 2023-07-08 16:50:51 · 337 阅读 · 0 评论 -
32位/64位WINDOWS驱动之突破进程保护写只读内存驱动3
此方法相当于CE附加程序,然后进行写入只读的内存地址中(原理就是对只读内存地址进行赋予了写的权限)0x400000MmGetSystemAddressForMdlSafe 进行实际的映射操作,并设置MdlFlags的MDL_MAPPED_TO_SYSTEM_VA标志。MmProbeAndLockPages 并不将物理页面映射到内核地址空间,而仅锁定物理页面。原创 2023-07-08 15:15:10 · 285 阅读 · 0 评论 -
32位/64位WINDOWS驱动之-突破进程保护跨进程写内存方法3
代码如下:代码如下:添加一个按钮为写数据2,按钮ID为 IDC_BUTTON3_WRITE2添加控制码D0027_28_MFCTEST创建一个基于对话框的程序为了测试方便 关闭属性里面的-链接器-高级- 随机基址 - 选择否 RELEASE里面的也要选择否添加代码:CD002728MFCTESTDlg dlg;//局部变量代码如下:我们把写入程序编辑框中的地址放到 ,D0027_28写数据按钮中以上就是突破保护跨进程写内存的方法了。原创 2023-07-05 23:11:18 · 516 阅读 · 0 评论 -
32位/64位WINDOWS驱动之-突破进程保护映射的方法进行跨进程读内存2
驱动层packpack8pack。原创 2023-07-02 21:26:49 · 220 阅读 · 1 评论 -
32位/64位WINDOWS驱动之-突破进程保护跨进程读写内存
类别:值 控件类型: EDIT 名称: m_targetPID 变量类型: UINT32。以上就是突破进程保护跨进程读写内存的全部内容了。加一个控制码和驱动层对应。原创 2023-07-01 21:32:04 · 655 阅读 · 0 评论 -
32位/64位WINDOWS驱动之破解驱动签名蓝屏修复
dump文件生成设置dump文件生成设置->系统属性->高级->启动和故障恢复将事件写入系统日志 勾选写入调试信息:核心内存转储vmware花屏问题 vmtools的集成显卡驱动造成的winbug调试器第一次加载dump文件很慢要是要下载相关的文件,后面就可以很快的打开了。参考地址:https://blog.csdn.net/cosmoslife/article/details/113995641。原创 2023-06-28 20:14:09 · 521 阅读 · 1 评论 -
32位/64位WINDOWS驱动之windbg双机调试栈溢出问题分析解决
添加一个控制码CTL_CODE0x809。原创 2023-06-27 21:37:48 · 240 阅读 · 0 评论 -
32位/64位WINDOWS驱动之保护特定名字进程【蓝屏修复】
在const char*PsGetProcessImageFileName(PEPROCESS arg1);原创 2023-06-25 23:27:59 · 211 阅读 · 1 评论 -
32位/64位WINDOWS驱动之windbg双机调试
windbg双机调试环境配置第一步关掉虚拟机如果有打印机请移除打印机(打印机会占用端口)添加-添加串行端口-完成选择使用命名的通道-名字为 \.\pipe\abc123(对应下面的COM1) -确定-在开启虚拟机在虚拟机命令行里面输入 msconfig 来到系统配置 -引导-第二个高级选项 -勾选调试-勾选调试窗口-选择COM1;-确认-重新启动-启动的时候选择下面的调试系统来到自己电脑系统搜索windbg。原创 2023-06-24 21:41:22 · 3462 阅读 · 3 评论 -
32位/64位WINDOWS驱动之保护指定进程PID(拒绝CE,X64dug,OD等工具读写)
给编辑框添加变量 类别 值 变量类型 改成UINT32 名称m_PID 完成。把RegistrationContext;在进入派遣函数中增加两个控制开关。进程保护.c里面 注释目标进程名。剪切到判断受保护下面 并修改为。搜索不到数值,打开内存也没有数据。x64dubug附加进程直接结束。来到添加保护进程按钮控制事件。来到移除保护进程按钮控制事件。读写控制后面添加两个函数。进程名标签改为进程PID。原创 2023-06-24 13:46:34 · 714 阅读 · 0 评论 -
32位/64位WINDOWS驱动之保护特定名字进程
驱动中进程间的切换保护特定进程时 条件选择 名字 PIDPsGetProcessImageFileName //11个有效的字符PsGetCurrentProcessId() //获取当前进程PID。原创 2023-06-23 21:55:30 · 259 阅读 · 1 评论 -
32位/64位WINDOWS驱动拒绝结束进程无效分析
中断等级/INTEGRITYCHECK 强制驱动签名/INTEGRITYCHECK(需要签名检查)指定必须在加载时检查二进制映像的数字签名。原创 2023-06-23 17:09:42 · 144 阅读 · 0 评论 -
32位/64位WINDOWS驱动之蓝屏问题修复
进程保护安装代码写在用户层加载和卸载时的调用删除掉。卸载进程保护时添加了句柄清零的代码给安装内存保护名字换成安装进程保护,、注意MFC应用里面的驱动名要及时替换成新的驱动名;蓝屏原因是因为上节课的破解驱动签名的原因,注释掉破解驱动签名的代码右击项目,选择属性;选中配置属性中的链接器,点击命令行;在Debug 和Release都加上在命令行去掉/INTEGRITYCHECK然后给自己的驱动加上签名。原创 2023-06-22 21:17:08 · 260 阅读 · 1 评论 -
提权技术之给任意进程提权(我们以OD,CE为例)
赋予进程某种特殊权限 也叫提升读写权限 那么为什么要提升读写的权限呢 如果我们想修改游戏内存数据 数字的话正常情况下我们无法进行跨进程内存读写 这时候就可以使用 提升自身辅助进程的权限 来达到能读写游戏内存的效果那提权的原理又是什么呢?游戏虽然做了自身的进程保护 不允许其他进程读写 但是我们电脑系统本身就是有系统自带的进程winlogon.exe 这进程为例,这个进程是可以随意读写游戏内存的 游戏的保护也会过滤掉系统进程对自身的读写,原创 2023-06-22 15:03:44 · 743 阅读 · 1 评论 -
32位/64位WINDOWS驱动之进程保护(拒绝CE,OD等工具读写)
接着上一篇文章,我们只需要排除读写权限就可以拒绝OD CE等工具对程序的读写。原创 2023-06-20 23:31:19 · 578 阅读 · 0 评论 -
32位/64位WINDOWS驱动之进程保护
加载驱动代码里面加入破解驱动签名限制代码在创建驱动设备后面,在调用一下安装内存保护();//函数在到驱动卸载里面调用一下卸载内存保护();//函数开发环境设置方式是:右击项目,选择属性;选中配置属性中的链接器,点击命令行;在其它选项中输入: /INTEGRITYCHECK 表示设置;/INTEGRITYCHECK:NO 表示不设置。对于使用sources文件编译的方式,增加LINKER_FLAGS=/INTEGRITYCHECK。原创 2023-06-19 23:23:07 · 1286 阅读 · 2 评论 -
32位/64位WINDOWS驱动开发之卸载驱动和常见问题解决
注意:我遇到的问题StartServiceW返回2,我加了调试信息,通常表示系统找不到指定的文件。请确认以下几点:1.确保传递给LoadDriver函数的sysFileName参数是正确的文件名,包括文件名后缀和文件路径(如果不在当前工作目录)。2.确保sysFileName指定的驱动文件已经被正确地编译、链接和生成.sys文件。3.确保您的驱动文件已经被正确地安装到系统中。可以在服务管理器中查看该服务是否存在。原创 2023-06-18 17:44:32 · 497 阅读 · 1 评论 -
32位/64位WINDOWS驱动开发之驱动加载
加载驱动的过程1、用OpenSCManager 打开服务控制管理器2、用CreateService创建对应服务3、如果驱动服务已经创建过,则用OpenService打开服务4、用StartService加载启动驱动服务5、清理工作,用CloseServiceHandle关闭释放句柄MFC操作如下应用层:首先加两个按钮 加载驱动 ID IDC_BUTTON2_LOAD_SYS卸载驱动 ID IDC_BUTTON1_UNLOAD_SYS。原创 2023-06-17 19:46:01 · 706 阅读 · 1 评论 -
64位驱动开发之读写驱动程序IRP_MJ_READ和IRP_MJ_WRITE的IO
读写驱动程序IRP_MJ_READ和IRP_MJ_WRITE的IO请求包(IRP)原创 2023-06-13 23:05:05 · 543 阅读 · 1 评论 -
64位驱动开发之R3与R0通信交换数据,读写数据测试
以上就是64位驱动开发之R3与R0通信交换数据,读写数据测试的全部代码了。原创 2023-06-12 22:02:54 · 472 阅读 · 0 评论