易语言教程_易语言源码_易语言写挂_易语言论坛_看流星社区

 找回密码
 注册
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
赞助广告位 请点击这里联系站长 QQ20209081
赞助广告位 请点击这里联系站长 QQ20209081
赞助广告位 请点击这里联系站长 QQ20209081
查看: 2138|回复: 35

过64位下TP保护DebugPort清零源码(不用过PG)

[复制链接]
发表于 2018-3-4 10:40:09 | 显示全部楼层 |阅读模式

    前不久研究了一些32位下各种保护,收获颇多,但是在32位下由于内存限制所以,卡卡的感觉让人很不爽,于是研究了一下64为下的保护。

     测试游戏:JFZR  环境:win7 x64

     一:首先是双击调试,我之前发过一篇帖子,总结过双击调试的一些关键变量之类的东西,64位和32位基本想通。
PS:过双击调试的时候要打一下PG的补丁,以为要替换那几个全局变量,还有就是Inline Hook IoAllocateMdl这个函数。这里再贴一下代理函数:
  1. PMDL newIoAllocateMdl(
  2.         __in_opt PVOID  VirtualAddress,
  3.         __in ULONG  Length,
  4.         __in BOOLEAN  SecondaryBuffer,
  5.         __in BOOLEAN  ChargeQuota,
  6.         __inout_opt PIRP  Irp  OPTIONAL)
  7. {
  8.         if (VirtualAddress == KdEnteredDebugger)
  9.         {
  10.                 //DbgPrint("[KdEnteredDebugger] address: %p\n", KdEnteredDebugger);
  11.                 VirtualAddress = (PUCHAR)KdEnteredDebugger + 0x30;  
  12.         }
  13.         return oldIoAllocateMdl(VirtualAddress, Length, SecondaryBuffer, ChargeQuota, Irp);
  14. }
复制代码


    二:双击调试过了之后,开始对关键点下访问断点(全局调试对象权限,DebugPort),发现*P并没有对DebugPort做清零,而是只对全局调试对象权限做了清零处理,难道没有了DebugPort清零?于是自己写了个程序对程序模拟的试了一下DebugPort清零(在未打PG补丁的情况下),结果就是触发PG蓝屏。也就是说64位下如果对DebugPort清零就会触发PG。

但是对全局对象权限的清零并不会触发PG。处理方法就是简单粗暴地用DPC定时器把权限给写回去:

源码:
游客,如果您要查看本帖隐藏内容请回复
发表于 2018-3-14 06:26:54 | 显示全部楼层
过64位下TP保护DebugPort清零源码
发表于 2018-4-3 21:33:21 | 显示全部楼层
这个学习了  谢谢
发表于 2018-4-6 13:47:53 | 显示全部楼层
111下载过来看看
发表于 2018-4-11 11:42:15 | 显示全部楼层
学习一下,感谢楼主分享
发表于 2018-4-11 12:55:12 | 显示全部楼层
这个很强大  学习了
发表于 2018-5-31 10:03:07 | 显示全部楼层
非常感谢,学习学习
发表于 2018-6-3 22:52:32 | 显示全部楼层
这个必须要学习一下。谢谢
发表于 2018-6-8 23:09:18 | 显示全部楼层
回个看看哦
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
*滑动验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|看流星社区  |网站地图

GMT+8, 2018-12-13 18:07 易语言论坛 易语言导航

Powered by 看流星社区 X3.2

©2011-2016 最好的辅助编程技术论坛

快速回复 返回顶部 返回列表