Kann ein Programm erkennen, dass ein anderer seinen Speicher direkt liest (beispielsweise mit ReadProcessMemory)?

363
Nepho

Ich stolperte durch öffentliche Github-Repositories, als ich auf ein Programm ( A ) stieß, das Informationen auf dem Bildschirm anzeigt, je nachdem, was im Speicher eines anderen Programms ( B ), eines Online-PC-Spiels, gelesen wird .

Die readmeBehauptung, dass A absolut nicht an B schreibt, warnt den Benutzer jedoch darüber, dass einige Personen wegen A aus B ausgeschlossen wurden .

Es ist offensichtlich, dass ein Programm erkennen kann, ob ein anderes Programm den Speicher des Prozesses ändert. Erkennen Sie jedoch, dass ein Programm daraus liest, beispielsweise mithilfe von ReadProcessMemory von der Windows-API. Wie ist das überhaupt möglich? Soweit ich weiß, hat der Prozess keine Ahnung, was auf dem System passiert, es sei denn, Sie haben eine lästige "Anti-Cheat" -Software mit hochrangigen Administratorrechten, die das gesamte System überwacht und es verlangsamt.

Könnte mir jemand helfen, das herauszufinden?

Danke im Voraus.

0
Von was ich mich erinnere, als ich ähnliche Apps gelesen hatte, erkannten sie nicht, ob sie die App lesen. Dann verbieten sie Sie unter den Nutzungsbedingungen des Spiels. Ross vor 6 Jahren 1
Aha. Daher wird das Spielprogramm höchstwahrscheinlich auch mit Administratorrechten ausgeführt, um zu überprüfen, ob andere Prozesse ausgeführt werden, und das Ausführen eines Programms, das denselben Namen wie ** A ** hat, könnte zu einem Verbot führen, selbst wenn es nichts mit ** A zu tun hat **? Könnte dies nicht einfach vermieden werden, indem bei jedem Start ein zufälliger Programmname generiert wird? Nepho vor 6 Jahren 0
Es muss nicht als Administrator ausgeführt werden, um Prozesse unter demselben Benutzer anzeigen zu können, und die meisten Benutzer führen trotzdem einen (nahen) Administrator aus. Ein Prozess wäre in der Lage, den Namen jedes laufenden Programms herauszufinden, deren Speicherort auf der Festplatte zu überprüfen und möglicherweise eine Prüfsumme der Programmdatei zu erstellen. Wenn diese Prüfsumme mit einer bekannten Version des Programms übereinstimmt, könnte sie auch dafür verbieten. Es gibt viele Möglichkeiten, eine Erkennung zu erkennen und zu verhindern. Der beste Weg, um ein Verbot zu vermeiden, ist, erst gar nicht zu betrügen. Mokubai vor 6 Jahren 0

0 Antworten auf die Frage