(C / C ++ / C#)DirectX 9 Overlay,最好与xfire或Steam相同

时间:2010-07-20 22:57:58

标签: c# c++ directx hook

我想知道xfire和/或Steam使用什么技术来叠加到游戏中。 我正在尝试做类似的事情,我真的想知道什么是最不具侵入性的方式,即。不会提醒任何反作弊系统。我不需要游戏中的任何信息(没有墙壁黑客BS)。我基本上只想在游戏中显示带有自定义内容的矩形。

PS。我通过谷歌搜索看到了一些例子,但大多数看起来都很老了。它们仍然是不错的选择吗?

3 个答案:

答案 0 :(得分:4)

据我所知,xfire和fraps使用directx函数钩子 这样当他们调用某个函数时,他们就可以执行自己的(绘图)代码
一旦找到了你需要的功能并将它们连接起来,你还需要一个directx设备的手柄,这样你就可以用它来做你自己的绘图了 directx endscene函数可能是最常用的

google for“trampoline hook c ++”并从那里开始

有许多方法,一些广为人知且相对容易, 其他人更难找到并实施 那是因为当你搞乱(重要或潜在可利用的)功能时,人们会不遗余力地寻找新技术,因为反作弊软件不喜欢 因为它被认为是黑客......

哦,我知道这是一个较老的问题 但是我自己使用Google来到这里,很可能会有更多人这样做 所以至少它现在有一个答案

答案 1 :(得分:1)

好吧,我没有看到这些例子,我不能说它们很适合使用。

我想我不会给你解决方案,但也许我指出了正确的方向。您可能正在使用Windows作为平台,每个窗口都有它的句柄。所以,如果你能获得这个手柄,也许你可以直接进入游戏。

How to obtain handle

你现在应该可以采取行动,好像你的程序就是游戏本身。但是我没有尝试这个,它可能会导致你遇到一些问题。

另一种方式,如果你只是想绘制东西,只需要做一些做similliar事情的例子。那么FRAPS或其他FPS测量工具呢?他们都在屏幕上绘制FPS号码。在那里查看开源应用程序并找到其中的任何部分应该是您需要的,这应该是个好主意。这将只是一些分解代码。

答案 2 :(得分:1)

几天前,我问过这个问题。这也可能对你有帮助。阅读Alan的回复以及他提到的链接:How to overlay graphics on Windows games?