Welches Programm um Maschinencode oder Komprimierung zu lesen?
-
Hallo,
Ich will so ein Import-Plugin schreiben welches Dateien aus einen anderen 3D-Anwendungsprogramm lesen kann. Doch wenn ich die Datei mit Texteditor öffne, seh ich nur komische Zeichnen. Wie bei Maschinencode. Mit was liest man solche Zeichen am besten? Mit Hex-Editor? Ich kenn Hack-Man aber das ist wegen dem Namen komisch, weil das mehr für cracken gedacht ist? Gibt es nicht ein vernünftiges Programm für normale Anwender ? Es geht mehr um die Forschung was diese Zeichen machen. Nicht um verändern von Codes. Außerdem will ich mehr verstehen wie diese binaries funktionieren.danke
-
Wenn du Windows hast, guck dir mal Hexplorer an.
-
Hi,
das ist ein lustiges Vorhaben! Ich habe es auch schon mal probert und bin krepiert! Mit ASCII geht nix, weil u.a. reelle Zahlen (falls vorhanden) mehrere Byte in bestimmter Weise belegen. Und da sind einige Zeichen drin, die bei byteweiser Betrachtung Null oder Steuerzeichen ergeben können. (Wenn du mehr wissen willst: May:Grundkurs Softwareentwicklung mit C++).Zweitens musst du genau wissen, wie und was in die Datei geschrieben wurde. Genau so musst du das wieder auslesen. Sonst geht gar nix.
Gruss Jerry
-
Es sind Binäre-Daten. Also brauchst du einen Hex-Editor. Wie der heißt ist egal. Wichtig ist, das er das kann was du benötigst.
-
okay danke, ich werd mir mal näher anschauen alles.
es ist mir schon bewußt dass ascii z.b. notepad den code zerstört wenn ich es mal wieder abspeichere ohne sie was ändern!
ja man müsste wissen was es macht, so wäre die idee nämlich, wenn man aus einem programm die datei mehrmals abspeichert, zwischen den dateien habe ich nur eine klitzekleine veränderung vorgenommen. z.b. die position eines objektes verschieben und wieder abspeichern. so kann ich wieder nachsehen was sich in diesem code verändert hat. mag ein mühseliges vorgehen sein aber es geht. was ich toll fänd, ist, wenn es so ein werkzeug gibt, welches zwischen dateien die ungleichheiten markiert. so kann ich schneller rausfinden was sich verändert hat.
-
Such dir einfach einen Hex-Editor der das bereits kann
-
Ich habe mich mehrfach mit dem Thema befasst und bin davon abgekommen!
1)Ein Hexeditor hilft garnix, wenn man nicht weiss, was die Hexzahl bedeutet.
Beispiel: eine Kommazahl, zB. 3,1415926... belegt als float (in C/C++) 6, als double 8 Byte. Das interne Bitmuster könnte zB so aussehen:
00011010000010000010000100000010
Was soll das dann als Hex bedeuten, wenn man nicht weiss, dass das eine solche Zahl ist??
-
Manche Ausgabedateien sind gerahmt: "Hans" "Köhler" usw. Andere Dateien machen es anders, zB Komma. Das muss man bei der REkonstruktion wissen.
-
Bild-/Audiodateien mit Hex lesen zu wollen ist Unfug!
Reicht das zur Überzeugung?
Gruss Jerry
-
-
Jerry (ich bins) schrieb:
Ich habe mich mehrfach mit dem Thema befasst und bin davon abgekommen!
1)Ein Hexeditor hilft garnix, wenn man nicht weiss, was die Hexzahl bedeutet.
aber man kann es rausfinden wenn man es vom Program aus die Datei verändert.
Dann guckt man in Hexeditor welche Position sich verändert hat.Man sollte die Datei einmal speichern. Danach ein Pixel verändern. Dann wieder abspeichern unter anderem Namen. Im Editor vergleicht man zwischen diese beide Dateien. Dann findet man diese Veränderung. So konnte ich ein Pixel per Hex-Editor manipulieren.
Die Datei darf nur nicht komprimiert sein. Gott sei dank ist es auch nicht. Das einzig was mühselig ist, zu finden was anders geworden ist. Vieles ist gleich, nur 2 Hex-Zahlen sind anders. Ich brauch so ein Werkzeug der das findet. Ich hab mir mal Hexplorer näher angeschaut, hat cooles matrix-style, aber ich find dieses Werkzeug nicht. Hackman kann mehrere Dateien gleichzeitig öffnen. Gut aber wie vergleicht man diese Unterschiedlichkeiten? Müsste ich in Manuals lange rumsuchen oder kann das einer hier schnell sagen?
-
Tja, würdest du Linux verwenden, würde ich "hexdump" und "diff" sagen. Aber so würde ich Google mit "binary diff" oder sowas quälen
-
Viele Dateiformate findest du auch auf Seiten wie www.wotsit.org beschrieben. Dann kannst du mit Hilfe eines Hex-Editors und den dortigen Beschreibungen sicher einiges rausholen.
MfG SideWinder
-
Ha, noch viel besser. Ich habe gerade "cmp" entdeckt:
http://unixhelp.ed.ac.uk/CGI/man-cgi?cmpEcht gut:
minhen@linux:~$ echo -e '#include<stdio.h>\nint main(){printf("hallo");return 0;}' | gcc -xc -o version1 - minhen@linux:~$ ./version1; echo -e "\n" hallo minhen@linux:~$ echo -e '#include<stdio.h>\nint main(){printf("servus");return 0;}' | gcc -xc -o version2 - minhen@linux:~$ [b]cmp version1 version2[/b] version1 version2 differieren: Byte 1153, Zeile 1. minhen@linux:~$ [b]cmp -l version1 version2[/b] 1153 150 163 1154 141 145 1155 154 162 1156 154 166 1157 157 165 1158 0 163 4077 16 17
Also genau das, was du suchst.
-
Hehe. Irgendwann mal in der Schule erklaerten uns die Lehrer wie Vektorgrafik funktioniert. Daraufhin oeffnete ein Klassenkamerad eine Illustrator-Datei mit Notepad und verkuendete, dass es so nicht stimme, da er keine Formeln darin sehe.
-
SideWinder schrieb:
Viele Dateiformate findest du auch auf Seiten wie www.wotsit.org beschrieben. Dann kannst du mit Hilfe eines Hex-Editors und den dortigen Beschreibungen sicher einiges rausholen.
MfG SideWinder
nicht schlecht die url. danke
minhen schrieb:
Ha, noch viel besser. Ich habe gerade "cmp" entdeckt:
http://unixhelp.ed.ac.uk/CGI/man-cgi?cmpEcht gut:
minhen@linux:~$ echo -e '#include<stdio.h>\nint main(){printf("hallo");return 0;}' | gcc -xc -o version1 - minhen@linux:~$ ./version1; echo -e "\n" hallo minhen@linux:~$ echo -e '#include<stdio.h>\nint main(){printf("servus");return 0;}' | gcc -xc -o version2 - minhen@linux:~$ [b]cmp version1 version2[/b] version1 version2 differieren: Byte 1153, Zeile 1. minhen@linux:~$ [b]cmp -l version1 version2[/b] 1153 150 163 1154 141 145 1155 154 162 1156 154 166 1157 157 165 1158 0 163 4077 16 17
Also genau das, was du suchst.
geht das nur unter linux? naja kann ich mal installieren irgedwann.