<?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[Wargame: Fehler im Program?]]></title><description><![CDATA[<p>Hi nochmal,<br />
ich sitze gerade an dem Wargame <a href="http://www.pulltheplug.org/wargames/vortex/level00.html" rel="nofollow">http://www.pulltheplug.org/wargames/vortex/level00.html</a>. Ziel ist es die Empfangenen Nummern zu addieren und zurückzuschicken. Dazu habe ich folgendes Programm zusammengeschustert:</p>
<pre><code class="language-cpp">int main()
{
	//ServerDo(server,port,select Timeout)
	ServerDo server(&quot;vortex.labs.pulltheplug.org&quot;,5842,10);
	server.connect();

	//get the values and add them
	unsigned int buf[100];
	recv(server.getSock(),buf,sizeof(buf),0);
	cout&lt;&lt;&quot;got: &quot;&lt;&lt;endl&lt;&lt;buf[0]&lt;&lt;endl&lt;&lt;buf[1]&lt;&lt;endl&lt;&lt;buf[2]&lt;&lt;endl
		&lt;&lt;buf[3]&lt;&lt;endl;
	double sum = (double)buf[0]+buf[1]+buf[2]+buf[3];
	cout.precision(15);
	cout&lt;&lt;&quot;= &quot;&lt;&lt;sum&lt;&lt;endl;
	cout&lt;&lt;&quot;sending &quot;&lt;&lt;sum&lt;&lt;&quot; as solution&quot;&lt;&lt;endl;

	//return the sum
	ostringstream msg;
	msg.precision(15);
	msg&lt;&lt;sum;
	cout&lt;&lt;msg.str()&lt;&lt;endl;
	send(server.getSock(),msg.str().c_str(),
		sizeof(msg.str().c_str()),0);

	//and take the answer
	char buf2[100];
	cout&lt;&lt;&quot;received: &quot;;
	recv(server.getSock(),buf2,sizeof(buf2),0);
	cout&lt;&lt;string(buf2)&lt;&lt;endl;
	return 1;
}
</code></pre>
<p>Leider bekomme ich nur folgenden Müll anstatt der Zugangsdaten:</p>
<blockquote>
<p>connection created<br />
got:<br />
1936349413<br />
3086801708<br />
3086801800<br />
64971124<br />
= 8174924045<br />
sending 8174924045 as solution<br />
8174924045<br />
received: +äE&quot;hi°C¹~#ð·</p>
</blockquote>
<p>Hat jemand eine Idee, warum ich so ein Müll bekomm? Danke! <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148393/wargame-fehler-im-program</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 23:54:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148393.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 May 2006 09:32:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Fri, 26 May 2006 09:40:19 GMT]]></title><description><![CDATA[<p>Hi nochmal,<br />
ich sitze gerade an dem Wargame <a href="http://www.pulltheplug.org/wargames/vortex/level00.html" rel="nofollow">http://www.pulltheplug.org/wargames/vortex/level00.html</a>. Ziel ist es die Empfangenen Nummern zu addieren und zurückzuschicken. Dazu habe ich folgendes Programm zusammengeschustert:</p>
<pre><code class="language-cpp">int main()
{
	//ServerDo(server,port,select Timeout)
	ServerDo server(&quot;vortex.labs.pulltheplug.org&quot;,5842,10);
	server.connect();

	//get the values and add them
	unsigned int buf[100];
	recv(server.getSock(),buf,sizeof(buf),0);
	cout&lt;&lt;&quot;got: &quot;&lt;&lt;endl&lt;&lt;buf[0]&lt;&lt;endl&lt;&lt;buf[1]&lt;&lt;endl&lt;&lt;buf[2]&lt;&lt;endl
		&lt;&lt;buf[3]&lt;&lt;endl;
	double sum = (double)buf[0]+buf[1]+buf[2]+buf[3];
	cout.precision(15);
	cout&lt;&lt;&quot;= &quot;&lt;&lt;sum&lt;&lt;endl;
	cout&lt;&lt;&quot;sending &quot;&lt;&lt;sum&lt;&lt;&quot; as solution&quot;&lt;&lt;endl;

	//return the sum
	ostringstream msg;
	msg.precision(15);
	msg&lt;&lt;sum;
	cout&lt;&lt;msg.str()&lt;&lt;endl;
	send(server.getSock(),msg.str().c_str(),
		sizeof(msg.str().c_str()),0);

	//and take the answer
	char buf2[100];
	cout&lt;&lt;&quot;received: &quot;;
	recv(server.getSock(),buf2,sizeof(buf2),0);
	cout&lt;&lt;string(buf2)&lt;&lt;endl;
	return 1;
}
</code></pre>
<p>Leider bekomme ich nur folgenden Müll anstatt der Zugangsdaten:</p>
<blockquote>
<p>connection created<br />
got:<br />
1936349413<br />
3086801708<br />
3086801800<br />
64971124<br />
= 8174924045<br />
sending 8174924045 as solution<br />
8174924045<br />
received: +äE&quot;hi°C¹~#ð·</p>
</blockquote>
<p>Hat jemand eine Idee, warum ich so ein Müll bekomm? Danke! <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065322</guid><dc:creator><![CDATA[MaxDemian]]></dc:creator><pubDate>Fri, 26 May 2006 09:40:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Fri, 26 May 2006 09:34:34 GMT]]></title><description><![CDATA[<p>Du benutzt sizeof, weil du glaubst, dass es dir die Länge eines Strings liefert. Das ist aber nicht so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065323</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 26 May 2006 09:34:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Fri, 26 May 2006 09:38:46 GMT]]></title><description><![CDATA[<p>hmm, nicht? habs jetzt mal mit strlen probiert und selbe confuse ergebnis:</p>
<blockquote>
<p>received: Ù%</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1065325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065325</guid><dc:creator><![CDATA[MaxDemian]]></dc:creator><pubDate>Fri, 26 May 2006 09:38:46 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Fri, 26 May 2006 10:52:33 GMT]]></title><description><![CDATA[<p>guys? irgendwelche ideen woran es liegen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065364</guid><dc:creator><![CDATA[MaxDemian]]></dc:creator><pubDate>Fri, 26 May 2006 10:52:33 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Fri, 26 May 2006 11:05:39 GMT]]></title><description><![CDATA[<p>nimm doch length():</p>
<pre><code class="language-cpp">send(server.getSock(),msg.str().c_str(),msg.str().length(),0);
</code></pre>
<p>(btw, was hängt eigentlich am anderen Ende deines Sockets?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065377</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 26 May 2006 11:05:39 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Fri, 26 May 2006 11:56:41 GMT]]></title><description><![CDATA[<p>lenth hilft auch nicht (is ja eigentlich auch das selbe wie strlen(), oder)</p>
<p>Am anderen ende hängt:</p>
<pre><code class="language-cpp">ServerDo server(&quot;vortex.labs.pulltheplug.org&quot;,5842,10);
</code></pre>
<p>mehr weis ich auch nicht. Installier gerade mal Ethereal, vlt haperts ja nur bei der ausgabe. Sonst noch Ideen was das Problem sein könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065419</guid><dc:creator><![CDATA[MaxDemian]]></dc:creator><pubDate>Fri, 26 May 2006 11:56:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Fri, 26 May 2006 13:03:55 GMT]]></title><description><![CDATA[<p>Ist dir bewußt das recv auch z.B. nur mit einem Byte zurückkehren kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065491</guid><dc:creator><![CDATA[nur mal nebenbei]]></dc:creator><pubDate>Fri, 26 May 2006 13:03:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Fri, 26 May 2006 13:22:06 GMT]]></title><description><![CDATA[<p>Und was soll mir das sagen? dass ich mehrere recvs abfangen soll? Aber müsste das erste dann nicht trotzdem ein 'l'(ogin) oder was anderes lesbares sein? Ich aber krieg ja nur müll zurück:</p>
<blockquote>
<p>YÒeyaf¥JN</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1065512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065512</guid><dc:creator><![CDATA[MaxDemian]]></dc:creator><pubDate>Fri, 26 May 2006 13:22:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Fri, 26 May 2006 14:58:25 GMT]]></title><description><![CDATA[<p>ich getraue mich mal, ohne wirklich erfahrung mit den sockets zu haben, ins blaue raus zu raten und würde behaupten, dass bei:</p>
<pre><code class="language-cpp">recv(server.getSock(),buf2,sizeof(buf2),0);
</code></pre>
<p>eher etwas in diese richtung sein müsste</p>
<pre><code class="language-cpp">recv(server.getSock(),&amp;buf2,strlen(buf2),0);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1065586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065586</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Fri, 26 May 2006 14:58:25 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Fri, 26 May 2006 15:18:34 GMT]]></title><description><![CDATA[<p>1. Wieso sollte man einen String in der Länge des bisherigen Strings empfangen wollen? <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 />
2. Der Name eines Arrays kann als Zeiger auf sein erstes Element genutzt werden</p>
<p>Des Rätsels Lösung liegt wahrscheinlich einfach in der Korrekten Benutzung von send und recv (Hint: ......Rückgabewert.......)</p>
<p>EDIT:<br />
Ach, noch ein Hint: ......Nullterminierung......</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1065603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1065603</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 26 May 2006 15:18:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Mon, 29 May 2006 20:40:42 GMT]]></title><description><![CDATA[<p>Hmm, sry ich brauche doch noch einmal eure Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich habe das Program jetzt so modifiziert, dass die Antwort folgendermaßen entgegengenommen und ausgegeben wird:</p>
<pre><code class="language-cpp">//and take the answer
	char buf2[100];
	for(unsigned int i=0;i&lt;sizeof(buf2);i++){buf2[i]=0;}
	cout&lt;&lt;&quot;received &quot;;
	cout&lt;&lt;recv(server.getSock(),buf2,sizeof(buf2),0);
	cout&lt;&lt;&quot; bytes:&quot;&lt;&lt;endl;
	for(unsigned int i=0;i&lt;strlen(buf2);i++)
	{
		if( buf[i]==0) {cout&lt;&lt;endl;}
		else{ cout&lt;&lt;buf[i]&lt;&lt;&quot; &quot;; }
	}
	cout&lt;&lt;endl;
	return 1;
</code></pre>
<p>Dadurch erhalte ich als Antwort:</p>
<blockquote>
<p>received 12 bytes:<br />
961150710 3086187308 3086187400 64971124 134514720 3086352340<br />
3086354068 3215310212 3086294814 134513552 3215310144</p>
</blockquote>
<p>Meint ihr, die Antwort ist ein Code den es zu knacken gilt oder habe ich mich hier nur wieder verprogrammiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1067698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1067698</guid><dc:creator><![CDATA[MaxDemian]]></dc:creator><pubDate>Mon, 29 May 2006 20:40:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wargame: Fehler im Program? on Tue, 30 May 2006 07:05:31 GMT]]></title><description><![CDATA[<p>Ich denke mal, du hast da ein paar Variablen verwechselt - dein recv()-Aufruf füllt das Array 'buf2', aber anschließend gibst du den Inhalt von 'buf' aus.</p>
<p>(PS: Statt der ersten Schleife kannst du auch memset() verwenden - das ist womöglich effizienter)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1067808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1067808</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 30 May 2006 07:05:31 GMT</pubDate></item></channel></rss>