Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »E333« (02.09.2021, 04:21)
mmh ich habe 2 prozesse die fast identisch sind 5-8 values sind unterschiedlich und diesen unterschied hätte ich gerne mit c++ rausgesuchtKönnte man. Nur, was hätte man davon? Der naive Ansatz wäre zudem impraktikabel da er ewig lange dauern würde und ein nicht naiver Ansatz wäre vermutlich ziemlich kompliziert.
aha..??doch einfach 2x memdump und dann ein binary diff von den beiden dumps?
dann hast du zwar nicht die variablennamen, aber schonmal n anfang...
wofür muss man überhaupt ein diff von zwei speicherbereichen machen?
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
void scan_memory (::HANDLE process, ::DWORD start, ::DWORD end, std::string value, std::vector<::DWORD>& adresses) { std::string str = ""; for(::DWORD i = start; i < end; ++i) { for(int x = 0; x < value.length(); ++x) { char read_buffer = 0; // Wert auslesen ::ReadProcessMemory(process, reinterpret_cast<void*>(i + x), &read_buffer, sizeof (char), 0); // Wert stimmt mit gesuchten Wert berein if(read_buffer == value.at(x)) { // Zum String hinzufügen str += read_buffer; } else { // String ausgeben for(int y = 0; y < str.length(); ++y) { std::cout << str.at(y); } std::cout << "\n"; str = ""; break; // Schleife verlassen } } if(str.find(value) != std::string::npos) { for(int x = 0; x < value.length(); ++x) { // Alle Adressen hinzufügen adresses.push_back(i + x); } } else { str = ""; } } } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Jack« (05.07.2012, 11:15)
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
AlexWorX
unregistriert
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Einfach PM oder Mail.
Werbeanzeige