本文集内容为windows7x64下驱动开发与调试体系构建,内容目录如下: 1.驱动开发的环境准备 2.R3与R0的通信示例 3.自建调试体系概述 4.在x64下使用汇编代码 5.实战反调试标记位(NtGlobalFlag) 参考资料下载 收录了每一节的书籍和所需资料,建议新人使用. 链接:https://pan.baidu.com/s/1kNysCGMefrLmKqTzd5g0MQ 提取码:66u9 推荐书目 1.软件调试 第2版 卷2 Windows平台调试 链接:https://pan.b…
目录/参考资料:https://www.cnblogs.com/railgunRG/p/14412321.html 在阅读本节前,建议先阅读<Windows内核安全与驱动开发>第五章内容,并自行了解相关背景知识. R0部分 创建项目,打开:项目属性->链接器->输入->附加依赖项(点开后选择[编辑]),添加: %(AdditionalDependencies) $(DDK_LIB_PATH)\wdmsec.lib 参考代码: #include <ntifs.h>…
目录/参考资料:https://www.cnblogs.com/railgunRG/p/14412321.html 调试体系概述 0.什么是自建调试体系? 就是复写windows的调试api,使得调试时进入我们自己定义的领空. 自建调试体系需要写驱动,是一个比较大的项目. 1.为什么要自建调试体系? 过保护 保护程序自身(别人进入自己写的api时,如果要调试自己的进程..) 2.自建调试体系的步骤 2.1-完成中心API(围绕这些api进行复写) DebugActiveProcess(基本) W…
目录/参考资料:https://www.cnblogs.com/railgunRG/p/14412321.html 系统基础环境 开发环境 win7下开发驱动需要安装vs,这里使用2017. 安装vs后需要安装对应版本的wdk,vs版本可在控制面板-程序和功能中看到. 这里的版本为10.0.17763.1 之后,选择KMDF即可开始驱动编写.   如果出现error MSB8040: Spectre-mitigated libraries are required for this projec…
目录/参考资料:https://www.cnblogs.com/railgunRG/p/14412321.html <加密与解密>P670中,介绍了检查程序是否被调试的第二种方法:查看进程PEB的NtGlobalFlag标记. 首先打开我们的win7x64虚拟机和windbg,第四节中制作了一个主动产生Int3的驱动程序,这次恰好可以用到(也可以使用windbg的Ctrl-Break快捷键,不过这个快捷键在笔记本键盘上不一定能用) 写一个检查IsDebuggerPresent()的程序,代码如…
目录/参考资料:https://www.cnblogs.com/railgunRG/p/14412321.html asm文件设置 在vs x64中无法使用_asm关键字,需要使用.asm文件. 按第一节的内容创建好项目后,右键Resource Files,添加->新建项->头文件(.h),将名称改为test.asm 右键asm文件,将"从生成中排除"设为"否",将"项类型"设为"自定义生成工具",点击"…
[序言]很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资料少有关系.大多学的驱动开发资料都以英文为主,这样让很多驱动初学者很头疼.本人从事驱动开发时间不长也不短,大概也就3~4年时间.大多数人都认为会驱动开发的都是牛人,高手之类的.其实高手,牛人不是这样定义的.我们在学习驱动开发之前,一定要明白一个道理:术业有专攻,不要盲目跟风. [贡献者]1> defddr   看雪学院2> StudyRush看雪学院 [本内容适用环境及工具]1> Windows系统…
[作者]猪头三个人网站 :http://www.x86asm.com/ [序言]很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资料少有关系.大多学的驱动开发资料都以英文为主,这样让很多驱动初学者很头疼.本人从事驱动开发时间不长也不短,大概也就3~4年时间.大多数人都认为会驱动开发的都是牛人,高手之类的.其实高手,牛人不是这样定义的.我们在学习驱动开发之前,一定要明白一个道理:术业有专攻,不要盲目跟风. [贡献者]1> defddr    看雪学院2> Study…
Windows7下QT开法环境常见搭配方法有两种. 第一种是:QT Creator+QT SDK: 第二种是:VS+qt-vs-addin+QT SDK: 以上两种均可,所需文件见QT社区,QT下载地址:http://download.qt.io/archive. 第一种,鄙人下载的是:qt-creator-opensource-windows-x86-3.3.0.exe + qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe. 第二种:鄙人下…
首先配置环境参照这个: http://blog.csdn.net/qing666888/article/details/50858272 然后在win10里可能由于没有做测试签名因此一直没有成功加载驱动,换成win7后需要安装winddk7然后重启VS,项目属性->Driver Settings->Target OS Version切换到Windows 7 然后 Driver Signing里设置 Sign Mode: Test Sign Test Certificate 下拉菜单选择Crea…