Injizieren Sie etwas Rost über DLL

Waren Sie jemals frustriert, dass eine Funktion, die Sie wollten, in einem Softwarepaket fehlte? Idealerweise wäre die Software Open Source und Sie könnten den Code einfach ändern und neu erstellen. Aber in vielen Fällen ist die Software Closed Source. Im Fall von [Faster than lime] fand er einen SNES-Emulator (Snes9X), der keine Controller unterstützte. Also schrieb er mit ein bisschen Rust Code, der per DLL-Injektion in den Emulator eingeschleust werden konnte.

Dies ist ein fantastisches Tutorial, das die Technik zeigt. Es beginnt mit der Erstellung eines Rust-Projekts, das die Crate-DLL-Syringe (die Rust-Version des Abhängigkeitsmanagements) verwendet. Diese Kiste erledigt einen Großteil der schweren Arbeit, die beim Einfügen einer DLL in einen Zielprozess anfällt. Der Rest der Reise ist ein großartiger Prozess, bei dem Sie die Windows-Dokumentation durchgehen und Funktionen implementieren. Die DLL liest einfach den Controller und sendet dann die richtige Eingabe an das Programm. Letztendlich hat [Faster than Lime] eine großartige injizierte DLL und wir haben eine wunderbare Zeit, Rust zu lernen und in einer Injection-Umgebung zu debuggen!

Es ist schon eine Weile her, seit wir uns mit der DLL-Injektion befasst haben, und es ist schön zu sehen, wie sich der Prozess entwickelt hat. Video nach der Pause.

Injizieren Sie etwas Rost über DLL

Waren Sie jemals frustriert, dass eine Funktion, die Sie wollten, in einem Softwarepaket fehlte? Idealerweise wäre die Software Open Source und Sie könnten den Code einfach ändern und neu erstellen. Aber in vielen Fällen ist die Software Closed Source. Im Fall von [Faster than lime] fand er einen SNES-Emulator (Snes9X), der keine Controller unterstützte. Also schrieb er mit ein bisschen Rust Code, der per DLL-Injektion in den Emulator eingeschleust werden konnte.

Dies ist ein fantastisches Tutorial, das die Technik zeigt. Es beginnt mit der Erstellung eines Rust-Projekts, das die Crate-DLL-Syringe (die Rust-Version des Abhängigkeitsmanagements) verwendet. Diese Kiste erledigt einen Großteil der schweren Arbeit, die beim Einfügen einer DLL in einen Zielprozess anfällt. Der Rest der Reise ist ein großartiger Prozess, bei dem Sie die Windows-Dokumentation durchgehen und Funktionen implementieren. Die DLL liest einfach den Controller und sendet dann die richtige Eingabe an das Programm. Letztendlich hat [Faster than Lime] eine großartige injizierte DLL und wir haben eine wunderbare Zeit, Rust zu lernen und in einer Injection-Umgebung zu debuggen!

Es ist schon eine Weile her, seit wir uns mit der DLL-Injektion befasst haben, und es ist schön zu sehen, wie sich der Prozess entwickelt hat. Video nach der Pause.

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow