某P是什么就不说了.
论坛过游戏保护DebugPort清零,广为流传的无非就2个着手点(其他vt啊什么的,不讨论).
1:Patch 游戏保护的驱动,让其读取错误地址什么的,具体要调试驱动,不怎么优雅,一旦驱动更新就无效.而且还得运气好,找到没crc校验的地方.或者找到关键全局变量.
2:比较优雅的方法,修改内核端口偏移,比如WindowsXp下,DebugPort偏移为 Eprocess+BC,
,修改到其他地方,比如ExitTime啊什么的地方.(顺带一说,很多人以为很麻烦,其实这是性价比非常高的方法,我只用了一天就把那些函数的特征码全部提取了,参考参考资料一旦修改成,一劳永逸.)
游戏保护驱动的做法.
1:对付第一个方法,无非就是关键点加vm,内存crc校验,就没什么了.
2:对付第二种方法,关键来了,
某P新做法,首先获取内核基址,然后搜索自己搜集的DebugPort函数的特征码,如果并检查偏移是否正确,如果搜索得到,且正确,很好,没什么问题,
如果你修改DebugPort偏移,哼哼,一击必杀,游戏保护驱动,要不就是搜索不到特征码了,要不就是搜索到特征码,并发现你修改了端口偏移.
ps:
这个方法实在是太高明了,我修改WRK过清零都被秒杀了.
(某P暗地里在偷笑,哼哼想修改内核,别做梦了,乖乖让我清零吧.)
被检测到DebugPort有异常,弹出很酷的这个框框.
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法