<?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[Programm in runtime beschreiben?]]></title><description><![CDATA[<p>Hallo,</p>
<p>es gibt da so eine Sache die ich mir von einem anderem<br />
Programm abgeguckt habe <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="😃"
    /><br />
Es geht darum, dass das Programm eine Ausführbare Datei<br />
hat (Binär gespeichert, mit einem Pointer zugreifbar)<br />
Iergendwie Erstellt das Programm nun einen neuen Prozess<br />
(Leere exe-datei!?) Und schreibt mit WriteProcessMemory<br />
die Binär gespeicherte Datei in den leeren Prozess, dieser<br />
wird dann fortgesetzt und das Programm läuft...</p>
<p>Funktioniert das!?<br />
Welche API's brauche ich dafür?<br />
Wie erstelle ich eine leere exe-datei im Speicher?<br />
Kann ich den Speicher schützen?<br />
Wie sage ich dem Programm wo der entrypoint ist?</p>
<p>Danke schonmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171551/programm-in-runtime-beschreiben</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 00:53:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171551.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Jan 2007 13:57:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm in runtime beschreiben? on Fri, 26 Jan 2007 13:57:19 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>es gibt da so eine Sache die ich mir von einem anderem<br />
Programm abgeguckt habe <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="😃"
    /><br />
Es geht darum, dass das Programm eine Ausführbare Datei<br />
hat (Binär gespeichert, mit einem Pointer zugreifbar)<br />
Iergendwie Erstellt das Programm nun einen neuen Prozess<br />
(Leere exe-datei!?) Und schreibt mit WriteProcessMemory<br />
die Binär gespeicherte Datei in den leeren Prozess, dieser<br />
wird dann fortgesetzt und das Programm läuft...</p>
<p>Funktioniert das!?<br />
Welche API's brauche ich dafür?<br />
Wie erstelle ich eine leere exe-datei im Speicher?<br />
Kann ich den Speicher schützen?<br />
Wie sage ich dem Programm wo der entrypoint ist?</p>
<p>Danke schonmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1217604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1217604</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Fri, 26 Jan 2007 13:57:19 GMT</pubDate></item><item><title><![CDATA[Reply to Programm in runtime beschreiben? on Tue, 30 Jan 2007 18:18:31 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Für dass was du da vor hast solltest du dich SEHR GUT mit dem<br />
System aus kennen, für Anfänger ist das nichst.</p>
<p>Hier ein par API's :</p>
<p>CreateRemoteThread<br />
VirtualAllocEx<br />
WriteProcessMemory<br />
ReadProcessMemory</p>
<p>Ich hab mal Code von mir in einem anderen Programm zur Laufzeit eingeschleust,<br />
und dass ging so:</p>
<p>1.) Speicher im Prozess mit VirtualAllocEx<br />
2.) Den neueun Code mit WriteProcessMemory in den Prozess kopieren<br />
3.) Einen Remote Thread starten der den Code ausführt.</p>
<p>Das ist aber alles nicht so einfach. Du must schauen das alle<br />
Addresse richtig reallokiert werden (z.B. Zeiger auf API-Funktionen)<br />
DLL muss du laden die der Prozess noch nicht geladen hat.<br />
Das alles ist nicht so einfach, einige Probleme konne ich nur<br />
mit Assembler lösen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1220071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1220071</guid><dc:creator><![CDATA[AZ]]></dc:creator><pubDate>Tue, 30 Jan 2007 18:18:31 GMT</pubDate></item></channel></rss>