<?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[Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen]]></title><description><![CDATA[<p>Hallo.</p>
<p>Das Ziel ist eine Art simpler Packet Sniffer wie WPE.</p>
<p>Mittels DLL Injection und einem Detour werden die Winsock Funktionen send, recv, ... gedetourt. So können die Daten ausgelesen werden. Das Funktioniert auch.</p>
<p>Das eigentliche Problem: Eine andere Applikation soll von Außen die gesnifften Pakete so oft wie möglich senden können.</p>
<p>Kann man einfach die Socket ID (die man durch Detour ja leicht auslesen kann) an die außenstehend Applikation übergeben und mit ihr die Daten senden, oder muss man selbst eine neue Vebindung aufbauen?</p>
<p>Wenn das nicht geht, wie könnte ich von Außen eine Funktion in der schon injezierten DLL aufrufen, sodass sie im Programm ausgeführt wird, in das die DLL injeziert wurde (also eine Funktion zum Senden bereits in der DLL die dann die bestehende Verbindung und Socket ID nutzt)?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/241627/dll-injection-funktion-callen-von-außen-bestehenden-socket-nutzen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 19:15:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241627.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 23 May 2009 17:17:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Sat, 23 May 2009 17:17:02 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<p>Das Ziel ist eine Art simpler Packet Sniffer wie WPE.</p>
<p>Mittels DLL Injection und einem Detour werden die Winsock Funktionen send, recv, ... gedetourt. So können die Daten ausgelesen werden. Das Funktioniert auch.</p>
<p>Das eigentliche Problem: Eine andere Applikation soll von Außen die gesnifften Pakete so oft wie möglich senden können.</p>
<p>Kann man einfach die Socket ID (die man durch Detour ja leicht auslesen kann) an die außenstehend Applikation übergeben und mit ihr die Daten senden, oder muss man selbst eine neue Vebindung aufbauen?</p>
<p>Wenn das nicht geht, wie könnte ich von Außen eine Funktion in der schon injezierten DLL aufrufen, sodass sie im Programm ausgeführt wird, in das die DLL injeziert wurde (also eine Funktion zum Senden bereits in der DLL die dann die bestehende Verbindung und Socket ID nutzt)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714639</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Sat, 23 May 2009 17:17:02 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Sat, 23 May 2009 17:50:56 GMT]]></title><description><![CDATA[<p>deine &quot;socket id&quot; ist ein handle und die sind bekannterweise prozessbezogen, also geht das nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714652</guid><dc:creator><![CDATA[noele]]></dc:creator><pubDate>Sat, 23 May 2009 17:50:56 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Sat, 23 May 2009 17:52:08 GMT]]></title><description><![CDATA[<p>The <strong>WSADuplicateSocket</strong> function is used to enable socket sharing between processes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714653</guid><dc:creator><![CDATA[socket sharer]]></dc:creator><pubDate>Sat, 23 May 2009 17:52:08 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Sat, 23 May 2009 18:03:29 GMT]]></title><description><![CDATA[<p>Danke, die Funktion kannte ich nicht.</p>
<p>Ich denke aber, der einfachere Weg wäre die Funktion in die Dll zu packen und vom anderen Programm aus zu callen.</p>
<p>Mir fällt nur nichts ein wie.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714659</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Sat, 23 May 2009 18:03:29 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Sat, 23 May 2009 18:10:31 GMT]]></title><description><![CDATA[<p>events</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714662</guid><dc:creator><![CDATA[Mr.Affe]]></dc:creator><pubDate>Sat, 23 May 2009 18:10:31 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Tue, 26 May 2009 14:20:10 GMT]]></title><description><![CDATA[<p>du könntest das auch durch inter process communication lösen, konkret zb mit named pipes.. <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1716091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1716091</guid><dc:creator><![CDATA[arnold72]]></dc:creator><pubDate>Tue, 26 May 2009 14:20:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Wed, 27 May 2009 17:05:58 GMT]]></title><description><![CDATA[<p>was sind denn named pipes o.O</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1716836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1716836</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Wed, 27 May 2009 17:05:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Thu, 28 May 2009 07:00:17 GMT]]></title><description><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/library/aa365590.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/aa365590.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717028</guid><dc:creator><![CDATA[Piper]]></dc:creator><pubDate>Thu, 28 May 2009 07:00:17 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Thu, 28 May 2009 09:16:00 GMT]]></title><description><![CDATA[<p>also ich hab schon mal so ein ähnliches projekt geschrieben.. <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>du hast halt dein programm, in dem machst du eine named pipe auf.</p>
<p>dann hast du die dll die injiziert wird. die gesnifften daten schickst du über die pipe an dein programm, und das kann die daten sooft du willst iwo hinschicken.. ^^</p>
<p>du kannst in der dll auch die senden funktion blockieren, die daten in deinem programm modifizieren, und dann die veränderten daten versenden.. <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/1717110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717110</guid><dc:creator><![CDATA[arnold72]]></dc:creator><pubDate>Thu, 28 May 2009 09:16:00 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Fri, 29 May 2009 07:56:44 GMT]]></title><description><![CDATA[<p>danke für die antworten <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717700</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Fri, 29 May 2009 07:56:44 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Fri, 29 May 2009 10:29:09 GMT]]></title><description><![CDATA[<p>aber ich hab noch nen problem ... und zwar wie bekomme ich in meinem externen programm die WSAPROTOCOL_INFO in die WSASocket() funktion wenn ich in der dll WSADuplicateSocket() aufrufe??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717812</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Fri, 29 May 2009 10:29:09 GMT</pubDate></item><item><title><![CDATA[Reply to Dll Injection; Funktion callen von Außen; Bestehenden Socket nutzen on Fri, 29 May 2009 10:34:08 GMT]]></title><description><![CDATA[<p>also in WSADuplicateSocket() speichert die WSAPROTOCOL_INFO ja in nem buffer .. wie bekomm ich den in mein externes programm? ^^<br />
danke nochmal im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1717820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1717820</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Fri, 29 May 2009 10:34:08 GMT</pubDate></item></channel></rss>