Sauberer Kernel Hook
-
Hallo,
ich würde gerne einen Kernel Hook anbringen. Jetzt gibt es zwei Möglichkeiten:
1.) Die altbewährte(hardcore) Methode: SSDT hooken und unter 64 Bit einen PatchGuard Bypass legen.
Die Lösung ist mir allerdings alles andere als lieb. Wäre zwar nicht das Problem aber es ist auch nicht die ultimative Lösung.2.)Die "neue" Methode: Die "Patch API"
Nun meine Frage: Seit dem PatchGuard raus ist, wird den Herstellern empfohlen, die neue Funktionalität der API zu nutzen.
Wir wollen dies auch tun, um so eine saubere Möglichkeit zu schaffen, Kernel Funktionen zu hooken. Was mir aber fehlt ist ein Schlagwort. Denn entweder bin ich zu dumm um zu googlen oder das wird mit Absicht zurückgehalten.
Ich brauche ein Paar Infos zu API. Wer kann mir helfen?
-
Was verstehst du unter einem Kernel-Hook? Wenn ganz nahe am System, dann Assembler oder anderes geeignet austricksen! :p
-
berniebutt schrieb:
Was verstehst du unter einem Kernel-Hook?
Na er wird wohl Kernel-Funktionen hooken/patchen wollen, das sagt das Wort ja schon.
Also Kernel-Funktion XYZ mit eigenem Code ersetzen (der dann möglicherweise, oder auch nicht, die Original-Funktion aufruft).Wenn ganz nahe am System, dann Assembler oder anderes geeignet austricksen! :p
....
Man muss nicht unbedingt immer überall mitreden, speziell wenn man von einem Thema keine Ahnung hat.@secondsun:
Na ich schätze mal MS wird dir helfen können.
Wenn das "wir" in deinem Beitrag sich auf eine Firma bezieht sollte das auch kein Problem sein. Anrufen, fragen. Zur Not einen Support-Incident aufmachen.
-
hustbaer schrieb:
Na er wird wohl Kernel-Funktionen hooken/patchen wollen, das sagt das Wort ja schon.
Also Kernel-Funktion XYZ mit eigenem Code ersetzen (der dann möglicherweise, oder auch nicht, die Original-Funktion aufruft).Schön! Transparent und portabel?

-
berniebutt schrieb:
hustbaer schrieb:
Na er wird wohl Kernel-Funktionen hooken/patchen wollen, das sagt das Wort ja schon.
Also Kernel-Funktion XYZ mit eigenem Code ersetzen (der dann möglicherweise, oder auch nicht, die Original-Funktion aufruft).Schön! Transparent und portabel?

Hä

Er sucht Infos zu einer ganz speziellen API, was soll da transparent und/oder portabel sein?
Wenn die Infos in einem PDF sind kann man sie auf so ziemlich jedem OS lesen, und wenn man sie auf Folie ausdruckt sind sie auch transparent.
EDIT: jetzt verstehe ich was du meinst. Ja, kann sein dass man da Assembler braucht (vermutlich reicht aber sogar C), das ist aber nicht der Punkt. Der Punkt ist, dass es mit seiner Frage nix zu tun hat. Die API Doku wird nicht aus dem Nichts vor ihm auf seinem Schreibtisch entstehen wenn er beginnt Assembler zu schreiben.
Und ohne die hat er weder mit C noch mit Assembler eine Chance.Anders gesagt: dein Hinweis auf Assembler ist weder ausreichend noch notwendig.
-
@secondsun:
Nach meiner rein persönlichen Meinung gibt es keine "sauberen Hooks"!Weiterhin hättest Du einfach die MSDN bemühen können und dort nach PatchAPI suchen können. Du wärest sofort fündig geworden:
http://msdn.microsoft.com/en-us/library/Bb267312Aber da ich mich bei Hook Threads im allgemeinen nie beteilige frage ich mich schon wieder warum ich es jetzt mache...
-
Hi
Bei mir kommt's darauf an wie die Frage gestellt ist ... dann helfe ich gerne weiter.
Den Rest kann man sowiso nicht ernstnehmen.Kann dich gut verstehen warum du dich aus den Thread hinaus hälst ...
@seconsun
Vieleicht hilft dir das weiter...http://www.codeproject.com/KB/system/soviet_direct_hooking.aspx
Aber man sollte schon eine Menge an wissen mit bringen um soetwas zu verstehen, geschwiegen der implementierung.
Das wars für mich ...
lowbyte