<?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[Korrekte Benutzung von Microsoft Research Detours 2.1?]]></title><description><![CDATA[<p>Warum funktioniert folgendes Beispiel bei mir nicht? Nach Injektion der DLL-Datei (oberer Quelltext) wird die Funktion MyPrint nicht aufgerufen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">/* Evil DLL-File */

#include &lt;windows.h&gt;
#include &lt;detours.h&gt;
#include &lt;cstdio&gt;

#pragma comment(lib, &quot;detours.lib&quot;)
#pragma comment(lib, &quot;detoured.lib&quot;)

static int (__cdecl *TruePrint) (const char *Format, ...) = printf;

void MyPrint(const char *Format, ...)
{
    printf(&quot;MyPrint :D\r\n&quot;);
}

int __stdcall DllMain(int argc, char **argv)
{
    DetourTransactionBegin();
    DetourUpdateThread(GetCurrentThread());
    DetourAttach((void **) TruePrint, MyPrint);
}
</code></pre>
<pre><code class="language-cpp">/* Poor EXE-File */

#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;

int main(int argc, char **argv)
{
    while(true)
    {
        if(GetAsyncKeyState('E') &amp; 1)
            break;
        else if(GetAsyncKeyState('K') &amp; 1)
            printf(&quot;Hello World!\r\n&quot;);

        Sleep(50);
    }

    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/241157/korrekte-benutzung-von-microsoft-research-detours-2-1</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 16:50:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241157.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 May 2009 16:33:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Korrekte Benutzung von Microsoft Research Detours 2.1? on Sat, 16 May 2009 16:33:25 GMT]]></title><description><![CDATA[<p>Warum funktioniert folgendes Beispiel bei mir nicht? Nach Injektion der DLL-Datei (oberer Quelltext) wird die Funktion MyPrint nicht aufgerufen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">/* Evil DLL-File */

#include &lt;windows.h&gt;
#include &lt;detours.h&gt;
#include &lt;cstdio&gt;

#pragma comment(lib, &quot;detours.lib&quot;)
#pragma comment(lib, &quot;detoured.lib&quot;)

static int (__cdecl *TruePrint) (const char *Format, ...) = printf;

void MyPrint(const char *Format, ...)
{
    printf(&quot;MyPrint :D\r\n&quot;);
}

int __stdcall DllMain(int argc, char **argv)
{
    DetourTransactionBegin();
    DetourUpdateThread(GetCurrentThread());
    DetourAttach((void **) TruePrint, MyPrint);
}
</code></pre>
<pre><code class="language-cpp">/* Poor EXE-File */

#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;

int main(int argc, char **argv)
{
    while(true)
    {
        if(GetAsyncKeyState('E') &amp; 1)
            break;
        else if(GetAsyncKeyState('K') &amp; 1)
            printf(&quot;Hello World!\r\n&quot;);

        Sleep(50);
    }

    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1711523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711523</guid><dc:creator><![CDATA[Anfänger _(]]></dc:creator><pubDate>Sat, 16 May 2009 16:33:25 GMT</pubDate></item><item><title><![CDATA[Reply to Korrekte Benutzung von Microsoft Research Detours 2.1? on Sat, 16 May 2009 16:39:52 GMT]]></title><description><![CDATA[<p>Oh, so konnte das ja nichts werden.</p>
<p>Leider funktioniert es so auch nicht...</p>
<pre><code class="language-cpp">/* Evil DLL-File */

#include &lt;windows.h&gt;
#include &lt;detours.h&gt;
#include &lt;cstdio&gt;

#pragma comment(lib, &quot;detours.lib&quot;)
#pragma comment(lib, &quot;detoured.lib&quot;)

static int (__cdecl *TruePrint) (const char *Format, ...) = printf;

void MyPrint(const char *Format, ...)
{
	printf(&quot;MyPrint :D\r\n&quot;);
	fflush(stdout);
}

int __stdcall DllMain(HINSTANCE hinst, DWORD dwReason, LPVOID reserved)
{
	switch(dwReason)
	{
		case DLL_PROCESS_ATTACH:
			DetourTransactionBegin();
			DetourUpdateThread(GetCurrentThread());
			DetourAttach((void **) TruePrint, MyPrint);
			break;

		default:
			break;
	}

	return 1;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1711526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711526</guid><dc:creator><![CDATA[Anfänger _(]]></dc:creator><pubDate>Sat, 16 May 2009 16:39:52 GMT</pubDate></item><item><title><![CDATA[Reply to Korrekte Benutzung von Microsoft Research Detours 2.1? on Mon, 18 May 2009 09:24:30 GMT]]></title><description><![CDATA[<p>Niemand?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1712064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712064</guid><dc:creator><![CDATA[Anfänger _(]]></dc:creator><pubDate>Mon, 18 May 2009 09:24:30 GMT</pubDate></item><item><title><![CDATA[Reply to Korrekte Benutzung von Microsoft Research Detours 2.1? on Mon, 18 May 2009 13:51:05 GMT]]></title><description><![CDATA[<p>DetourTransactionCommit() fehlt nach DetourAttach().<br />
Und schreibe dort: (void**)**&amp;**TruePrint...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1712252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712252</guid><dc:creator><![CDATA[Amboss der Rabiator]]></dc:creator><pubDate>Mon, 18 May 2009 13:51:05 GMT</pubDate></item><item><title><![CDATA[Reply to Korrekte Benutzung von Microsoft Research Detours 2.1? on Tue, 19 May 2009 12:11:57 GMT]]></title><description><![CDATA[<p>Amboss der Rabiator schrieb:</p>
<blockquote>
<p>DetourTransactionCommit() fehlt nach DetourAttach().<br />
Und schreibe dort: (void**)**&amp;**TruePrint...</p>
</blockquote>
<p>Ich danke dir <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="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1712749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712749</guid><dc:creator><![CDATA[Anfänger _(]]></dc:creator><pubDate>Tue, 19 May 2009 12:11:57 GMT</pubDate></item><item><title><![CDATA[Reply to Korrekte Benutzung von Microsoft Research Detours 2.1? on Tue, 19 May 2009 12:14:57 GMT]]></title><description><![CDATA[<p>Vor der nächsten Frage bitte noch <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-200753.html" rel="nofollow">hier lesen!</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1712750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712750</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 19 May 2009 12:14:57 GMT</pubDate></item></channel></rss>