目录/参考资料: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…
本文集内容为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 在阅读本节前,建议先阅读<Windows内核安全与驱动开发>第五章内容,并自行了解相关背景知识. R0部分 创建项目,打开:项目属性->链接器->输入->附加依赖项(点开后选择[编辑]),添加: %(AdditionalDependencies) $(DDK_LIB_PATH)\wdmsec.lib 参考代码: #include <ntifs.h>…
目录/参考资料: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文件,将"从生成中排除"设为"否",将"项类型"设为"自定义生成工具",点击"…
Apache2.2(apache_2.2.2-win32-x86-no_ssl)php5.3.5(php-5.3.5-Win32-VC6-x86,请注意选择VC6版本,否则无法加载php5apache2_2.dll模块,目前php官网已经下载不到VC6版本,请自行百度)Mysql5.5.45(mysql-5.5.45-win32)以上为本人搭建时选择的版本. 安装 Apache采用默认安装php解压后,无需安装,解压后移至C根目录下,并设置目录名为phpMysql安装时设置安装目录为D:/MyS…
# VS2015配置Linux开发远程调试 ### 简介-----------------------------vs2015支持跨平台开发 ### 软件环境------------------------------ VS2015 update3- Visual C++ for Linux Development(VC_Linux.exe) ### 安装步骤------------------------------ 安装VS2015 update3版本(直接按照后就是VS2015,不是补丁)…
内容 第15章:测试开发与调试 任何实际项目的开发,除了功能性代码的完成,规范的开发流程和严谨的测试都是不可或缺的.合理使用工具将事半功倍. 1.ESLint ESLint是Lint语法检查工具,避免的低级的bug和不统一的代码风格.它比JSLint好的地方是可配置.细粒度的,每一条规则都是一个插件.4 ESLint的项目配置有两种基本方法: 第一种,JS注解的方式将配置信息直接加到文件里. 第二种,package.json { "env":{ "browser":…
windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境   http://rongmayisheng.com/post/windows%E4%B8%8B%E7%94%A8eclipsegoclipse%E6%8F%92%E4%BB%B6gdb%E6%90%AD%E5%BB%BAgo%E8%AF%AD%E8%A8%80%E5%BC%80%E5%8F%91%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83   目前go语言在window或者lin…