<?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[Binäre Datei zerlegen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab mal wieder ein Problem <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="🙄"
    /><br />
Ich hab eine Datei, die ich Binär einlesen möchte und die aus einzelnen &quot;Unterdateien&quot; besteht. Die Namen der Unterdateien sind bekannt, sie können aber an verschiedenen Stellen (in verschiedenen Reihenfolgen) in der Datei einmalig auftauchen (mit unterschiedlicher Größe).<br />
Die Frage die aufkommt: Wie kann ich am besten die Unterdateien in der Datei finden und abspeichern. Hat jemand so etwas schon einmal gemacht?<br />
Wie die Datei eingelesen und wie geschrieben wird, weiß ich.<br />
Meine Idee war ein 2d-Vector an zulegen. In &quot;Spalte&quot; 1 werden die Positionen gespeichert, in Spalte 2 die Namen. Dann die Spalte 1 der Größe nach zu sortieren und danach die Datei zu zerlegen. Aber das geht doch bestimmt auch besser, oder?!</p>
<p>Danke und VG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/300134/binäre-datei-zerlegen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 22:51:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300134.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Feb 2012 11:24:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Binäre Datei zerlegen on Sun, 26 Feb 2012 11:24:40 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab mal wieder ein Problem <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="🙄"
    /><br />
Ich hab eine Datei, die ich Binär einlesen möchte und die aus einzelnen &quot;Unterdateien&quot; besteht. Die Namen der Unterdateien sind bekannt, sie können aber an verschiedenen Stellen (in verschiedenen Reihenfolgen) in der Datei einmalig auftauchen (mit unterschiedlicher Größe).<br />
Die Frage die aufkommt: Wie kann ich am besten die Unterdateien in der Datei finden und abspeichern. Hat jemand so etwas schon einmal gemacht?<br />
Wie die Datei eingelesen und wie geschrieben wird, weiß ich.<br />
Meine Idee war ein 2d-Vector an zulegen. In &quot;Spalte&quot; 1 werden die Positionen gespeichert, in Spalte 2 die Namen. Dann die Spalte 1 der Größe nach zu sortieren und danach die Datei zu zerlegen. Aber das geht doch bestimmt auch besser, oder?!</p>
<p>Danke und VG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2185894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2185894</guid><dc:creator><![CDATA[railrun]]></dc:creator><pubDate>Sun, 26 Feb 2012 11:24:40 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei zerlegen on Sun, 26 Feb 2012 11:36:12 GMT]]></title><description><![CDATA[<p>Kannst du mal ein Beispiel für dein Dateiformat geben? Irgendwie muss doch festgelegt sein, wie die Datei gegliedert ist, ansonsten ist es unmöglich, die Daten wieder zu zerlegen.</p>
<blockquote>
<p>Meine Idee war ein 2d-Vector an zulegen. In &quot;Spalte&quot; 1 werden die Positionen gespeichert, in Spalte 2 die Namen. Dann die Spalte 1 der Größe nach zu sortieren und danach die Datei zu zerlegen. Aber das geht doch bestimmt auch besser, oder?!</p>
</blockquote>
<p><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=":confused:"
      alt="😕"
    /> Was für Spalten, Namen, Positionen? Wovon redest du? Wir können nicht in deinen Kopf gucken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2185901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2185901</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 26 Feb 2012 11:36:12 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei zerlegen on Sun, 26 Feb 2012 12:47:24 GMT]]></title><description><![CDATA[<p>Ich hab mir mal ein Programm gebaut, dass sehr schnell einfach Daten zusammenschmeißt ohne Kompression und dann wieder extrahieren kann.</p>
<p>Es gibt verschiedene Möglichkeiten das zu machen, aber das hat alles nichts mit C++ zu tun, sondern einfach mit nachdenken! Z.B. kannst einfach immer den Pfad angegeben, mit \0 terminieren, dann ein 8Byte Feld mit der Größe der Datei und dann die Daten. Danach kommt wieder der Dateiname, dann die Länge und dann die DAten. Vorteil: einfach, Nachteil: für große Archive mit vielen Dateien muss linear gesucht werden: bis \0, 8Byte einlesen, diesen 8Byte-Werte springen etc... bis man die richtige Datei hat.</p>
<p>Sei kreativ! Überleg dir, wie schnell du wohin kommen musst und wie du es lösen würdest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2185929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2185929</guid><dc:creator><![CDATA[PhilippHToner]]></dc:creator><pubDate>Sun, 26 Feb 2012 12:47:24 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei zerlegen on Sun, 26 Feb 2012 14:36:15 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke für die Antworten.<br />
In der Datei befinden sich Unterdateien. Von diesen Unterdateien will ich die Position bestimmen, damit ich diese dann entsprechen extrahieren kann. Dateien kann ich hier leider nicht hochladen, aber ich häng einmal einen Screenshot an.<br />
<a href="http://imageshack.us/photo/my-images/204/bildschirmfoto20120226uj.png/" rel="nofollow">http://imageshack.us/photo/my-images/204/bildschirmfoto20120226uj.png/</a><br />
<a href="http://imageshack.us/photo/my-images/545/bildschirmfoto20120226un.png/" rel="nofollow">http://imageshack.us/photo/my-images/545/bildschirmfoto20120226un.png/</a><br />
Da sieht man z.B. FOOBAR TMP, FOOBAR TTE oder FOOBAR TET.<br />
Diese Namen sind immer gleich, in jeder Datei.<br />
Problem 1: In manchen Dateien kommen sie aber in einer anderen Reihenfolge<br />
Problem 2: Sie haben keine einhetliche Größe.<br />
Deswegen will ich in einem ersten Schritt die genaue Position (Offset) in der Datei bestimmen. Danach würde ich die Offsets der Größe nach sortieren (da ja die Teildateien in unterschiedlicher Reihenfolge auftauchen), damit ich dann diese Dateien an den jeweiligen Stellen extrahieren kann.<br />
Man ist das schwer zu beschreiben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2185973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2185973</guid><dc:creator><![CDATA[railrun]]></dc:creator><pubDate>Sun, 26 Feb 2012 14:36:15 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei zerlegen on Sun, 26 Feb 2012 14:39:10 GMT]]></title><description><![CDATA[<p>Hast du dir das Format selber ausgedacht? Woran erkennst du, was ein Dateiname ist und was Daten sind?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2185974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2185974</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 26 Feb 2012 14:39:10 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei zerlegen on Sun, 26 Feb 2012 14:45:25 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Hast du dir das Format selber ausgedacht? Woran erkennst du, was ein Dateiname ist und was Daten sind?</p>
</blockquote>
<p>Nein, das Format hab ich mir nicht selber ausgedacht. In diesen Unterdateien befindet sich bestimmt auch eine Information über die Länge der Unterdatei, aber den will ich ja versuchen rauszubekommen.<br />
Aber wie du siehst, sind die Unterdateinamen im Klartext leserbar. Danach kommen Daten bis zur nächsten Unterdatei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2185975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2185975</guid><dc:creator><![CDATA[railrun]]></dc:creator><pubDate>Sun, 26 Feb 2012 14:45:25 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei zerlegen on Sun, 26 Feb 2012 15:09:38 GMT]]></title><description><![CDATA[<p>Also wenn es nicht ein gängiges Format ist oder/und du keine Ahnung hast, wie der Aufbau der Datei ist, dann vergiss es gleich! Wenn der Ersteller der Datei nicht will, dass du an die Daten kommst, dann schafft er es auch. Er könnte die billigste Verschlüsselung einsetzen, z.B. einfach jedes Byte um 1 erhöhen. Er könnte zusätzlich irreführende Daten abspeichern.</p>
<p>Entweder du hast einen konkreten Verdacht oder vergiss es. Angenommen du wüsstest nicht, wie ein .zip aufgebaut ist, versuch ma im Hex-Editor rauszufinden, wie das Format sein könnte. Forget it!</p>
<p>Um herauszufinden, musst du das Programm verstehen, dass damit arbeitet und das geht in die Richtung reverse Engineering bzw. ugs. Hacking!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2185985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2185985</guid><dc:creator><![CDATA[PhilippHToner]]></dc:creator><pubDate>Sun, 26 Feb 2012 15:09:38 GMT</pubDate></item></channel></rss>