当我在 Github 公共仓库中浏览时,我偶然发现了一个程序(A)根据从另一个程序的内存中读取的内容在屏幕上显示信息(乙) 是一款在线电脑游戏。
声称readme
A绝对没有写信乙,但也警告用户有些人已被禁止乙因为A。
现在,很明显一个程序可以检测另一个程序是否正在更改其进程的内存......但检测一个程序是否正在读取它,例如通过使用读取进程内存从 Windows API 来看,这怎么可能呢?据我所知,该过程根本不知道系统上发生了什么,除非你有一些具有高级管理员权限的讨厌的“反作弊”软件,这些软件会监视整个系统,同时减慢系统速度。
有人能帮我解决这个问题吗?
提前致谢。
答案1
不。
问题在于,这个“readme”文件是为了分发“A”而创建的。当“A”分发了足够长的时间后,“B”意识到了“A”的存在,因此它开始专门寻找“A”。
如果“B”不知道“A”的存在,它将很难检测到“A”,甚至很难将其与“C”,“D”,“E”和“F”区分开来,并且几乎不可能理解“A”在做什么并据此采取行动。
从技术上讲,“A”可以在许多其他级别上运行,并且可以通过多种方式读取“B”内存,而不是简单的 API 调用。
如果有的话,“A”可以冻结“B”,阅读有趣的内容,然后杀死“B”,阻止“B”采取任何行动。(这就是为什么“B”通常由“X”、“Y”和“Z”同时守护)
“B” 可以使“A”更加困难,但是考虑到两者投入的努力相同,它根本无法阻止或检测到它。