目录/参考资料:https://www.cnblogs.com/railgunRG/p/14412321.html 在阅读本节前,建议先阅读<Windows内核安全与驱动开发>第五章内容,并自行了解相关背景知识. R0部分 创建项目,打开:项目属性->链接器->输入->附加依赖项(点开后选择[编辑]),添加: %(AdditionalDependencies) $(DDK_LIB_PATH)\wdmsec.lib 参考代码: #include <ntifs.h>…
本文集内容为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 调试体系概述 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…
由于从公司辞职了,所以以前在公司里搭建的驱动开发环境也就 Game Over 了, 同样由于那环境是很久以前搭建的,自己也有很多记不清楚的地方了, 而且其中还是有很多需要注意的地方的,所以在这里顺便做一个环境搭建的总结, 以后再要用的时候也会很方便的. WDK 调试环境搭建: 安装 WDK: 自然首先是安装 WDK 了,这个好办,直接到官网上下载,然后安装就 OK 了, 注意的是,在安装中最好是选择安装全部,并且最好是安装在 C 盘下. 设置调试环境: 这个其实也好办,就是使用 WinDbg 来…
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. 第二种:鄙人下…