<?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[NtQueryDirectoryFile Hook -- explorer hängt beim Dateien Umbenennen trozt minimaler änderung]]></title><description><![CDATA[<p>Hi Leute,<br />
ja ich bins schonwieder <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="😃"
    /></p>
<p>Diesmal gehts um einen NtQueryDirectoryFile Hook.</p>
<p>Er funktioniert an sich schon wie er soll,allerdings hängt sich der explorer immer auf wenn ich versuche eine Datei umzubenennen...</p>
<p>Die originale Funktion befindet sich @new_adress.</p>
<p>Die angehängteFunktion wird statt der originalen aufgerufen<br />
Lasse ich die while(1) Schleife weg geht alles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Schon mal vielen Dank <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /><br />
Xalon</p>
<pre><code class="language-cpp">DWORD WINAPI instead_call(HANDLE a,HANDLE b,PIO_APC_ROUTINE c,PVOID d,PIO_STATUS_BLOCK e,PVOID f,ULONG g,FILE_INFORMATION_CLASS h,BOOLEAN i,PUNICODE_STRING j,BOOLEAN k)
{
 char* cbuf = (char*)f;

 //ruft ori funktion auf
 DWORD back = new_adress(a,b,c,d,e,f,g,h,i,j,k);

 int index = 0;

if(h == 3)  // FILE_INFORMATION_CLASS  == FILE_BOTH_DIRECTORY_INFORMATION
{
  FILE_BOTH_DIRECTORY_INFORMATION* info;     
  // Lass ich die Schleife weg geht alles o.O
  while(1)
  {
  info = (FILE_BOTH_DIRECTORY_INFORMATION *)&amp;cbuf[index];

  if (info-&gt;NextEntryOffset == 0)
   break;

  index += info -&gt; NextEntryOffset;
  } 

}
 return back;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/180161/ntquerydirectoryfile-hook-explorer-hängt-beim-dateien-umbenennen-trozt-minimaler-änderung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 11:08:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180161.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Apr 2007 17:39:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to NtQueryDirectoryFile Hook -- explorer hängt beim Dateien Umbenennen trozt minimaler änderung on Sun, 29 Apr 2007 17:39:17 GMT]]></title><description><![CDATA[<p>Hi Leute,<br />
ja ich bins schonwieder <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="😃"
    /></p>
<p>Diesmal gehts um einen NtQueryDirectoryFile Hook.</p>
<p>Er funktioniert an sich schon wie er soll,allerdings hängt sich der explorer immer auf wenn ich versuche eine Datei umzubenennen...</p>
<p>Die originale Funktion befindet sich @new_adress.</p>
<p>Die angehängteFunktion wird statt der originalen aufgerufen<br />
Lasse ich die while(1) Schleife weg geht alles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>Schon mal vielen Dank <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /><br />
Xalon</p>
<pre><code class="language-cpp">DWORD WINAPI instead_call(HANDLE a,HANDLE b,PIO_APC_ROUTINE c,PVOID d,PIO_STATUS_BLOCK e,PVOID f,ULONG g,FILE_INFORMATION_CLASS h,BOOLEAN i,PUNICODE_STRING j,BOOLEAN k)
{
 char* cbuf = (char*)f;

 //ruft ori funktion auf
 DWORD back = new_adress(a,b,c,d,e,f,g,h,i,j,k);

 int index = 0;

if(h == 3)  // FILE_INFORMATION_CLASS  == FILE_BOTH_DIRECTORY_INFORMATION
{
  FILE_BOTH_DIRECTORY_INFORMATION* info;     
  // Lass ich die Schleife weg geht alles o.O
  while(1)
  {
  info = (FILE_BOTH_DIRECTORY_INFORMATION *)&amp;cbuf[index];

  if (info-&gt;NextEntryOffset == 0)
   break;

  index += info -&gt; NextEntryOffset;
  } 

}
 return back;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1275812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275812</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Sun, 29 Apr 2007 17:39:17 GMT</pubDate></item><item><title><![CDATA[Reply to NtQueryDirectoryFile Hook -- explorer hängt beim Dateien Umbenennen trozt minimaler änderung on Mon, 30 Apr 2007 01:37:01 GMT]]></title><description><![CDATA[<p>Du darfst nicht vergessen, dass &quot;NtQueryDirectoryFile ()&quot; eine <em>un</em>dokumentierte Funktion ist.*</p>
<p>Niemand* (ausser der &quot;Erschaffer&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /> ) weiss, warum, wie und mit welchen Parametern der Explorer &quot;NtQueryDirectoryFile ()&quot; aufruft wenn eine Datei umbenannt wird.</p>
<p>Lass Dir &quot;NextEntryOffset&quot; ausgeben und prüfe, ob</p>
<pre><code class="language-cpp">if (info-&gt;NextEntryOffset == 0)
 break;
</code></pre>
<p>in so einem Fall eine geeignete Abbruchbedingung ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275994</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 30 Apr 2007 01:37:01 GMT</pubDate></item><item><title><![CDATA[Reply to NtQueryDirectoryFile Hook -- explorer hängt beim Dateien Umbenennen trozt minimaler änderung on Mon, 30 Apr 2007 08:09:44 GMT]]></title><description><![CDATA[<p>Da die Funktion undokumentiert ist, vermute ich mal, dass Deine größe von &quot;FILE_BOTH_DIRECTORY_INFORMATION&quot; nicht stimmt (da sich diese ja mit *jedem* Hotfix, SP ändern kann)!</p>
<p>Warum verwendest Du nicht FindFirstChangeNotification?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276082</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 30 Apr 2007 08:09:44 GMT</pubDate></item><item><title><![CDATA[Reply to NtQueryDirectoryFile Hook -- explorer hängt beim Dateien Umbenennen trozt minimaler änderung on Mon, 30 Apr 2007 09:26:23 GMT]]></title><description><![CDATA[<p>Vielleicht hilft dir ja diese Seite: <a href="http://rootkit.com/newsread.php?newsid=36" rel="nofollow">http://rootkit.com/newsread.php?newsid=36</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276139</guid><dc:creator><![CDATA[dmesg]]></dc:creator><pubDate>Mon, 30 Apr 2007 09:26:23 GMT</pubDate></item><item><title><![CDATA[Reply to NtQueryDirectoryFile Hook -- explorer hängt beim Dateien Umbenennen trozt minimaler änderung on Mon, 30 Apr 2007 12:50:14 GMT]]></title><description><![CDATA[<p>Ah vielen Dank für eure Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /><br />
merker hatte Recht,scheinbar wird NextEntryOffset beim Umbenennen nicht auf 0 gesetzt.</p>
<p>Naja Undokumentiert halt <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>
<p>Habs jetzt so gelöst:</p>
<pre><code class="language-cpp">//g = BufferLength
  if(index &gt; g)
   break;
</code></pre>
<p>mfg,<br />
Xalon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276282</guid><dc:creator><![CDATA[Xalon_]]></dc:creator><pubDate>Mon, 30 Apr 2007 12:50:14 GMT</pubDate></item></channel></rss>