PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hex-Editor für große Dateien


georg-x
4. April 2005, 20:17
Hallo,

als ich auf der Suche nach einem Hex-Editor für Dateien über 2 GB fast verzweifelt bin, dachte ich, ich schreibe selber mal einen.

Da es mir ursprünglich um das Editieren von AVI-Dateien ging, habe ich das Ding "AviHex" genannt; zunächst aber ohne nennenswerten Comfort; lediglich mit Sprungfunktion und Suche.

Hier zu finden:

http://www.gero-net.de/avihex/index.htm

Kritik und Kommentare nehme ich gerne entgegen ;-)


Georg

LigH
4. April 2005, 20:26
Klein und fein. :daumen:

Aber du solltest das Fenster in der Größe unveränderlich machen, wenn du den Ausschnitt fest eingestellt hattest.

Trekkie2
5. April 2005, 09:29
Danke!
Sowas kann man immer mal brauchen...

ac-chan
5. April 2005, 14:37
Ich habe es mal unter wine getestet und habe folgende Änderungvorschläge:
-fixe font und keine mit variabler breite
-suche nach hexstrings und vielleicht auch binärstring(die nicht mit einem Byte beginnen.
-schreiben von diffs stat die Datein direkt zu ändern.

georg-x
5. April 2005, 15:38
Danke LigH, Trekkie2 und ac-chan

für die Kommentare. Daß es unter wine Probleme
geben könnte, hatte ich nicht berücksichtigt.

Die Idee, statt die Datei zu ändern, so eine Art
Bearbeitungsprotokoll zu erstellen, worin die
(beabsichtigten) Änderungen vermerkt sind,
hatte ich auch schon.

Georg

georg-x
16. June 2005, 17:59
Hier ist nochmal eine neue Version des Hex-Editors;

- schreibt jetzt Bearbeitungen in eine separate Datei
- markiert die Veränderungen
- kann Dateien / Dateipositionen vergleichen
- sucht auch Hex (z.B. 0503f8"X",2,15)
- und ...


http://www.gero-net.de/avihex/index.htm

LigH
16. June 2005, 18:14
Nur mal so zur Info - 'ne kleine Übersicht, in welchen Programmiersprachen Hexadezimalwerte wie gekennzeichnet werden:

Assembler: [0]##h
Pascal/Delphi: $##
Basic: &H##
C/C++/...: 0x##

ac-chan
16. June 2005, 18:16
Ich habe es mir mal wieder unter wine angesehen. Folgendes ist mir aufgefallen:
-die einzelnen bereiche sind nicht breit genug. Die Addresse war z.B. nur zum teil sichtbar(die hälfte der letzten Ziffer war nicht sichtbar)
-Die Fonts scheinen immer noch nicht fix zu sein. Hast du einen Font vorgegeben oder einen Font mitgeliefert(letztere ist besser und garantiert das ein Font mit fester Breite genutzt wird)
-wenn noch keine Datei geöffnet ist, und mal klickt im ASCII bereich auf ein Feld so wird es gelb unterlegt und schwarz "00" angezeigt. scheint aber keine weitren auswirkungen zu haben.

Ich habe sonst noch nicht weiter damit rumgespielt.

@LigH:
Die 0[x|X][0-9a-fA-f]* Schreibweise ist aber die allgemein gebräuchligste. Auch bei den meisten Ausgaben (z.B. debuger) nutzen diese Form.

LigH
16. June 2005, 18:26
Als feste Schriften eignen sich z.B. "Fixedsys" oder "Terminal" (Standard-Bitmap-Fonts).
__

Gebräuchlich ... na ja, die meisten scheinen eben Programmiersprachen aus der C-Sprachfamilie zu benutzen. Und die ist so mächtig wie eine türkische. ;)

georg-x
16. June 2005, 19:33
Hallo,

danke für die Hinweise. Das mit den Fonts muß
ich noch ändern.

Was die Hex-Werte betrifft, wollte ich es so einfach wie möglich halten, also den Tippaufwand minimieren; also keine zusätzlichen # oder & oder H, sondern bloß die Werte (und für Char-Werte die "-Zeichen).

Wer also nach

0503f8"X",2,15

sucht, sucht nach:
05,03,f8,58,02,15 (alles hexadezimal)

Wer Zeichenketten sucht, wählt halt den anderen Menüpunkt.

LigH
16. June 2005, 19:58
Ach so... -- Die Mischung von Hex und Char ist auf jeden Fall nützlich!

georg-x
17. June 2005, 15:23
Nur kurz:

Habe noch einen Bug beseitigt und die Anzeige an die Font-Größe angepaßt.

http://www.gero-net.de/avihex/index.htm

Matt Kirby
7. July 2005, 18:33
Ich habe für solche Zwecke immer den "HEdit" Hexeditor genommen.
Es gibt sogar eine neue Version die Dateien grösser als 4 GB handeln kann aber das Demo erlaubt kein speichern. Die alte Version konnte zwar nur bis 2GB aber in Geschwindigkeit bei den relativ riesigen Datenmengen war sie unübertroffen. Viele andere Hexeditoren stürzten schon bei Dateien >20 MB ab.
Dein Editor ist auch nicht schlecht und bietet mehr Features. Aber mit Dateien >4GB kommt er (glaub ich) nicht zurecht.

doch nochn Link gefunden
http://www.yurisw.com/HEdit.htm

georg-x
7. July 2005, 21:26
Hallo Matt Kirby,

wie kommst Du darauf, daß der Editor mit Dateien über 4GB nicht zurecht kommt?

Bei mir klappt es (unter W2k). Hat noch jemand andere Erfahrungen gemacht???

Gruß

Georg

Matt Kirby
7. July 2005, 22:33
Ich habe mal einen DVB-StreamFile von ca. 5 GB und einen anderen mit ca. 4.3 GB geöffnet. Beidesmal "klemmt" der Scollbalken in der Mitte fest wenn ich ihn von oben nach unten ziehen will. -bei kleineren Dateien passiert das nicht
habe WinXP

zisoft
8. July 2005, 07:45
Klingt nach einem 32bit int-Überlauf bei der Berechnung der Scrollbalken-Position ;)

georg-x
9. July 2005, 01:44
So, jetzt müßte der Scrollbalken laufen.

Danke für die Hinweise !

Gruß

Georg

LigH
13. August 2005, 22:11
Ich hoffe, du fühlst dich dadurch nicht unter Druck gesetzt - ein kleines Tool ist sicher oft ausreichend; aber soweit ich das überblicke, gibt es im Delphi-Forum einen richtig großen Brocken, der so gut wie alles kann, was man können will - z.B. auch Virtual-RAM-Adressen und einzelne Sektoren direkt bearbeiten:

HxD (http://www.delphi-forum.de/viewtopic.php?t=36173)

Wer weiß, vielleicht bringt der dich auf gute Ideen, zum Dateibearbeiten ist deiner aber schon völlig ausreichend.

georg-x
11. January 2006, 00:57
Inzwischen ist der Hexeditor bei Version

1.99f (http://www.gero-net.de/avihex/avihex199f.exe)

angelangt (was nach "z" kommt, weiß ich noch nicht ...;)).

Der Umgang mit logischen Laufwerken gestaltet sich genauso wie der Umgang mit Dateien:

Statt direkt zu schreiben werden die Änderungen in einer "Protokolldatei" festgehalten.

Ansonsten ist das Ganze etwas umgänglicher geworden, wobei das ursprüngliche Konzept sich nicht geändert hat.