<?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[Stack verschoben]]></title><description><![CDATA[<p>Hallo,<br />
ich weiß nicht ob das hier richtig ist, wenn nicht bitte verschieben.</p>
<p>Ich möchte ein Spiel modifizieren und habe dazu eine Filter-DLL erstellt.<br />
Mein Problem hierbei ist, dass ich MinGW verwende und das Spiel vermutlich mit MSVC kompiliert wurde und die &quot;Auffassung&quot; von __thiscall hier anscheinend unterschiedlich ist.</p>
<p>Also, ich hab hier folgende Klasse die als &quot;Hook&quot; für die des Spiels dient:</p>
<pre><code class="language-cpp">class oCNpc
{
public:
    void SetAttribute(int,int)
    {
        asm(&quot;MOV ECX, EAX&quot;);
        asm(&quot;MOV EAX, 0x68D840&quot;);
        asm(&quot;JMP EAX&quot;);
    }
};
</code></pre>
<p>Ich hab hier mal Screenshots von Zielfunktion und Stack gemacht (aus IDA), damit ihr euch ein Bild davon machen könnt:<br />
<a href="http://img172.imageshack.us/my.php?image=functionur2.png" rel="nofollow">http://img172.imageshack.us/my.php?image=functionur2.png</a><br />
<a href="http://img246.imageshack.us/my.php?image=stackfo0.png" rel="nofollow">http://img246.imageshack.us/my.php?image=stackfo0.png</a></p>
<p>Vielen Dank im Voraus! <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/topic/202923/stack-verschoben</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 04:17:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202923.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 16 Jan 2008 18:39:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Stack verschoben on Wed, 16 Jan 2008 20:53:48 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich weiß nicht ob das hier richtig ist, wenn nicht bitte verschieben.</p>
<p>Ich möchte ein Spiel modifizieren und habe dazu eine Filter-DLL erstellt.<br />
Mein Problem hierbei ist, dass ich MinGW verwende und das Spiel vermutlich mit MSVC kompiliert wurde und die &quot;Auffassung&quot; von __thiscall hier anscheinend unterschiedlich ist.</p>
<p>Also, ich hab hier folgende Klasse die als &quot;Hook&quot; für die des Spiels dient:</p>
<pre><code class="language-cpp">class oCNpc
{
public:
    void SetAttribute(int,int)
    {
        asm(&quot;MOV ECX, EAX&quot;);
        asm(&quot;MOV EAX, 0x68D840&quot;);
        asm(&quot;JMP EAX&quot;);
    }
};
</code></pre>
<p>Ich hab hier mal Screenshots von Zielfunktion und Stack gemacht (aus IDA), damit ihr euch ein Bild davon machen könnt:<br />
<a href="http://img172.imageshack.us/my.php?image=functionur2.png" rel="nofollow">http://img172.imageshack.us/my.php?image=functionur2.png</a><br />
<a href="http://img246.imageshack.us/my.php?image=stackfo0.png" rel="nofollow">http://img246.imageshack.us/my.php?image=stackfo0.png</a></p>
<p>Vielen Dank im Voraus! <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/1437950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1437950</guid><dc:creator><![CDATA[override]]></dc:creator><pubDate>Wed, 16 Jan 2008 20:53:48 GMT</pubDate></item><item><title><![CDATA[Reply to Stack verschoben on Wed, 16 Jan 2008 19:52:49 GMT]]></title><description><![CDATA[<p>override schrieb:</p>
<blockquote>
<p>...Ich möchte ein Spiel modifizieren und habe dazu eine Filter-DLL erstellt...</p>
</blockquote>
<p>Grundsätzlich solltest du den rechtlichen Rahmen berücksichtigen (Modifizieren ist zumeist verboten).</p>
<p>override schrieb:</p>
<blockquote>
<p>Mein Problem hierbei ist, dass ich MinGW verwende und das Spiel vermutlich mit MSVC kompiliert wurde und die &quot;Auffassung&quot; von __thiscall hier anscheinend unterschiedlich ist.</p>
</blockquote>
<p>Klassen kannst du grundsätzlich nicht über DLL- und Compilergrenzen hinweg importieren/exportieren.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1437995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1437995</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 16 Jan 2008 19:52:49 GMT</pubDate></item><item><title><![CDATA[Reply to Stack verschoben on Wed, 16 Jan 2008 19:54:00 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Laut den Screenshots glaube ich nicht das es ein __thiscall ist.<br />
Es sieht aus wie __classcall.</p>
<p>Der Zeiger auf die Klasse kommt mit ECX, die Parameter sind am Stack,<br />
und der Stack wird von der Funktion selber aufgeräumt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1437996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1437996</guid><dc:creator><![CDATA[AZ]]></dc:creator><pubDate>Wed, 16 Jan 2008 19:54:00 GMT</pubDate></item><item><title><![CDATA[Reply to Stack verschoben on Wed, 16 Jan 2008 20:13:23 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>Grundsätzlich solltest du den rechtlichen Rahmen berücksichtigen (Modifizieren ist zumeist verboten).</p>
</blockquote>
<p>Der Rechteinhaber weiß bescheid und hat nichts dagegen. <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="😉"
    /><br />
Ansonsten bewegt sich das ganze hierzulande in einer rechtlichen Grauzone.</p>
<p>asc schrieb:</p>
<blockquote>
<p>Klassen kannst du grundsätzlich nicht über DLL- und Compilergrenzen hinweg importieren/exportieren.</p>
</blockquote>
<p>Natürlich nicht, deswegen mache ich mir ja die Mühe und rekonsturiere sie, was an sich ja bisher gut funktioniert hat - vor diesem Compiler.</p>
<p>AZ schrieb:</p>
<blockquote>
<p>Laut den Screenshots glaube ich nicht das es ein __thiscall ist.<br />
Es sieht aus wie __classcall.</p>
</blockquote>
<p>Also __classcall kenn ich gar nicht, ich ging nur davon aus das es __thiscall ist, weil IDA es sagt (s. Screenshot).</p>
<p>Haltet ihr das Verhalten also normal, das die Parameter um 8 Bytes auf dem Stack verschoben sind und lässt sich bei Klassen die Aufrufkonvention überhaupt effektiv ändern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1438007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1438007</guid><dc:creator><![CDATA[override]]></dc:creator><pubDate>Wed, 16 Jan 2008 20:13:23 GMT</pubDate></item><item><title><![CDATA[Reply to Stack verschoben on Wed, 16 Jan 2008 20:30:59 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>override schrieb:</p>
<blockquote>
<p>...Ich möchte ein Spiel modifizieren und habe dazu eine Filter-DLL erstellt...</p>
</blockquote>
<p>Grundsätzlich solltest du den rechtlichen Rahmen berücksichtigen (Modifizieren ist zumeist verboten).</p>
</blockquote>
<p>Ach was. Wer will Dir das verbieten können? Nur, weil MS das in all ihre EULAs reinschreibt heißt das noch lange nicht, dass das hierzulande Gültigkeit besitzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1438013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1438013</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Wed, 16 Jan 2008 20:30:59 GMT</pubDate></item><item><title><![CDATA[Reply to Stack verschoben on Wed, 16 Jan 2008 21:43:35 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>Ach was. Wer will Dir das verbieten können? Nur, weil MS das in all ihre EULAs reinschreibt heißt das noch lange nicht, dass das hierzulande Gültigkeit besitzt.</p>
</blockquote>
<p>Es gibt auch Gesetze in Deutschland die ein Programm schützen (und ich habe mich nicht auf MS bezogen, sondern allgemein um Programme an sich). Aber sofern man nur privat in seinen 4 Wänden bleibt, kümmert es in der Tat den Gesetzgeber wenig was man mit seinen gültigen Softwarelizenzen anstellt. Sobald die Modifikation aber Außenstehende betrifft, man die Modifikation weitergibt oder Schutzmechanismen umgeht, sieht das nicht mehr so aus.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1438036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1438036</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 16 Jan 2008 21:43:35 GMT</pubDate></item><item><title><![CDATA[Reply to Stack verschoben on Thu, 17 Jan 2008 08:08:09 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14941">@asc</a>: Volle Zustimmung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1438158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1438158</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Thu, 17 Jan 2008 08:08:09 GMT</pubDate></item><item><title><![CDATA[Reply to Stack verschoben on Thu, 17 Jan 2008 11:16:35 GMT]]></title><description><![CDATA[<blockquote>
<blockquote>
<p>asc schrieb:<br />
Grundsätzlich solltest du den rechtlichen Rahmen berücksichtigen (Modifizieren ist zumeist verboten).</p>
</blockquote>
<p>Der Rechteinhaber weiß bescheid und hat nichts dagegen. <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="😉"
    /><br />
Ansonsten bewegt sich das ganze hierzulande in einer rechtlichen Grauzone.</p>
</blockquote>
<p>hmm dann frag den rechteinhaber nach dem quell code;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1438268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1438268</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 17 Jan 2008 11:16:35 GMT</pubDate></item></channel></rss>