![]() |
Blog Gastartikel: API Hooking und DLL Injection
Hey,
ich habe gestern und heute 2 kleine Gastartikel in einem Blog verfasst. Gehalten sind beide Beiträge im Tutorial-Stil, um (hoffentlich) auch Anfängern in diesem Bereich einen einfachen Einstieg zu ermöglichen. Fals ihr Lust habt und euch das Thema interessiert, könnt ihr die Artikel ja mal überfliegen und mir evenutell hilfreiche Tipps und Tricks zukommen lassen. Blogging und Verfassen von Tutorials sind absolutes Neuland für mich, also seid nachsichtig mit mir :mrgreen: :arrow: ![]() :arrow: ![]() Geplant sind zwei weitere Artikel zum Thema Exception Hooking (wird vom Blogbesitzer verfasst) und Hardware Breakpoint Hooks. Viele Grüße Zacherl |
AW: Blog Gastartikel: API Hooking und DLL Injection
Ich nutze die Gelegenheit mal zum pushen:
:arrow: ![]() |
AW: Blog Gastartikel: API Hooking und DLL Injection
Danke. Wird es davon einmal eine PDF geben?
|
AW: Blog Gastartikel: API Hooking und DLL Injection
Ich überlege mir später eine kleine Tutorial-Serie rauszumachen, wenn die Artikel gut ankommen. Dann würde ich das ganze natürlich auch als PDF zur Verfügung stellen.
|
AW: Blog Gastartikel: API Hooking und DLL Injection
Moin, also ich muss ehrlich sagen das der erste Artikel nicht sehr verständlich ist. Das mag damit zusammen hängen das ich nicht sehr viel mit Assembler zu tun hatte (bisher nur ein Semester MIPS).
Ich bin eben etwas verwirrt welche Befehle wie veränderst. Fabian |
AW: Blog Gastartikel: API Hooking und DLL Injection
Danke schonmal für dein Feedback :)
Verstehst du den Abschnitt im Code nicht oder die Erklärung der Assembler Codes vom MessageBoxW Ausschnitt? Bei Letzterem wird ja eigentlich nur ein PUSH %adresse% und ein RET ganz an den Anfang der API geschrieben. |
AW: Blog Gastartikel: API Hooking und DLL Injection
Hmmm schwer zu sagen,
also ich lese den Text zum dritten mal, und jetzt verstehe ich auch was du vor hast :D Was vielleicht hilfreich wäre, was du denn ersetzt, bzw. was das für eine wirkung hast: Also zuerst tust du so als wäre der EIP deine Callback Funktion und machst ein RETN. Aber ein paar Fragen bleiben noch übrig:
MfG Fabian |
AW: Blog Gastartikel: API Hooking und DLL Injection
Zitat:
Zitat:
Zitat:
|
AW: Blog Gastartikel: API Hooking und DLL Injection
Zitat:
MfG Fabian |
AW: Blog Gastartikel: API Hooking und DLL Injection
Also das Programm ruft irgendwo ganz normal MessageBoxW auf. Durch den Hook komme ich dann zum Callback. Jetzt darf ich im Callback halt nicht die originale MessageBoxW aufrufen, da diese direkt wieder zum Callback springen würde. Deshalb rufe ich O_MessageBoxW auf, die praktisch nur das Verhalten der originalen API kopiert bzw. zu dieser hinspringt, wobei der Jump zum Callback aber übergangen wird.
Der springende Punkt ist hier die globale Variable O_MessageBoxW :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz