程序如何与其他程序交互?

时间:2016-12-19 22:59:55

标签: c++

好吧,我有点(老实说)也很混淆我怎么能让程序与另一个程序交互。

例如,让我们说一个游戏,一个射手,当你运行一个外部程序,你让你的角色不能死,或者在发现敌人时立即射击等等......

我正在阅读它,他们说你必须知道“目标”的组成方式。但我仍然没有得到它。

例如,假设我们有一个像这样的简单代码:

#include <iostream>
#include <windows.h> 

int main() {
    for(int h = 0; ; h++) {
        std::cout << "The H's value is: " << h << std::endl;
        Sleep(1000);
    }

    return 0;
}

然后,如何创建另一个程序,每次按任意键我都可以将H的值更改为零?

不要误会我的意思,我不是想破解任何人或任何东西,我只是好奇这些程序是如何工作的。

(对不起,如果我有一些语法问题,英语不是我的母语)。

1 个答案:

答案 0 :(得分:3)

如果我们认为程序已经编译并且不允许对源代码进行任何更改,那么解决方案就是构建一个程序,该程序将以足够高的权限运行来检查进程的内存并直接改变h的内存值,它应位于堆栈的顶部(或几乎)。

说到更多&#34;合法&#34;如何做到这一点你应该检查你应该阅读可以用多种方法完成的进程间通信。 Read this.

然而大多数&#34; Bots&#34;在许多情况下,帮助游戏中的作弊者的程序基于图形,并且能够分析图像,从而有助于瞄准。另一方面,一些&#34;反冲减速器&#34;只需在游戏中向枪的反冲方向移动鼠标。因此,您的问题有很多方法,对于每个特定情况,答案可能会有所不同。