AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Kernel Filtertreiber umgehen? Ist das möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

Kernel Filtertreiber umgehen? Ist das möglich?

Ein Thema von hitzi · begonnen am 23. Okt 2006 · letzter Beitrag vom 23. Okt 2006
 
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Kernel Filtertreiber umgehen? Ist das möglich?

  Alt 23. Okt 2006, 13:00
Ich empfehle ausgedehntes Schmökern auf www.osronline.com, die kostenlose Mitgliedschaft dort, sowie die auf dem dortigen Newsserver vorhandenen Newsgroups ausführlich zu lesen. Das Thema ist relativ komplex, für den Einstieg sei nur gesagt, dass man sich die SDT (eine Art Sprungtabelle in der grundlegende Systemfunktionsadressen (Einsprungpunkte in den Kernel) zu finden sind) anschauen kann, und wenn eine der Adressen dort ausserhalb des Speicherbereichs des Kernels liegt, hat man den Hook gefunden. Es ist dann auch kein grosses Problem, entweder eigene Massnahmen zu ergreifen (nen Kopierschutz würde dann z.B. ein manipuliertes System vermuten und den Start verweigern) oder einfach "drumrum" zu laufen. Dazu sucht man einfach im Kernel nach einem charakteristischen Muster an dem man die gehookte Funktion erkennt (man könnte je nach gehookter Funktion natürlich auch einfach in den Exports nachschauen, aber wenn ich einen Hook entdeckt habe, muss ich auch davon ausgehen dass dort manipuliert wurde), und ruft dann die gefundene Adresse statt der regulären auf.

Nachtrag: Hab jetzt doch endlich das PDF komplett zum Anzeigen, und sehe dass da direkt im Kernel gepatcht werden soll. Sowas ist wirklich nicht die feine englische Art Das Vorgehen ist dabei praktisch gleich, nur etwas aufwendiger, weil man nicht nur einfach Adressen interpretiert sondern Assemblerbefehle. Man holt sich die Einsprungadresse und liest von dort einfach ein paar Bytes (je nachdem wie paranoid man ist ) und schaut ob Sprungbefehle dabei sind, die Ziele ausserhalb des Kerneladressbereichs haben. Zum Beispiel in der Art "ist der erste Befehl ein Sprung zu einer Adresse ausserhalb des Kernel-Adressbereiches, dann BUMM!"

Es bleibt noch der obligatorische Hinweis, dass das Rumwerkeln an den Betriebssystem-Innereien besser entsprechend fähigen Leuten überlassen werden sollte... Zumindest aber sollte man sich über die möglichen Konsequenzen seines Tuns wie Datenverlust und zerschossene Filesysteme im Klaren sein
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
 


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 08:36 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 by Thomas Breitkreuz