Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   IAT von kernel32.dll zur Laufzeit patchen (https://www.delphipraxis.net/190994-iat-von-kernel32-dll-zur-laufzeit-patchen.html)

Assarbad 4. Dez 2016 00:48

AW: IAT von kernel32.dll zur Laufzeit patchen
 
Zitat:

Zitat von Luckie (Beitrag 1355284)
Der Link zur Dokumentation auf der Seite geht nicht: 404.

Dank dir. Hab das direkt mal behoben. Bitbucket mag wohl keine absoluten URIs im reStructuredText, also bin ich wieder auf absolute URLs ausgewichen.

BUG 4. Dez 2016 10:46

AW: IAT von kernel32.dll zur Laufzeit patchen
 
Mal ein Schuss ins Blaue: sind die Adressen (aus IAT) und die virtuellen Adresse mit denen du die vergleichst alle aus dem gleichen Prozess? Wenn man nicht daran denkt, kann Adressraum-Randomisierung für Verwirrung sorgen ... ich weiß aber nicht wie die in Windows umgesetzt ist.

Assarbad 4. Dez 2016 18:02

AW: IAT von kernel32.dll zur Laufzeit patchen
 
Warum soll die nicht im gleichen Prozeß sein? Ich parse ja schließlich die IAT der kernel32.dll in genau dem Prozeß in dem ich die Funktion hooken will.

Das Problem ist ja auch weniger ASLR, denn wenn ich auf die Adressen zugreife, müßten sie ja zugreifbar sein. Letzten Endes müssen Funktionsaufrufe innerhalb kernel32.dll exakt den gleichen Weg nehmen. Also selbst wenn es ein Resultat von ASLR wäre, sollten die Adressen ja zugreifbar sein. Sonst macht auch ASLR keinen Sinn, sondern nur Abstürze :mrgreen:

himitsu 4. Dez 2016 18:47

AW: IAT von kernel32.dll zur Laufzeit patchen
 
Zitat:

Zitat von Assarbad (Beitrag 1355306)
sondern nur Abstürze :mrgreen:

Dann hätten wir wen, dem wir viele Abstürze zuschieben könnten. :twisted:

BUG 4. Dez 2016 19:08

AW: IAT von kernel32.dll zur Laufzeit patchen
 
Zitat:

Zitat von Assarbad (Beitrag 1355306)
Letzten Endes müssen Funktionsaufrufe innerhalb kernel32.dll exakt den gleichen Weg nehmen.

Ich hab verpasst, dass die Adressen anscheinend relativ sind. Von Detailfragen unter Windows habe ich keine Ahnung und per-Prozess Import-Tabellen wären ja durchaus geeignet, um positionsunabhängigen Code zu implementieren.

Einfach überprüfbare Ursachen zuerst ausschließen, also nichts für ungut :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:40 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz