下你所需,载你所想!
汇集开发技术源码资料

D3DHOOK方框透视绘制原理

:153.537KB :1 :2020-09-18 15:12:21

部分简介

将窗口设置为透明,参数1为需要透明的窗口的句柄;参数2则是需要被透明掉的颜色,0为黑色;参数3表示透明度,0-255,0表示完全透明,255为完全不透明,这里是完全透明;参数4则是透明方式
SetLayeredWindowAttributes (窗口句柄, 0, 0, 1)

一些游戏为了防止创建第三方绘制窗口,会强制将自己的游戏窗口置顶,这样你创建的透明绘制窗口就无法绘制到游戏窗口的上层,解决办法就是使用SetWindowPos将游戏窗口取消强制置顶!

D3D HOOK就相当于是补丁,就像是我们给游戏额外开发了一个新功能一样,绘制帧数都和游戏一模一样。其缺点就是,修改游戏内存会触发游戏内的冗余代码检验。俗称CRC检测。

那么为了绕过CRC检测,于是诞生了我们的外部窗口绘制,其原理就是在游戏窗口的上层创建一层透明窗口,然后我们的绘制函数是运行在这个透明窗口上的,而这个透明窗口与我们的游戏窗口属于两个不相关的进程,所以也就不会被游戏进程的CRC检测到了。当然也有一些人会选择直接干掉CRC检测,例如将执行检测的那段代码入口nop掉,或者jmp等,再者是抹掉注入DLL的PE特征等。

热门推荐

相关文章