不必要的函数调用

时间:2019-02-15 01:28:59

标签: c++ assembly c++17 shellcode cheat-engine

所以我想做的很简单;我想将一个函数写入另一个进程的内存中并执行它。我所做的就是获取函数的大小,并仅使用WriteProcessMemory来做到这一点。使用作弊引擎的调试功能确认,我已经成功创建了一个线程来运行此功能。 该函数如下所示:

inline void __cdecl Test( )
{ }

看起来很简单。它不应该依赖任何需要重定位的东西,因此它应该可以正常工作。这是内联的,因为我在标题中定义了它(如果相关)。尽管此功能没有任何作用,但这是作弊引擎中正在发生的事情:

奇怪的是,它正在复制字符串,但是更多地是在调用函数?由于正在进行此随机函数调用,因此程序崩溃,因为未重新分配地址以匹配新进程中的函数位置。因此,我的问题是:为什么在世界上它调用一个函数,以及如何阻止这种情况发生?

1 个答案:

答案 0 :(得分:0)

因此,基本上,调试模式是导致此问题的原因,并且在发行版中不会发生。