Einzelnen Beitrag anzeigen

Benutzerbild von Assarbad
Assarbad

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

AW: IAT von kernel32.dll zur Laufzeit patchen

  Alt 28. Nov 2016, 07:51
Ich vermute mal, dass er einen IAT Hook basteln will, um alle Aurufe einer bestimmten API aus der kernel32.dll heraus auf einen eigenen Callback umzulenken
Jenau! Schrieb ich ja auch schon. Und zwar geht es um die äußerst unzuverlässigen Funktionen um verschiedene Ressourcentypen zu laden, bzw. die Funktion aus ntdll.dll welche als Unterbau benutzt wird. Damit will ich die Auswahl der richtigen Sprache in einem Modul gewährleisten. Microsoft hat nämlich leider alles rund um Sprachauswahl bis Windows Vista (exklusive) verbockt. Daher auch immer deren Empfehlung die einzelnen Sprachen in separate DLLs mit jeweils nur einer Sprache auszulagern. Das Problem wurde nämlich erst mit Windows Vista zuverlässig gelöst.

Klingt für mich eigentlich korrekt was du machst Hier mal ein Auszug aus einem C-Programm von mir, was über die Imports iteriert und beim Fund einer übergebenen Adresse den Namen ausgibt
Danke, bis auf die Tatsache, daß ich bei den Thunks die RVAs aus der Liste einzeln in VAs übersetze, ist mein Code funktionell identisch. Vermutlich sind die Linker so vernünftig die IMAGE_THUNK_DATA-Records direkt als lückenlose Liste hinzupappen, weshalb es auch geht nur die RVA zum ersten zu übersetzen und beim Rest halt jeweils sizeof(IMAGE_THUNK_DATA) dazu.

Ach ja, ich sollte noch erwähnen, daß ich halt RtlImageRvaToVa benutze, aber auch geprüft habe, daß die Rückgabewerte Modul+RVA entsprechen (du machst die Berechnung ja inline).

Und das Wunder der DP hat mal wieder zugeschlagen.
Das ist aber ein nettes Kompliment an Zacherl. Und in der Tat bin ich auch immer wieder von seinen fundierten Antworten begeistert. Die machen Freude.

Also vielen Dank Zacherl, dann nehme ich an daß es u.U. an Windows 7 liegt. Ich werde mir das nochmal auf früheren Versionen zu Gemüte führen, schließlich existiert das zu lösende Problem nur auf Windowsversionen vor Vista.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)

Geändert von Assarbad (28. Nov 2016 um 08:00 Uhr)
  Mit Zitat antworten Zitat