<?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[Eigene DLL zwischen Anwendung und richtiger DLL zwischenschalten]]></title><description><![CDATA[<p>Hallo!</p>
<p>Gibt es eine Möglichkeit folgendes zu realisieren?</p>
<p>Es gibt eine Anwendung, welche auf eine DLL zugreift.</p>
<p>Ich möchte nun, dass die Anwendung meine eigene DLL benutzt, statt der, welche es eigentlich will.</p>
<p>Gut, kein Problem. Nennen wir einfach meine eigene DLL so wie die eigentliche.</p>
<p>Dann werden die zu benutzenden Funktionen in meiner DLL gesucht und aufgerufen.</p>
<p>Nun möchte ich aber nicht alle einzelnen Funktionen der ersetzten DLL in meiner ebenfalls exportieren sondern ich möchte einfach, dass jeder Aufruf einer Funktion bei der richtigen DLL landet.</p>
<p>Ich will nur, dass meine DLL zwischengeschaltet wird.<br />
Praktisch:<br />
Anwendung ruft Funktion in meiner DLL auf und meine DLL ruft diese Funktion dann in der richtigen DLL auf.</p>
<p>Das alles möchte ich aber realisieren, ohne für alle möglichen Funktionen die Funktion zu deklarieren. Ich stelle mir sowas vor:</p>
<p>[cpp]<br />
EXTERN_C Universal()<br />
{<br />
FARPROC p = GetProcAddress(RealDLL,Functionname);<br />
__asm( mov eax, p<br />
push eax<br />
retn)<br />
}</p>
<p>Gibt es da irgendeine Möglichkeit?</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152306/eigene-dll-zwischen-anwendung-und-richtiger-dll-zwischenschalten</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 15:06:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152306.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Jul 2006 10:08:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eigene DLL zwischen Anwendung und richtiger DLL zwischenschalten on Wed, 05 Jul 2006 10:08:41 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Gibt es eine Möglichkeit folgendes zu realisieren?</p>
<p>Es gibt eine Anwendung, welche auf eine DLL zugreift.</p>
<p>Ich möchte nun, dass die Anwendung meine eigene DLL benutzt, statt der, welche es eigentlich will.</p>
<p>Gut, kein Problem. Nennen wir einfach meine eigene DLL so wie die eigentliche.</p>
<p>Dann werden die zu benutzenden Funktionen in meiner DLL gesucht und aufgerufen.</p>
<p>Nun möchte ich aber nicht alle einzelnen Funktionen der ersetzten DLL in meiner ebenfalls exportieren sondern ich möchte einfach, dass jeder Aufruf einer Funktion bei der richtigen DLL landet.</p>
<p>Ich will nur, dass meine DLL zwischengeschaltet wird.<br />
Praktisch:<br />
Anwendung ruft Funktion in meiner DLL auf und meine DLL ruft diese Funktion dann in der richtigen DLL auf.</p>
<p>Das alles möchte ich aber realisieren, ohne für alle möglichen Funktionen die Funktion zu deklarieren. Ich stelle mir sowas vor:</p>
<p>[cpp]<br />
EXTERN_C Universal()<br />
{<br />
FARPROC p = GetProcAddress(RealDLL,Functionname);<br />
__asm( mov eax, p<br />
push eax<br />
retn)<br />
}</p>
<p>Gibt es da irgendeine Möglichkeit?</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091658</guid><dc:creator><![CDATA[DLLs]]></dc:creator><pubDate>Wed, 05 Jul 2006 10:08:41 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene DLL zwischen Anwendung und richtiger DLL zwischenschalten on Wed, 05 Jul 2006 11:45:23 GMT]]></title><description><![CDATA[<p>Ja das geht mit einer pragma Anweisung.</p>
<pre><code class="language-cpp">#pragma comment(linker, &quot;/export:SomeFunc=DllWork.SomeOtherFunc&quot;)
</code></pre>
<p>Sagt dem Linker daß deine DLL eine Funktion SomeFunc exportiert, beim Aufruf der Funktion wird dann aber SomeOtherFunc in DllWork.dll aufgerufen.</p>
<p>MfG,<br />
*Ranner*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091718</guid><dc:creator><![CDATA[*Ranner*]]></dc:creator><pubDate>Wed, 05 Jul 2006 11:45:23 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene DLL zwischen Anwendung und richtiger DLL zwischenschalten on Wed, 05 Jul 2006 16:18:54 GMT]]></title><description><![CDATA[<p>Schau Dir mal &quot;detours&quot; von MS an...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091993</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 05 Jul 2006 16:18:54 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene DLL zwischen Anwendung und richtiger DLL zwischenschalten on Wed, 05 Jul 2006 16:47:03 GMT]]></title><description><![CDATA[<p><em>Ranner</em> schrieb:</p>
<blockquote>
<p>Ja das geht mit einer pragma Anweisung.</p>
<pre><code class="language-cpp">#pragma comment(linker, &quot;/export:SomeFunc=DllWork.SomeOtherFunc&quot;)
</code></pre>
<p>Sagt dem Linker daß deine DLL eine Funktion SomeFunc exportiert, beim Aufruf der Funktion wird dann aber SomeOtherFunc in DllWork.dll aufgerufen.</p>
<p>MfG,<br />
*Ranner*</p>
</blockquote>
<p>Aah und ich hab bei meinem DLL Hook massenhaft Funktionen umgeleitet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f623.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--persevering_face"
      title="&gt;.&lt;"
      alt="😣"
    /><br />
Danke, für diesen coolen Tipp <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="😃"
    /> Funktioniert aber leider nicht mit DLL-Dateien, welche einen Punkt im Namen enthalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092011</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Wed, 05 Jul 2006 16:47:03 GMT</pubDate></item></channel></rss>