Marco01_809 schrieb:
Wird auch daraus leider nicht klar was das nun zu einer Sicherheitslücke macht..
Das ist halt Basiswissen beim Einschleusen von Code. Da solltest du dir dann eher Material dazu ansehen. Wenn man das Thema behandeln würde, würde es jeglichen Umfang sprengen.
Einfachstes Beispiel:
- das Spiel lädt die
input.dll
- du lieferst in deinem Mod eine eigene
input.dll
mit
- das Spiel nutzt nun deine
input.dll
- dein Code wird zuerst ausgeführt, bevor du sie an die eigentliche
input.dll
zur Verarbeitung schickst (damit es nicht auffällt)
In dem Code kann man dann natürlich alles anstellen. Da brauch das Spiel keinen Multiplayer, damit du Daten an bösedomain.de schicken kannst. Du besitzt dann sämtliche Rechte, die der ausführende User auf dem PC hat und was dieser machen darf, darf auch dein Code machen. Du kannst also nach Lust und Laune den gesamten Inhalt aller Festplatten auslesen und hochladen, den RAM nach Passwörtern durchsuchen usw. Wenn du in deinem Code dann nach weiterer exploitbarer Software suchst, kannst du natürlich noch mehr infizieren, vor allem wenn du irgendwo eine Privilege Escalation hervorrufen kannst, womit das System quasi komplett nackt wäre. Deine DLL muss dabei auch nicht groß sein, du kannst ja schließlich auch irgendwo weiteren Code nachladen.
Poor Man's Code Execution:
Am Beispiel von Pokemon blau:
Ocarina of Time hat bspw. auch Code Execution parat (das Video ist allgemein gut, weil es auch etwas den Hintergrund beleuchtet):
Beispielhaft kann man sich alle möglichen Speedruns mit Exploits ansehen, weil sich diese immer irgendwelcher Lücken bedienen, damit der Speicher manipuliert wird.
0x8100 schrieb:
Versionen sind überlicherweise keine ints, weshalb alle so verdutzt sind. Oder willst du mir sagen, dass Linux 5.10.13 nicht neuer als 5.2.20 ist? Das ist halt das übliche Semver Schema.