LD_PRELOAD äquivalent für Windows zum laden von shared libraries
Ich versuche genau das zu tun, was LD_PRELOAD funktioniert, d.h. die Vorspannung einer shared library oder DLL-Dateien auf Windows, um ein bestimmtes Programm zu überschreiben bestimmter Funktionen.
Gibt es eine LD_PRELOAD
äquivalent für Windows?
Habe ich keine bestimmten Funktionalitäten im Auge. Ich weiß nur, dass dies möglich ist auf Linux, und ich bin neugierig, wie das überladen eine native DLL kann getan werden, auf Windows.
- Was versuchen Sie zu erreichen? Es gibt keine direkte Entsprechung
- Welche Funktionen möchten Sie zu überlasten?
- Auch ist diese für eine .net-verwalteten assembly oder für eine native dll?
- Ist dies nicht möglich, weil die be-und symbol-resolution behandelt werden, in ganz anderer Weise in den GNU linker-und PE-loader. Die nächstgelegene Sie bekommen wird, ist zu schreiben, was manchmal als "loader" in cracker-Kreisen, die setzt entweder den debugger Schleife und so kann, außer ein paar Sachen, wenn neue Module/DLLs geladen werden, oder einfach starten Sie den Prozess mit Haupt-thread angehalten, dann Bearbeiten Sie die import-Tabelle oder ähnliches, in Speicher natürlich) und dann wieder von der main-thread zur Durchsetzung der geänderten Verhalten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
AppInit_DLLs.
http://support.microsoft.com/kb/197571
Siehe aber auch:
AppInit_DLLs sollte umbenannt werden Deadlock_Or_Crash_Randomly_DLLs
https://blogs.msdn.microsoft.com/oldnewthing/20071213-00/?p=24183/
Möglicherweise möchten Sie auch zu schauen "DLL Injection". Vier Ansätze (einschließlich AppInint_DLLs) sind hier beschrieben:
http://en.wikipedia.org/wiki/DLL_Injection