PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Fragen



PeNNeR :D
28.06.2010, 13:49
Hi :D

Hab da mal 2 Fragen zu C++.
1. Wie kann ich einen "einfachen" hash einer Datei mit C++ berechnen um so zwei Dateien zu vergleichen. Hab im Internet schon etwas gesucht, aber bin meistens nur auf MD5 gestoßen und muss so meter lange Funktionen zu meinem Projekt hinzu fügen.
2. Gibt es eine Funktion mit dem ich im laufenen Prozess nach einem String suchen kann? Die Adresse ändert sich ständig, also konnte ich bis jetzt noch keine möglichkeit finden.

nemo
28.06.2010, 15:22
~

PeNNeR :D
28.06.2010, 15:37
Meinst du den eigenen Prozess oder den einer anderen Anwendung?
Den einer Anwendung.

nemo
28.06.2010, 15:44
~

l0dsb
28.06.2010, 18:14
DLL Injection wäre sinnvoll, Kommunikation z. B. über Pipes, Sockets, ... Ansonsten wäre ReadProcessMemory eine Alternative.

PeNNeR :D
28.06.2010, 18:17
Aus welchem Grund sollte das denn nötig sein? Möglich ist es, nur etwas umständlich.
Naja, schwer zu erklären xD
Also beispielweise wird ein Spiel wurde von einem bestimmten Programm "injected", d.h es wurden Strings zur Console hinzugefügt als Optionen die normalerweise nicht vorhanden sind. Mein Programm soll dann das Spiel(Prozess) überprüfen ob diese Strings vorhanden sind, also eigendlich nichts anderes als zu überprüfen "injected oder nicht". Die Adressen (auf dem z.B ein String liegt) werden sich aber immer ändern, also hilft mit ReadProcessMemory nicht wirklich. Und das es möglich ist, hab ich mir schon fast gedacht, nur leider weiß ich überhaupt nicht wie ich mit der ganzen Sache anfangen soll. Oder kennt da noch einer einen anderen Weg?

ocz
28.06.2010, 18:21
zu überprüfen "injected oder nicht". Die Adressen (auf dem z.B ein String liegt) werden sich aber immer ändern

Ändern werden die sich wohl nur zwischen einzelnen Programmstarts und nicht während der Laufzeit... Du kannst ja den relevanten Teil des Speichers auf Integrität überprüfen (Prüfsummen, blabla, ...). "Injected oder nicht" könntest du theoretisch auch mit EnumProcessModules (falls DLL-Injection) überprüfen, wobei sich ein Modul natürlich auch verstecken lässt.

nemo
28.06.2010, 21:03
~

DizzY_D
28.06.2010, 21:18
Zur Frage welchen Algorithmus du verwenden solltest:
CRC32 ist da eigntlich die gängige Variante und relativ leicht zu realisieren.
Zyklische Redundanzprüfung – Wikipedia (http://de.wikipedia.org/wiki/Zyklische_Redundanzpr%C3%BCfung)

Nebenbei auch noch resourcenschonend.