[C++] ReadProcessMemory Text?

09/11/2010 22:25 MrCrackR#1
die frage kommt den pros hier vllt etwas dumm vor, aber
ich befasse mich ja erst seit 2 wochen mit c++:

ich habe folgenden code:
PHP Code:
      ReadProcessMemory(handle,(LPVOID)address,&text,sizeof(long),&numBytesRead);
      
cout << hex << text << "\n";
      
cout << char(text) << "\n"
ich will in einem spiel einen text auslesen.
der erste wert in der konsole entspricht dem 4 bytes wert in CE.
der zweite ist der erste buchstabe des textes, den ich auslesen will.
der text, der gelesen wird, heißt "test".

mach ich was mit char() falsch?
kann mir jemand bitte den code korrigieren?

Quote:
Originally Posted by Konsole
74736574
t
EDIT: ach ja, ich habe eben mal in meiner ascii tabelle nachgesehen
und hab das mal verglichen.

74|73|65|74
t | s | e | t

also wie bekomme ich das richtig umgewandelt?
09/11/2010 23:53 MrSm!th#2
Von welchem Typ ist text?
Da ich das nicht weiß, kann ich dir den Code jetzt nicht so korrigieren, ich könnte dir nur meine Lösung vorschlagen.

edit:

Achso, aufgrund des sizeof(long) würde ich mal sagen, es ist ein long/int/DWORD.
Das wird natürlicherweise als Zahlenkombination interpretiert...
Du musst ein Char Array nehmen, um den String abzuspeichern:

PHP Code:
char text[10];
ReadProcessMemory(handle,(LPVOID)address,text,strlen("test"),&numBytesRead);   //strlen("test") ist ein Beispiel; du müsstest eben die maximale Länge eines Chateintrags nehmen, damit es immer passt
text[strlen("text")] = '\0';
cout << hex << text << "\n";
cout << text << "\n"
09/12/2010 00:22 MrCrackR#3
vielen dank, hat prima funktioniert :handsdown:

ich wünschte, c++ hätte eine so übersichtliche
hilfebibliothek wie autoit ;)
09/12/2010 00:26 MrSm!th#4
Hat es.
MSDN und Google.
09/12/2010 00:31 MrCrackR#5
danke für den tipp mit msdn. da gibt es wirklich schöne tutorials.
tja, nur mit google kann ich halt nicht richtig umgehen xD

kann von mir aus geschlossen werden
09/12/2010 00:32 MrSm!th#6
#closed