<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[NTDLL-Funktionen Hooken]]></title><description><![CDATA[<p>Hallo,</p>
<p>nachdem ich hier die ganzen Threads gelesen hab, hab ich auch ma n bisschen mit IAT Hooks rumexperimentiert.<br />
Wenn ich Funktionen aus kernel32.dll oder user32.dll hooke klappt das auch alles super, aber sobald ich probiere Funktionen aus ntdll.dll zu hocken, klappt das net mehr. Und zwar wird offenbar keine Funktion mit dem Namen, den ich suche gefunden. Ich hab das bisher nur mit NtQueryDirectoryFile probiert, aber ich denke daran liegts nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/208468/ntdll-funktionen-hooken</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 03:56:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/208468.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Mar 2008 18:52:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 18:52:27 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>nachdem ich hier die ganzen Threads gelesen hab, hab ich auch ma n bisschen mit IAT Hooks rumexperimentiert.<br />
Wenn ich Funktionen aus kernel32.dll oder user32.dll hooke klappt das auch alles super, aber sobald ich probiere Funktionen aus ntdll.dll zu hocken, klappt das net mehr. Und zwar wird offenbar keine Funktion mit dem Namen, den ich suche gefunden. Ich hab das bisher nur mit NtQueryDirectoryFile probiert, aber ich denke daran liegts nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476808</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Tue, 18 Mar 2008 18:52:27 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 18:56:47 GMT]]></title><description><![CDATA[<p>Du kannst aus dem Usermode keine Funktionen im Kernel hooken!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476811</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 18 Mar 2008 18:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 19:00:53 GMT]]></title><description><![CDATA[<p>Hm... Aber FindNextFile ist doch ne kernel Funktion, oder nicht? Die lässt sich hooken. Wie kommt denn Ansonsten mein Programm dahin, dass es die hooken kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476814</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Tue, 18 Mar 2008 19:00:53 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 20:04:11 GMT]]></title><description><![CDATA[<p>ntdll.dll enthält die &quot;native&quot; Schnittstelle vom User-Mode zum Kernel-Mode. kernel32.dll enthält *nur* User-Mode Schnittstellen; der Name ist etwas irreführend.<br />
Beide DLLs kann man im User-Mode hooken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476859</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 18 Mar 2008 20:04:11 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 20:19:20 GMT]]></title><description><![CDATA[<p>Hm aso. Gibt es ne Möglichkeit an die Kernel Model Funktionen zu kommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476878</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Tue, 18 Mar 2008 20:19:20 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 20:29:25 GMT]]></title><description><![CDATA[<p>Kann man ne Dll Injection in einen Ring 0 Prozess machen und von da die Kernel Funktionen hooken?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476885</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Tue, 18 Mar 2008 20:29:25 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 20:51:01 GMT]]></title><description><![CDATA[<p>im ring 0 kannste nur ueber treiber wueten... oder du greifst direkt auf den phymem zu..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476896</guid><dc:creator><![CDATA[ring007]]></dc:creator><pubDate>Tue, 18 Mar 2008 20:51:01 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 20:56:52 GMT]]></title><description><![CDATA[<p>Auf den physikalischen Speicher zugreifen geht wahrscheinlich net mit Read- &amp; Write ProcessMemory, oder? Was für Funktionen nimmt man da?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476900</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Tue, 18 Mar 2008 20:56:52 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 20:58:16 GMT]]></title><description><![CDATA[<p>Hier hast mal nen Tutorial zur Treiber programmierung, da wird dir auch gleich noch nen bissel sachliches verklickert. Ich bin zwar auch am hooken von en paar API Funktionen, aber von der Treiberprogrammierung lass ich, denn doch lieber die Finger ( vor erst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ). Kannst es dir ja mal durchlesen.</p>
<p>Gruß Tobi.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476901</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Tue, 18 Mar 2008 20:58:16 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 21:06:43 GMT]]></title><description><![CDATA[<p>Wo is es denn?^^</p>
<p>Naja will momentan irgendwie Dateien Verstecken und hatte eg vor FindNextFile zu hooken. Aber sobald ich das bei Explorer.exe mache kriegt der n Fehler. Gibts ne Möglichkeit das zu umgehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476903</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Tue, 18 Mar 2008 21:06:43 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 21:37:45 GMT]]></title><description><![CDATA[<p>Was fürn fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476921</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Tue, 18 Mar 2008 21:37:45 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 22:05:59 GMT]]></title><description><![CDATA[<p>Es sind zwei verschiedene:</p>
<p>Wenn ich zuerst FindFirstFileA oder -W hooke passier nichts, aber der Hook wird auch nicht ausgeführt.</p>
<p>Wenn ich FindFirstFileW und anschließend FindNextFileW hooke erscheint eine Meldung, dass das Programm aus Sicherheitsgründen geschlossen werde. Bestätgit man dies erscheint &quot;explorer.exe hat ein Problem festgestellt und muss beendet werden.&quot;</p>
<p>Hooke ich FindNextFileW direkt erscheint nur Folgendes &quot;explorer.exe hat ein Problem festgestellt und muss beendet werden.&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476943</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Tue, 18 Mar 2008 22:05:59 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 22:16:23 GMT]]></title><description><![CDATA[<p>Verwendest du Detours?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476952</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Tue, 18 Mar 2008 22:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 22:22:26 GMT]]></title><description><![CDATA[<p>nope. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476954</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Tue, 18 Mar 2008 22:22:26 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 22:26:00 GMT]]></title><description><![CDATA[<p>Zähl mal nach, wieviele Bytes bei FindNextFileW gesichert werden müssen, damit nichts auseinandergerissen wird (!=5).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476956</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 Mar 2008 22:26:00 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 22:29:15 GMT]]></title><description><![CDATA[<p>Ich mach das nicht mit Bytes sichern. Ich ändere die Addresse in der IAT auf meine Funktion, führe die aus und von da führe ich die alte Funktion aus. Das klappt auhc alles wunderbar nur halt nicht bei explorer.exe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476957</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Tue, 18 Mar 2008 22:29:15 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 22:34:34 GMT]]></title><description><![CDATA[<p>Hm also ich kann dazu nichts sagen, außer das FindFirstFileA den den Anfang hat:</p>
<pre><code>7C80F0E1     8BFF                    MOV     EDI,EDI              
7C80F0E3     55                      PUSH    EBP
7C80F0E4     8BEC                    MOV     EBP,ESP
</code></pre>
<p>D.h. also das wenn du die 5Bytes sicherst und schreibst nichts aus einanderreist,muss also an was anderem liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476961</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Tue, 18 Mar 2008 22:34:34 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 22:35:33 GMT]]></title><description><![CDATA[<p>Sicherst Du vor Ausführung Deiner Funktion auch die Umgebung (CPU-Register) ? Und stellst sie am Ende wieder her ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476962</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 18 Mar 2008 22:35:33 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 22:45:24 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12675">@T0bi</a> Wie gesagt: Ich sichere die Bytes gar nicht, weil ich sie auch nicht überschreibe.<br />
@merker Ne ich sicher sie ehrlich gesagt nicht. Ich kenn aber auch die Funktion dafür nicht... Man macht das doch nicht in Assembler, oder? Dafür gibts doch bestimmt ne Funktion, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476966</guid><dc:creator><![CDATA[Cpt. Hook]]></dc:creator><pubDate>Tue, 18 Mar 2008 22:45:24 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Tue, 18 Mar 2008 22:54:43 GMT]]></title><description><![CDATA[<p>schreib mal in deiner funktion, sprich deine Hook Funktion, so was hier in der Art:</p>
<pre><code class="language-cpp">void HookFunc( ... ) {

 _asm {

      // some asm crap
      // z.B Register aus lesen ala mov deineGlobaleVar, EDX

      // Bevor du funktion ausführst ala MessageBox oder so
      // Flags und Register sichern
      PUSHAD // sichert alle Register
      PUSHFD // sichert alle Flags
  }

  // Mache zu was du lust hast 
  MessageBox( ... )
  SendMessage( ... )
  usw.

  // dann stelle alle Falgs und register wieder her
  _asm {

      POPAD
      POPFD
   }
}
</code></pre>
<p>Das hatte jedenfals bei mir maldas Problem gelöst, denn wenn du code ausführst in deiner Funktion, kann es sein das du die Register und Falgs aenderst.<br />
FOLGE: es könnte ja sein das der Register EDI oder ein anderer die Rücksprung Adresse beinhalt(ete). Darum IMER alles sichern.</p>
<p>Probiers am bestern mal aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476971</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Tue, 18 Mar 2008 22:54:43 GMT</pubDate></item><item><title><![CDATA[Reply to NTDLL-Funktionen Hooken on Wed, 19 Mar 2008 06:48:04 GMT]]></title><description><![CDATA[<p>Zum Hooken schau Dir Detour an.<br />
Und da das Hooken zur Zeit überhand nimmt und sicht *niemand* was sagen lässt, geschweige denn sich *funktionierende* Beispiele anschaut, mach ich hier zu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1477006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1477006</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 19 Mar 2008 06:48:04 GMT</pubDate></item></channel></rss>