<?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[EXE-Binder ???]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>weiss hier jemand wie man ein EXE-Binder schreibt???<br />
Also das Prog. muß zwei *.exe Dateien zu einem result.exe binden</p>
<p>ich hab hier einiges gecodet aber das funzt nicht. Also der erste Datei wird problemlos ausgeführt, der zweite aber nicht. Was mache ich falsch?</p>
<pre><code class="language-cpp">DWORD FileSize = 0, BytesRead = 0, BytesWritten = 0;
HANDLE h1, h2;

// Handle auf erste *.exe besorgen
if((h1 = CreateFile(File1, GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, NULL, NULL)) == INVALID_HANDLE_VALUE)
    return 0; // Fehler

// Handle auf zweite *.exe besorgen    
if((h2 = CreateFile(File2, GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL)) == INVALID_HANDLE_VALUE)
    return 0; // Fehler

// Buffer anlegen und Daten auslesen
FileSize = GetFileSize(h2, NULL);
Buff = new char [FileSize];
ReadFile(h2, Buff, FileSize, &amp;BytesRead, NULL);

// Filepointer auf das Ende des erste *.exe setzen und Daten rein schreiben
SetFilePointer(h1, 0, 0, FILE_END);
WriteFile(h1, Buff, FileSize, &amp;BytesWritten, NULL);

// Clear
delete Buff;
CloseHandle(h1);
CloseHandle(h2);
</code></pre>
<p>Ich hab keine Ahnung ob man sowas überhaupt so wie ich macht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Hat hier jemand schon mal änliches gemacht???</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/71569/exe-binder</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 18:47:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/71569.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Apr 2004 21:42:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to EXE-Binder ??? on Mon, 19 Apr 2004 21:42:21 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>weiss hier jemand wie man ein EXE-Binder schreibt???<br />
Also das Prog. muß zwei *.exe Dateien zu einem result.exe binden</p>
<p>ich hab hier einiges gecodet aber das funzt nicht. Also der erste Datei wird problemlos ausgeführt, der zweite aber nicht. Was mache ich falsch?</p>
<pre><code class="language-cpp">DWORD FileSize = 0, BytesRead = 0, BytesWritten = 0;
HANDLE h1, h2;

// Handle auf erste *.exe besorgen
if((h1 = CreateFile(File1, GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, NULL, NULL)) == INVALID_HANDLE_VALUE)
    return 0; // Fehler

// Handle auf zweite *.exe besorgen    
if((h2 = CreateFile(File2, GENERIC_READ, NULL, NULL, OPEN_EXISTING, NULL, NULL)) == INVALID_HANDLE_VALUE)
    return 0; // Fehler

// Buffer anlegen und Daten auslesen
FileSize = GetFileSize(h2, NULL);
Buff = new char [FileSize];
ReadFile(h2, Buff, FileSize, &amp;BytesRead, NULL);

// Filepointer auf das Ende des erste *.exe setzen und Daten rein schreiben
SetFilePointer(h1, 0, 0, FILE_END);
WriteFile(h1, Buff, FileSize, &amp;BytesWritten, NULL);

// Clear
delete Buff;
CloseHandle(h1);
CloseHandle(h2);
</code></pre>
<p>Ich hab keine Ahnung ob man sowas überhaupt so wie ich macht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Hat hier jemand schon mal änliches gemacht???</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/504825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/504825</guid><dc:creator><![CDATA[***]]></dc:creator><pubDate>Mon, 19 Apr 2004 21:42:21 GMT</pubDate></item><item><title><![CDATA[Reply to EXE-Binder ??? on Tue, 20 Apr 2004 12:03:49 GMT]]></title><description><![CDATA[<p>Wie soll das auch gehen? Du schreibst einfach die 2te Exe Datei hinter die Erste. Das geht natürlich nicht.<br />
Entweder saugst du dir irgendeinen Exe-Joiner oder du machst dich über den PE-Header schlau: <a href="http://www.wotsit.org/" rel="nofollow">http://www.wotsit.org/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/505143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/505143</guid><dc:creator><![CDATA[HAR]]></dc:creator><pubDate>Tue, 20 Apr 2004 12:03:49 GMT</pubDate></item><item><title><![CDATA[Reply to EXE-Binder ??? on Tue, 20 Apr 2004 12:10:24 GMT]]></title><description><![CDATA[<p>Was willst du denn im Endeffekt überhaupt damit machen - also wann soll er welche Anwendung ausführen? Oder willst du nur das nachher (nach Ausführen der &quot;Doppel-Anwendung&quot;) wieder die beiden exe-Files vorliegen?</p>
<p>Evtl. hilft dir auch das hier: <a href="http://www.c-plusplus.net/forum/viewtopic.php?t=69036" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=69036</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/505155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/505155</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Tue, 20 Apr 2004 12:10:24 GMT</pubDate></item><item><title><![CDATA[Reply to EXE-Binder ??? on Tue, 20 Apr 2004 20:19:07 GMT]]></title><description><![CDATA[<p>Also ich versuche nun mein Problem mit Resourcen zu lösen, und zwar es wird in<br />
einem bestehendem test.exe ein zweite start.exe als Resource geben.</p>
<p>Es scheint zu funktionieren mit dem Resource auffinden ihn in Speicher zu laden<br />
und ein Pointer auf Anfang des Datei zu bekommen. Also mit diesem Pointer kann ich so zusagen auf mein in Arbeitspecher geladener start.exe zugreifen.</p>
<p>Die Frage ist WIE????? Wie starte ich start.exe????? Oder mache ich wieder was falsch???? so sieht es aus:</p>
<pre><code class="language-cpp">HGLOBAL hResource;
static int *pData;

hResource = LoadResource(hInstance, FindResource(hInstance, TEXT(&quot;BINTYPE&quot;), MAKEINTRESOURCE(IDR_BINTYPE1)));

pData = (int*) LockResource(hResource);

// Hier muß Code stehen das mein start.exe startet. 

FreeResource(hResource);

return 0;
</code></pre>
<p>Ich glaube ich drehe durch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>need help.............................................</p>
]]></description><link>https://www.c-plusplus.net/forum/post/505597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/505597</guid><dc:creator><![CDATA[***]]></dc:creator><pubDate>Tue, 20 Apr 2004 20:19:07 GMT</pubDate></item><item><title><![CDATA[Reply to EXE-Binder ??? on Tue, 20 Apr 2004 22:47:08 GMT]]></title><description><![CDATA[<p>Speicher pData als exe-Datei auf der Festplatte und benutz (z.B.) CreateProcess. Das ist das sicherste.</p>
<p>Ansonsten befolge HARs Rat und schau dir den PE-Header an. Nur so bekommst du die Startadresse des Programms. Dass dir die allerdings viel nutzt, bezweifle ich. Der exe-Loader des Betriebssystems macht nämlich mehr als nur die exe in den RAM zu laden und auszuführen.<br />
Er erstellt unter anderem mehrere Segmente (Codesegment, Datensegment...); das wird wahrscheinlich schwierig nachzubilden sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/505715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/505715</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Tue, 20 Apr 2004 22:47:08 GMT</pubDate></item></channel></rss>