<?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[bsp. für polimorphe algorythmen...]]></title><description><![CDATA[<p>ich habe davon gehört (ich glaube das kam aus der linux kernelentwicklungsecke) das es möglich ist programme zu schreiben die sich praktisch nach einen muster selbst verändern bzw, eine veränderte kopie von sich erstellen. das wird angewendet um performance zu steigern oder größe etc. von ein einer funktion.</p>
<p>meine frage:<br />
wie kommt man auf den veränderten code von dem programm zurück das sich passend mutiert hat?<br />
und wie macht man sowas, ich finde das sehr interessant.. erinnert mich an &quot;darwin&quot; <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/146554/bsp-für-polimorphe-algorythmen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 17:37:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146554.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 May 2006 18:16:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bsp. für polimorphe algorythmen... on Mon, 08 May 2006 18:16:25 GMT]]></title><description><![CDATA[<p>ich habe davon gehört (ich glaube das kam aus der linux kernelentwicklungsecke) das es möglich ist programme zu schreiben die sich praktisch nach einen muster selbst verändern bzw, eine veränderte kopie von sich erstellen. das wird angewendet um performance zu steigern oder größe etc. von ein einer funktion.</p>
<p>meine frage:<br />
wie kommt man auf den veränderten code von dem programm zurück das sich passend mutiert hat?<br />
und wie macht man sowas, ich finde das sehr interessant.. erinnert mich an &quot;darwin&quot; <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1053671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053671</guid><dc:creator><![CDATA[harkon]]></dc:creator><pubDate>Mon, 08 May 2006 18:16:25 GMT</pubDate></item><item><title><![CDATA[Reply to bsp. für polimorphe algorythmen... on Mon, 08 May 2006 19:20:20 GMT]]></title><description><![CDATA[<p><a href="http://www.nyx.net/~gthompso/quine.htm" rel="nofollow">http://www.nyx.net/~gthompso/quine.htm</a></p>
<p>Hier wird beschrieben, wie man Programme erzeugt, die ihren eigenen Quellcode ausgeben (ggf. in leicht veränderter Version).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1053715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053715</guid><dc:creator><![CDATA[wolfgke]]></dc:creator><pubDate>Mon, 08 May 2006 19:20:20 GMT</pubDate></item><item><title><![CDATA[Reply to bsp. für polimorphe algorythmen... on Mon, 08 May 2006 21:07:09 GMT]]></title><description><![CDATA[<p>also ich finde das als hobby-coder etwas merkwürdig.</p>
<pre><code class="language-cpp">main(p){printf(p,34,p=&quot;main(a){printf(p,34,p=%c%s%c,34); }&quot;,34); }
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">#define X(Y) main(){printf(&quot;#define X(Y) %s\nX(%s)\n&quot;,#Y,#Y);}
X(main(){printf(&quot;#define X(Y) %s\nX(%s)\n&quot;,#Y,#Y);})
</code></pre>
<p>das ist mein favorit:</p>
<pre><code class="language-cpp">char s[] = {
0x6D, 0x61, 0x69, 0x6E, 0x28, 0x29, 0x20, 0x7B, 
0x0D, 0x0A, 0x69, 0x6E, 0x74, 0x20, 0x69, 0x3B, 
0x0D, 0x0A, 0x09, 0x70, 0x72, 0x69, 0x6E, 0x74, 
0x66, 0x28, 0x22, 0x63, 0x68, 0x61, 0x72, 0x20, 
0x73, 0x5B, 0x5D, 0x20, 0x3D, 0x20, 0x7B, 0x22, 
0x29, 0x3B, 0x0D, 0x0A, 0x09, 0x66, 0x6F, 0x72, 
0x28, 0x69, 0x3D, 0x30, 0x3B, 0x73, 0x5B, 0x69, 
0x5D, 0x21, 0x3D, 0x27, 0x5C, 0x30, 0x27, 0x3B, 
0x69, 0x2B, 0x2B, 0x29, 0x20, 0x7B, 0x0D, 0x0A, 
0x09, 0x09, 0x69, 0x66, 0x28, 0x20, 0x28, 0x69, 
0x26, 0x37, 0x29, 0x3D, 0x3D, 0x30, 0x20, 0x29, 
0x20, 0x70, 0x72, 0x69, 0x6E, 0x74, 0x66, 0x28, 
0x22, 0x5C, 0x6E, 0x22, 0x29, 0x3B, 0x0D, 0x0A, 
0x09, 0x09, 0x70, 0x72, 0x69, 0x6E, 0x74, 0x66, 
0x28, 0x22, 0x30, 0x78, 0x25, 0x30, 0x32, 0x58, 
0x2C, 0x20, 0x22, 0x2C, 0x73, 0x5B, 0x69, 0x5D, 
0x29, 0x3B, 0x0D, 0x0A, 0x09, 0x7D, 0x0D, 0x0A, 
0x09, 0x70, 0x72, 0x69, 0x6E, 0x74, 0x66, 0x28, 
0x22, 0x30, 0x5C, 0x6E, 0x7D, 0x3B, 0x5C, 0x6E, 
0x25, 0x73, 0x5C, 0x6E, 0x22, 0x2C, 0x73, 0x29, 
0x3B, 0x0D, 0x0A, 0x7D, 0
};
main() {
int i;
	printf(&quot;char s[] = {&quot;);
	for(i=0;s[i]!='\0';i++) {
		if( (i&amp;7)==0 ) printf(&quot;\n&quot;);
		printf(&quot;0x%02X, &quot;,s[i]);
	}
	printf(&quot;0\n};\n%s\n&quot;,s);
}
</code></pre>
<p>das ist auch interessant:</p>
<pre><code class="language-cpp">#include&lt;iostream.h&gt;
main(){char*s=&quot;#include&lt;iostream.h&gt;%cmain(){char*s=%c%s%c;cout.form(s,10,34,s,34,10);}%c&quot;;cout.form(s,10,34,s,34,10);}
</code></pre>
<p>ich verstehe nur leider nicht das geringste.ich habe mir das andewrs vorgestellt. was macht das überhaupt? was sind das für merkwürdige wie speicheradressen aussehnde werte und kryptische zeichen? ist das wirklich cpp standard? funktioniert das unter jedem os?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1053796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1053796</guid><dc:creator><![CDATA[harkon]]></dc:creator><pubDate>Mon, 08 May 2006 21:07:09 GMT</pubDate></item></channel></rss>