<?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[[geloest] string eingabe durch ein minimum begrenzt?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe fuer einen Freund der gerade Assembler lernt und versucht .exen zu cracken dieses kleine Programm geschrieben. Das Lernziel habe ich zwar hier erreicht, aber fuer mich voellig unverstaendlich: die Eingabe in Zeile 16 hat eine Untergrenze, die der Laenge des strings &quot;real&quot; entspricht.<br />
Mit Untergrenze meine ich, dass das Programm abstuerzt. Ich benutze Dev-C++ und den dazugehoerigen Compiler.</p>
<pre><code>#include &lt;string&gt;
#include &lt;iostream&gt;
using namespace std;

int main()
{

    string real = &quot;6hu&quot;; //5gt
    int laenge = real.length();
    string eingabe;
    string stemp;

    string temp;
    cout &lt;&lt; &quot;PW eingeben: &quot;;
    cin &gt;&gt; temp;

    for(int n = 0; n &lt; laenge; n++)
    {
            char ctemp = temp.at(n);
            ctemp++;
            stemp = ctemp;
            eingabe.append(stemp);
    }

    if(eingabe==real)
    {
                     cout &lt;&lt; &quot;\nErfolg!&quot;;
    }
    else
    {
        cout &lt;&lt; &quot;\nGescheitert!&quot;;
        return 1;
    }

    return 0;
}
</code></pre>
<p>Mir wurde gesagt, dass der fehler in der for-Schleife liegt. Allerdings wuesste ich nicht, wieso die das beeinflussen sollte... Ich bin Programmieranfänger.</p>
<p>Ausserdem passend zur Thematik vielleicht einen Stups in die richtige Richtung, damit ich die eingabe==passwort Abfrage &quot;verstecken&quot; kann?</p>
<p>Danke schonmal,<br />
Ander</p>
<p>edit: zig Fehler</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/270768/geloest-string-eingabe-durch-ein-minimum-begrenzt</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 01:15:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270768.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Jul 2010 21:04:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [geloest] string eingabe durch ein minimum begrenzt? on Sat, 17 Jul 2010 21:37:03 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe fuer einen Freund der gerade Assembler lernt und versucht .exen zu cracken dieses kleine Programm geschrieben. Das Lernziel habe ich zwar hier erreicht, aber fuer mich voellig unverstaendlich: die Eingabe in Zeile 16 hat eine Untergrenze, die der Laenge des strings &quot;real&quot; entspricht.<br />
Mit Untergrenze meine ich, dass das Programm abstuerzt. Ich benutze Dev-C++ und den dazugehoerigen Compiler.</p>
<pre><code>#include &lt;string&gt;
#include &lt;iostream&gt;
using namespace std;

int main()
{

    string real = &quot;6hu&quot;; //5gt
    int laenge = real.length();
    string eingabe;
    string stemp;

    string temp;
    cout &lt;&lt; &quot;PW eingeben: &quot;;
    cin &gt;&gt; temp;

    for(int n = 0; n &lt; laenge; n++)
    {
            char ctemp = temp.at(n);
            ctemp++;
            stemp = ctemp;
            eingabe.append(stemp);
    }

    if(eingabe==real)
    {
                     cout &lt;&lt; &quot;\nErfolg!&quot;;
    }
    else
    {
        cout &lt;&lt; &quot;\nGescheitert!&quot;;
        return 1;
    }

    return 0;
}
</code></pre>
<p>Mir wurde gesagt, dass der fehler in der for-Schleife liegt. Allerdings wuesste ich nicht, wieso die das beeinflussen sollte... Ich bin Programmieranfänger.</p>
<p>Ausserdem passend zur Thematik vielleicht einen Stups in die richtige Richtung, damit ich die eingabe==passwort Abfrage &quot;verstecken&quot; kann?</p>
<p>Danke schonmal,<br />
Ander</p>
<p>edit: zig Fehler</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927848</guid><dc:creator><![CDATA[ander]]></dc:creator><pubDate>Sat, 17 Jul 2010 21:37:03 GMT</pubDate></item><item><title><![CDATA[Reply to [geloest] string eingabe durch ein minimum begrenzt? on Sat, 17 Jul 2010 21:25:46 GMT]]></title><description><![CDATA[<p>Probier mal:</p>
<pre><code class="language-cpp">for (int n = 0; n &lt; temp.length(); n++)
</code></pre>
<p>Ansonsten werden nur so viele Zeichen angefügt, wie real lang ist.</p>
<p>Ich habe keine Ahnung von Programmen cracken, aber mir ist spontan folgendes eingefallen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

void MixStr(std::string&amp; str);

int main()
{
	std::string Password = &quot;a474ed3b&quot;;

	std::string Eingabe;
	std::cin &gt;&gt; Eingabe;

	if (Eingabe.length() != Password.length())
	{
		return 0;
	}

	MixStr(Password);

	for (unsigned int i = 0; i &lt; Password.length(); ++i)
	{
		if (Eingabe[i] != Password[i])
		{
			return 0;
		}
	}

	std::cout &lt;&lt; &quot;:-)&quot; &lt;&lt; std::endl;
}

void MixStr(std::string&amp; str)
{
	for (unsigned int i = 0; i &lt; str.length() - 1; ++i)
	{
		if (str[i] % 2 == 0)
		{
			std::swap(str[i], str[i + 1]);
		}
	}
}
</code></pre>
<p>Das Passwort lautet: <strong>a74ed3b4</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927849</guid><dc:creator><![CDATA[...........]]></dc:creator><pubDate>Sat, 17 Jul 2010 21:25:46 GMT</pubDate></item><item><title><![CDATA[Reply to [geloest] string eingabe durch ein minimum begrenzt? on Sat, 17 Jul 2010 21:27:02 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Dein Quelltext geht davon aus, daß die Länge von temp mindestens der von real entspricht. Wenn jedoch weniger Text eingegeben wurde, wird hier eine Exception geworfen:</p>
<pre><code class="language-cpp">char ctemp = temp.at(n);
</code></pre>
<p>Die Abbruchbedingung Deiner Schleife muß also angepasst werden:</p>
<pre><code class="language-cpp">for(int n = 0; n &lt; laenge &amp;&amp; n&lt;temp.length(); n++)
</code></pre>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927852</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Sat, 17 Jul 2010 21:27:02 GMT</pubDate></item><item><title><![CDATA[Reply to [geloest] string eingabe durch ein minimum begrenzt? on Sat, 17 Jul 2010 21:32:53 GMT]]></title><description><![CDATA[<p>Danke!<br />
Musste ja so eine einfache Loesung sein^^</p>
<p>Die MixStr Funktion muss ich mir noch angucken, aber sieht schonmal vielversprechend aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927853</guid><dc:creator><![CDATA[ander]]></dc:creator><pubDate>Sat, 17 Jul 2010 21:32:53 GMT</pubDate></item><item><title><![CDATA[Reply to [geloest] string eingabe durch ein minimum begrenzt? on Sat, 17 Jul 2010 21:36:43 GMT]]></title><description><![CDATA[<p>Dein Algorithmus scheint mir nicht wirklich schwer zu knacken zu sein, da wäre schon etwas mehr Mathematik nötig. Was Schönes zum Knappern wäre z.B., den SHA-Hash deines Passwortes zu speichern und die Eingabe auf Hashübereinstimmung zu prüfen. Dann bleibt für den Cracker nur noch, im Programm die Sprungbefehle zu ändern.</p>
<p>BTW: Dev-C++ ist veraltet und sollte nicht mehr verwendet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927854</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Sat, 17 Jul 2010 21:36:43 GMT</pubDate></item><item><title><![CDATA[Reply to [geloest] string eingabe durch ein minimum begrenzt? on Sat, 17 Jul 2010 21:41:38 GMT]]></title><description><![CDATA[<p>Was empfiehlst du denn als kostenlose Alternative fuer Windows?<br />
Hashübereinstimmung war bereits fuer spaetere Versionen geplant <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927855</guid><dc:creator><![CDATA[ander]]></dc:creator><pubDate>Sat, 17 Jul 2010 21:41:38 GMT</pubDate></item><item><title><![CDATA[Reply to [geloest] string eingabe durch ein minimum begrenzt? on Sat, 17 Jul 2010 21:46:30 GMT]]></title><description><![CDATA[<p>ander schrieb:</p>
<blockquote>
<p>Was empfiehlst du denn als kostenlose Alternative fuer Windows?<br />
Hashübereinstimmung war bereits fuer spaetere Versionen geplant <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="😉"
    /></p>
</blockquote>
<p>Visual C++ 2010 Express oder Code::Blocks</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927861</guid><dc:creator><![CDATA[.........]]></dc:creator><pubDate>Sat, 17 Jul 2010 21:46:30 GMT</pubDate></item></channel></rss>