Folgende Warnungen sind aufgetreten: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Warning [2] preg_match_all(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 1007 - File: inc/highlighter.php PHP 7.4.33 (Linux)
|
C++ Code Injection(ohne DLL) - Druckversion +- Home of Gamehacking - Archiv (http://archiv-homeofgamehacking.de) +-- Forum: Coding (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=15) +--- Forum: C, C#, C++, Visual C++ (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=18) +--- Thema: C++ Code Injection(ohne DLL) (/showthread.php?tid=1059) Seiten:
1
2
|
|||||
RE: C++ Code Injection(ohne DLL) - Acubra - 13.07.2012 Hey, also der ASM Code bewirkt folgendes: //EDiT: Hab grad noch nen sehr interessanten Artikel gefunden: http://www.codeguru.com/cpp/w-p/system/processesmodules/article.php/c5767/Three-Ways-To-Inject-Your-Code-Into-Another-Process.htm Vor allem der dritte Unterpunkt (III. The CreateRemoteThread & WriteProcessMemory Technique) sollte dich interessieren. RE: C++ Code Injection(ohne DLL) - Colix - 17.07.2012 nach einigen tagen meld ich mich jetzt auch mal wieder! Erstmal danke für die Erklärung und den weiteren Link, hat mir eigentlich gut geholfen, sodass ich folgendes zusammengeschrieben hab. Code:
RE: C++ Code Injection(ohne DLL) - Acubra - 19.07.2012 Hey, ich hab deinen Code mal bei mir ausgeführt und im Debugger geguckt was passiert. Also, nach dem WriteProcessMemory Call, findest du folgendes im "Mutter" Prozess: [attachment=969] Wie du siehst, eine Reihe von Jumps. Jedoch führt nur der erste zu einer validen Adresse (dieser wird auch nur "gecalled", weil -->). Der erste Jump springt zu folgendem Code: [attachment=970] Das Programm crasht dann bei folgendem Befehl: CALL DWORD PTR DS:[258208] Da ich nicht wirklich Ahnung von der Theorie hinter dem Ganzen hab und auch sonst nicht weiss wie es aussehen soll, bin ich ab hier mit meinem Latein am Ende. Sorry. RE: C++ Code Injection(ohne DLL) - sungwoo - 14.10.2012 Hallo, ich weiss zwar nicht ob das hier noch Interesse an dem Thema besteht aber ich schreib mal was dazu: 1. Mit VirtualAllocEx Speicher im Zielprozess reservieren. VirtualAllocEx(handle, NULL, SizeOfBytesToReserve, MEM_COMMIT , PAGE_EXECUTE_READWRITE ); 2. Mit ReadProcessMemory die Daten sichern welche überschrieben werden. 3. Mit WriteProcessMemory folgendes schreiben: JMP AdresseVoMReserviertenSpeicherBereich Hier schreibst du zuerst den Opcode 0xe9 Die Adresse wo hingesprungen werden soll wird wohl kleiner sein als die Adresse VON der du springst, also rechnest du folgendes: ZielAdressOpcodes = ZielSprungAdresse - StartSprungAdresse - 5 Ach ich geb mal ein genaueres Beispiel^^: PHP-Code:
Ich hoffe man kann meine Erklärung verstehen. PHP-Code:
|