<?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[Frage zum Inline-ASM]]></title><description><![CDATA[<p>Hihow!<br />
Also ich habe ein Programm, in welches ich meine DLL injizieren möchte. In diesem Programm ist an einer bestimmten Adresse ein &quot;JNE SHORT ...&quot; wenn man es sich im disassembler anschaut.<br />
Meine DLL soll eine funktion enthalten die, wenn man sie aufruft, besagten &quot;JNE SHORT ...&quot; in einen &quot;JMP SHORT ...&quot; ändern.</p>
<p>Das Problem ist nun, wie fange ich da am besten an? Geht das überhaupt? Wenn ja, kann man das dann auch wieder rückgängig machen mit einer zweiten funktion?</p>
<p>Ich ändere es nicht im disassembler und speichere es, weil dann ein sicherheitsmodul merkt dass die datei nicht die originale ist.<br />
Das ganze ist von einem Kollegen der sein sicherheitsmodul testen will, und ich versuche selbiges zu umgehen ^^</p>
<p>Danke für jede Antwort im voraus.<br />
greetz<br />
Polko</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/252350/frage-zum-inline-asm</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 11:27:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/252350.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Oct 2009 16:40:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zum Inline-ASM on Sun, 18 Oct 2009 16:42:53 GMT]]></title><description><![CDATA[<p>Hihow!<br />
Also ich habe ein Programm, in welches ich meine DLL injizieren möchte. In diesem Programm ist an einer bestimmten Adresse ein &quot;JNE SHORT ...&quot; wenn man es sich im disassembler anschaut.<br />
Meine DLL soll eine funktion enthalten die, wenn man sie aufruft, besagten &quot;JNE SHORT ...&quot; in einen &quot;JMP SHORT ...&quot; ändern.</p>
<p>Das Problem ist nun, wie fange ich da am besten an? Geht das überhaupt? Wenn ja, kann man das dann auch wieder rückgängig machen mit einer zweiten funktion?</p>
<p>Ich ändere es nicht im disassembler und speichere es, weil dann ein sicherheitsmodul merkt dass die datei nicht die originale ist.<br />
Das ganze ist von einem Kollegen der sein sicherheitsmodul testen will, und ich versuche selbiges zu umgehen ^^</p>
<p>Danke für jede Antwort im voraus.<br />
greetz<br />
Polko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1794312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1794312</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Sun, 18 Oct 2009 16:42:53 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Inline-ASM on Sun, 18 Oct 2009 16:42:47 GMT]]></title><description><![CDATA[<p>Hört sich gefährlich nach nem Crack an... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1794314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1794314</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Sun, 18 Oct 2009 16:42:47 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Inline-ASM on Sun, 18 Oct 2009 16:55:39 GMT]]></title><description><![CDATA[<p>Polko schrieb:</p>
<blockquote>
<p>Geht das überhaupt?</p>
</blockquote>
<p>jup <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>
<p>Polko schrieb:</p>
<blockquote>
<p>Wenn ja, kann man das dann auch wieder rückgängig machen mit einer zweiten funktion?</p>
</blockquote>
<p>jup <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>
<p>wenn du die position kennst, wunderbar.<br />
wenn nicht, musst du den teil, wo das drinsteht, disassemblieren<br />
(gibt es fertgie libs für) und dann danach suchen.</p>
<p>als nächstes musst du die stelle write-able machen.<br />
da du von DLLs sprichst, nehme ich an, du nutzt windows.</p>
<p>mit der <em>VirtualProtect</em>-funktion kannst du genau das machen (PAGE_READWRITE).<br />
danach wieder den alten schutz rein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1794325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1794325</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Sun, 18 Oct 2009 16:55:39 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Inline-ASM on Sun, 18 Oct 2009 17:09:09 GMT]]></title><description><![CDATA[<p>ja das mit dem virtual protect hab ich auch schon gefunden .. nun stellt sich mir nurnoch die frage was ich in den asm-block schreiben muss um aus dem JNE ein JMP zu machen .. das oder soetwas in der art find ich leider nich <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="😣"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1794332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1794332</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Sun, 18 Oct 2009 17:09:09 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Inline-ASM on Sun, 18 Oct 2009 17:55:36 GMT]]></title><description><![CDATA[<p>also die adresse wo es steht weiss ich, das VirtualProtect hab ich nun auch schon mit eingebaut, aber nun macht das ja die stelle nur beschreibbar.. und wie schreib ich da nun rein? also ich weiss dass ich __asm__() benutzen muss aber was muss da rein O.o<br />
könnte mir da jmd ein beispiel geben? jetz vllt nich unbedingt etwas was genau das macht was ich will aber damit ich die ungefähre struktur verstehe was ich da wie reinschreiben kann .. dass da nun asm befehle rein kommen is mir klar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1794354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1794354</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Sun, 18 Oct 2009 17:55:36 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Inline-ASM on Sun, 18 Oct 2009 18:40:42 GMT]]></title><description><![CDATA[<p>Du brauchst kein Inline-ASM.</p>
<p>Such dir die Addresse des Bytes heraus (Disassembler), schreibe ein anderes Byte per WriteProcessMemory an die Stelle. Fertig.</p>
<p>Wenn du die Representation deines Jumps als Byte wissen möchtest, such auf der Intel-Webseite nach einer OP-Code Tabelle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1794385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1794385</guid><dc:creator><![CDATA[Icematix]]></dc:creator><pubDate>Sun, 18 Oct 2009 18:40:42 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Inline-ASM on Sun, 18 Oct 2009 18:42:24 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int main()
{
    __asm
    {
lbl:
        test eax, eax
jumpaddr:
        jne lbl
    }
    char *ptr = reinterpret_cast&lt;char *&gt;(jumpaddr);
    char jne_opcode = *ptr;
}
</code></pre>
<p>das __asm schlüsselwort ist mscv spezifisch, wie das mit __asm__() geht,<br />
weiß ich nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1794386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1794386</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Sun, 18 Oct 2009 18:42:24 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Inline-ASM on Tue, 20 Oct 2009 17:26:11 GMT]]></title><description><![CDATA[<p>okay erstmal danke an euch die versuchen mir zu helfen .. der kommentar von icematix interessiert mich nun schon, weil das wäre ja doch ziemlich einfach</p>
<p>eine frage fürs verständnis.. also die adresse die ich ändern will sieht im disassembler so aus:</p>
<p>//Edit: CPU Disasm removed</p>
<p>Wenn ich mir nun die Funktionsdefinierung für WriteProcessMemory aus MSDN anschaue, schreibe ich damit bytes an die adresse die ich in der funktion angegeben habe. Nun habe ich ja zwei Bytes an der adresse &quot;75&quot; und &quot;10&quot; reicht es nun, wenn ich mit WriteProcessMemory &quot;EB&quot; schreiben lasse, oder muss ich &quot;EB 10&quot; schreiben lassen? (EB entspricht JMP, 75 entspricht JNE)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1794453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1794453</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Tue, 20 Oct 2009 17:26:11 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Inline-ASM on Tue, 20 Oct 2009 17:27:05 GMT]]></title><description><![CDATA[<p>hmm .. also ich hab gestern nichmehr viel gemacht war einfach zu müde,<br />
dafür hab ich jetzt grade nochmal alles genau angeschaut und einen code<br />
geschrieben bekommen der, zumindest für den compiler, keine fehler mehr enthält..<br />
aber funktionieren tut es nicht <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="=/"
      alt="😕"
    /> kann mir evtl jmd sagen wieso?<br />
ist am code was falsch? an meiner denkweise? oder ist das modul von meinem kollegen einfach schlauer ^^</p>
<p>//Edit: Code removed</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1794687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1794687</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Tue, 20 Oct 2009 17:27:05 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Inline-ASM on Tue, 20 Oct 2009 10:04:55 GMT]]></title><description><![CDATA[<p>weiss etwa keiner mehr zu helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1795223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1795223</guid><dc:creator><![CDATA[Polko]]></dc:creator><pubDate>Tue, 20 Oct 2009 10:04:55 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Inline-ASM on Tue, 20 Oct 2009 10:19:01 GMT]]></title><description><![CDATA[<p>Polko schrieb:</p>
<blockquote>
<p>weiss etwa keiner mehr zu helfen?</p>
</blockquote>
<p>Polko schrieb:</p>
<blockquote>
<pre><code>FlorensiaEN
</code></pre>
</blockquote>
<p>wer florensia spielt und versucht zu hacken, dem ist nicht mehr zu helfen<br />
<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/1795233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1795233</guid><dc:creator><![CDATA[~helfer]]></dc:creator><pubDate>Tue, 20 Oct 2009 10:19:01 GMT</pubDate></item></channel></rss>