<?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[Detours 2.1: Original aufrufen...]]></title><description><![CDATA[<p>Hey!</p>
<p>Ich möchte Detours 2.1 benutzen, schaffe es aber nicht die original Funktion aufzurufen, nachdem vorher die detour Funktion aufgerufen wurde.</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;detours.h&gt;
#include &lt;iostream&gt;
using namespace std;

typedef int(*pointerFunc)(int, int);
int (*trueFunc)(int, int);
int hookFunc(int, int);

bool WINAPI DllMain(HMODULE hDll, DWORD dwReason, PVOID pvReserved)
{
	trueFunc = (pointerFunc)0x00401AA0; // Adresse zu einer Funktion int Test(int, int) eines anderen Prozesses

	if(dwReason == DLL_PROCESS_ATTACH)
	{
		DetourTransactionBegin();
        DetourUpdateThread(GetCurrentThread());
        DetourAttach(&amp;(PVOID&amp;)trueFunc, hookFunc);
        DetourTransactionCommit();
	}
	else if(dwReason == DLL_PROCESS_DETACH)
	{
		DetourTransactionBegin();
        DetourUpdateThread(GetCurrentThread());
        DetourDetach(&amp;(PVOID&amp;)trueFunc, hookFunc);
        DetourTransactionCommit();
	}

    return true;
}

int hookFunc(int a1, int a2)
{
	a1 = 2;
	a2 = 3;
	cout &lt;&lt; &quot;hkTest(&quot; &lt;&lt; a1 &lt;&lt; &quot;, &quot; &lt;&lt; a2 &lt;&lt; &quot;) called...&quot; &lt;&lt; endl;

	return ??? // trueFunc ergibt Endlosschleife (Weil Adresse ersetzt wurde?)
}
</code></pre>
<p><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=":confused:"
      alt="😕"
    /></p>
<p>Danke!<br />
MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/210629/detours-2-1-original-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 21:47:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/210629.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 13 Apr 2008 10:41:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Detours 2.1: Original aufrufen... on Sun, 13 Apr 2008 10:41:07 GMT]]></title><description><![CDATA[<p>Hey!</p>
<p>Ich möchte Detours 2.1 benutzen, schaffe es aber nicht die original Funktion aufzurufen, nachdem vorher die detour Funktion aufgerufen wurde.</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;detours.h&gt;
#include &lt;iostream&gt;
using namespace std;

typedef int(*pointerFunc)(int, int);
int (*trueFunc)(int, int);
int hookFunc(int, int);

bool WINAPI DllMain(HMODULE hDll, DWORD dwReason, PVOID pvReserved)
{
	trueFunc = (pointerFunc)0x00401AA0; // Adresse zu einer Funktion int Test(int, int) eines anderen Prozesses

	if(dwReason == DLL_PROCESS_ATTACH)
	{
		DetourTransactionBegin();
        DetourUpdateThread(GetCurrentThread());
        DetourAttach(&amp;(PVOID&amp;)trueFunc, hookFunc);
        DetourTransactionCommit();
	}
	else if(dwReason == DLL_PROCESS_DETACH)
	{
		DetourTransactionBegin();
        DetourUpdateThread(GetCurrentThread());
        DetourDetach(&amp;(PVOID&amp;)trueFunc, hookFunc);
        DetourTransactionCommit();
	}

    return true;
}

int hookFunc(int a1, int a2)
{
	a1 = 2;
	a2 = 3;
	cout &lt;&lt; &quot;hkTest(&quot; &lt;&lt; a1 &lt;&lt; &quot;, &quot; &lt;&lt; a2 &lt;&lt; &quot;) called...&quot; &lt;&lt; endl;

	return ??? // trueFunc ergibt Endlosschleife (Weil Adresse ersetzt wurde?)
}
</code></pre>
<p><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=":confused:"
      alt="😕"
    /></p>
<p>Danke!<br />
MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491228</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Sun, 13 Apr 2008 10:41:07 GMT</pubDate></item><item><title><![CDATA[Reply to Detours 2.1: Original aufrufen... on Sun, 13 Apr 2008 12:13:45 GMT]]></title><description><![CDATA[<p>DetourAttachEx() ist dafür zuständig, sorry habs in der Hilfsdatei überlesen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491264</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Sun, 13 Apr 2008 12:13:45 GMT</pubDate></item><item><title><![CDATA[Reply to Detours 2.1: Original aufrufen... on Mon, 14 Apr 2008 06:42:05 GMT]]></title><description><![CDATA[<p>Kleine Frage, kann ich via Detours auch externe programme hooken? zb. die TexOut oder DrawText function?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491603</guid><dc:creator><![CDATA[JimBim]]></dc:creator><pubDate>Mon, 14 Apr 2008 06:42:05 GMT</pubDate></item><item><title><![CDATA[Reply to Detours 2.1: Original aufrufen... on Mon, 14 Apr 2008 10:59:55 GMT]]></title><description><![CDATA[<p>das ist irgendwie der sinn von detours, also ja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1491731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1491731</guid><dc:creator><![CDATA[rofler]]></dc:creator><pubDate>Mon, 14 Apr 2008 10:59:55 GMT</pubDate></item></channel></rss>