我正在为需要在无限循环中运行的程序编写一个 DLL(当然有延迟)。例如:
while (true) {
std::cout << "I am running.\n";
Sleep(1000);
}
我不确定如何但无论我如何执行此操作,目标程序都会在几分钟后自行关闭。我知道它不是 DLL 的存在,因为如果我没有无限循环并且它“完成”(但保留在内存中)它不会检测到任何东西。
我正在使用 Cheat Engine 注入 DLL。当我正常注入它时以及当我在单独的函数中具有循环并为其创建线程时都会检测到它。
如果没有一些简单且易于修补的方法来检测这样的事情,还有什么替代方法?我把它写成一个 DLL,因为我需要在进程中调用函数(CreateRemoteThread-ing 基础并不容易,因为它们中的大多数都有不止一个参数)。