突破WIN7的PatchGuard

WIN64 有两个内核保护机制,KPP 和 DSE。KPP 阻止我们 PATCH 内核,DSE 拦截我们加载驱动。当然 KPP 和 DSE 并不是不可战胜的,WIN7X64 出来不久,FYYRE 就发布了破解内核的工具,后来有个叫做 Feryno 的人又公开了源代码。

要实现突破 DSE 和 PatchGuard,必须修改两个文件,winload.exe 以及ntoskrnl.exe。

细节就不说了,大体思路就是在winload.exe改一个地方,ntoskrnl.exe改两个地方,直接改变代码段的逻辑,把签名校验和一些验证的东西给磨掉了,改完后记得修改PE文件的checksum。这一章节看了两遍,但是并没有打算仔细整理,因为实战作用不大,1是因为要改PE文件;2是还要重启生效,同时生效后所有的签名都随便加载了,实用性不是很大,说道重启,可以弄一个小把戏,现在机器上开启调试模式,然后把自己的安装程序埋伏好,下次重启的时候马上装上驱动,然后在立刻重启一次,但是有个问题没有验证,在调试模式下装的驱动,取消调试模式之后是否可以正常工作,或者就直接用TDL内存里加载64位无签名驱动就行了。

Win64 驱动内核编程-10.突破WIN7的PatchGuard相关推荐

  1. Win64 驱动内核编程-8.内核里的其他常用

    内核里的其他常用 1.遍历链表.内核里有很多数据结构,但它们并不是孤立的,内核使用双向链表把它们像糖 葫芦一样给串了起来.所以遍历双向链表能获得很多重要的内核数据.举个简单的例子,驱 动对象 Driv ...

  2. Win64 驱动内核编程-3.内核里使用内存

    内核里使用内存 内存使用,无非就是申请.复制.设置.释放.在 C 语言里,它们对应的函数是:malloc.memcpy.memset.free:在内核编程里,他们分别对应 ExAllocatePool ...

  3. Win64 驱动内核编程-2.基本框架(安装.通讯.HelloWorld)

    驱动安装,通讯,Hello World 开发驱动的简单流程是这样,开发驱动安装程序,开发驱动程序,然后安装程序(或者其他程序)通过通讯给驱动传命令,驱动接到之后进行解析并且执行,然后把执行结果返回. ...

  4. Win64 驱动内核编程-18.SSDT

    SSDT 学习资料:http://blog.csdn.net/zfdyq0/article/details/26515019 学习资料:WIN64内核编程基础 胡文亮 SSDT(系统服务描述表),刚开 ...

  5. Win64 驱动内核编程-20.UnHook SSDT

    UNHOOK SSDT 要恢复 SSDT,首先要获得 SSDT 各个函数的原始地址,而 SSDT 各个函数的原始地址,自然是存储在内核文件里的.于是,有了以下思路: 1.获得内核里 KiService ...

  6. Win64 驱动内核编程-11.回调监控进线程句柄操作

    无HOOK监控进线程句柄操作 在 NT5 平台下,要监控进线程句柄的操作. 通常要挂钩三个API:NtOpenProcess.NtOpenThread.NtDuplicateObject.但是在 VI ...

  7. Win64 驱动内核编程-34.对抗与枚举MiniFilter

    对抗与枚举MiniFilter MiniFilter 是目前杀毒软件用来实现"文件系统自我保护"和"文件实时监控"的方法. 由于 MiniFilter 模型简单 ...

  8. Win64 驱动内核编程-32.枚举与删除注册表回调

    枚举与删除注册表回调 注册表回调是一个监控注册表读写的回调,它的效果非常明显,一个回调能实现在SSDT 上 HOOK 十几个 API 的效果.部分游戏保护还会在注册表回调上做功夫,监控 service ...

  9. Win64 驱动内核编程-28.枚举消息钩子

    枚举消息钩子 简单粘贴点百度的解释,科普下消息钩子: 钩子是WINDOWS中消息处理机制的一个要点,通过安装各种钩子,应用程序能够设置相应的子例程来监视系统里的消息传递以及在这些消息到达目标窗口程序之 ...

最新文章

  1. org.hibernate.util.JDBCExceptionReporterorg.hibern
  2. spring中基础核心接口总结
  3. 支持64位系统的XOR加密后内存加载PE绕过杀毒软件
  4. 当c语言表达式中同时有字符 整数,c语言第2章数据类型、运算符与表达式a.ppt
  5. mysql原子性和乐观锁_乐观锁 VS 悲观锁
  6. Checksum 校验和
  7. curl: (52) Empty reply from server
  8. 钩子怎么画_画男生校服有什么技巧?该注意什么?
  9. [C#][控件]列表控件listbox(一)
  10. Java学习系列(十四)Java面向对象之细谈线程、线程通信(上)
  11. 10个英文手写字体下载
  12. 【oracle】varchar和varchar2区别
  13. ic和mos怎么区分_快速掌握MOS管源极和漏极的区别!看了受益匪浅!
  14. c++项目 生成dll文件
  15. 开源 ASP.NET CMS
  16. 淘宝在微信推广,在微信直接打开淘宝的信息,微信进淘宝
  17. 签章服务器系统,优泰科技首页_电子签名 手写批注 电子印章 全文批注
  18. 经典BBS语录100条
  19. 学大伟业:在数学竞赛学习中,你属于哪种类型?
  20. 兄弟hl3150cdn打印测试页6_兄弟3150CDN彩色激光打印机

热门文章

  1. jQuery (DOM篇)
  2. 关于PostgreSQL的GiST索引之四
  3. 《青春飞扬》诗集出版历程与思考分享 之三:游记、感悟与思考
  4. 曳舞---1、曳舞各个动作要点
  5. 2018-2019-1 20165212 实验五 通讯协议设计
  6. Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
  7. Android得到控件在屏幕中的坐标
  8. 高维、相依和不完全数据的统计分析(二)
  9. 算法学习:最小圆覆盖
  10. Kotlin学习入门笔记