AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) IAT von kernel32.dll zur Laufzeit patchen

IAT von kernel32.dll zur Laufzeit patchen

Ein Thema von Assarbad · begonnen am 27. Nov 2016 · letzter Beitrag vom 4. Dez 2016
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#11

AW: IAT von kernel32.dll zur Laufzeit patchen

  Alt 4. Dez 2016, 01:48
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.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#12

AW: IAT von kernel32.dll zur Laufzeit patchen

  Alt 4. Dez 2016, 11:46
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.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#13

AW: IAT von kernel32.dll zur Laufzeit patchen

  Alt 4. Dez 2016, 19:02
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
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.014 Beiträge
 
Delphi 12 Athens
 
#14

AW: IAT von kernel32.dll zur Laufzeit patchen

  Alt 4. Dez 2016, 19:47
sondern nur Abstürze
Dann hätten wir wen, dem wir viele Abstürze zuschieben könnten.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#15

AW: IAT von kernel32.dll zur Laufzeit patchen

  Alt 4. Dez 2016, 20:08
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
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.
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