Forum: Mikrocontroller und Digitale Elektronik Hexeditor gesucht


von C. W. (chefkoch)


Lesenswert?

Hallo *,

ich habe in der letzten Zeit öfters an Daten aus Intel Hex Files 
editiert die aus 16-Bit breiten Eproms kamen. Bei allen Hexeditoren die 
ich gefunden habe passiert das Editieren auf Bytebene. Da man dabei das 
Thema Endianness und die Tatsache das die Adressen nicht korrekt 
angezeigt werden selber beachten muss nervt dabei etwas. Kennt jemand 
einen Hexeditor der es anders kann und am besten unter Linux läuft? Die 
Programmiersoftware des TL866II beherrscht die korrekte Anzeige der 
Daten ist aber zum Editieren wenig geeignet.

von Andreas B. (bitverdreher)


Lesenswert?

Mit Ghex kann man in 16-64 bits gruppieren. Aber die korrekte Anzeige 
ist grundsätzlich in der Reihenfolge wie sie auch in der Datei stehen.
Alles andere wäre schon sehr schräg.

von Cyblord -. (cyblord)


Lesenswert?

"Hex Editor Neo"

von Henri K. (henri3429)


Lesenswert?

wxHexEditor hat mich durch seine Geschwindigkeit und Stabilität 
überzeugt. Riesige Dateien lassen sich problemlos öffnen und bearbeiten. 
Die Bedienung ist übersichtlich und Funktionen wie Dateivergleich oder 
Byte-Suche laufen reibungslos.

von Harald A. (embedded)


Lesenswert?

Wenn Intel Hex Files editiert werden, braucht man doch einen 
Texteditor?! Oder wandelst Du vorher und editierst dann die Binary? Wenn 
Du direkt im ihex ändern willst kannst Du die auch bei ChatGPT hochladen 
und ihm sagen, welcher Wert angepasst werden soll. Die Checksumme 
berechnet der dann für die Zeile auch neu.
Das reine Wort ChatGPT bringt hier zwar Negativbewertungen hervor, 
funktionieren tut es aber trotzdem.

von H. H. (Gast)


Lesenswert?


von Harald K. (kirnbichler)


Lesenswert?

Harald A. schrieb:
> Wenn Du direkt im ihex ändern willst kannst Du die
> auch bei ChatGPT hochladen

Könntest Du bitte auf derartig idiotisch-destruktive Vorschläge 
verzichten? Danke.

von Andreas B. (bitverdreher)


Lesenswert?

Harald A. schrieb:
> Wenn Intel Hex Files editiert werden, braucht man doch einen
> Texteditor?!

Da hast Du allerdings recht. Das habe ich (und andere wohl auch) 
übersehen.

von H. H. (Gast)


Lesenswert?

Andreas B. schrieb:
> Harald A. schrieb:
>> Wenn Intel Hex Files editiert werden, braucht man doch einen
>> Texteditor?!
>
> Da hast Du allerdings recht. Das habe ich (und andere wohl auch)
> übersehen.

Ein ordentlicher Hex-Editor kann natürlich auch sowas im- und 
exportieren.

von Andreas B. (bitverdreher)


Lesenswert?

H. H. schrieb:
> Andreas B. schrieb:
>> Harald A. schrieb:
>>> Wenn Intel Hex Files editiert werden, braucht man doch einen
>>> Texteditor?!
>>
>> Da hast Du allerdings recht. Das habe ich (und andere wohl auch)
>> übersehen.
>
> Ein ordentlicher Hex-Editor kann natürlich auch sowas im- und
> exportieren.

Wozu soll das gut sein? Wenn es schon im ASCII Format vorliegt, kann man 
es doch dabei belassen.

von Cyblord -. (cyblord)


Lesenswert?

Andreas B. schrieb:
> Wozu soll das gut sein? Wenn es schon im ASCII Format vorliegt, kann man
> es doch dabei belassen.

Weil direktes Editieren in Intel Hex eben umständlich ist. Nicht nur 
wegen der Checksumme.

von Andreas B. (bitverdreher)


Lesenswert?

Gut, die Checksumme ist ein valides Argument.

von C. W. (chefkoch)


Lesenswert?

Und einfach mal per Cut und Paste Blöcke die über mehrere Zeilen gehen 
einfügen ist unmöglich.

von H. H. (Gast)


Lesenswert?

Andreas B. schrieb:
> Gut, die Checksumme ist ein valides Argument.

Nicht nur die, auch eingebetteten Text kann kann der Hex-Editor gleich 
decodiert darstellen.

von Harald A. (embedded)


Lesenswert?

Harald K. schrieb:
> Harald A. schrieb:
>> Wenn Du direkt im ihex ändern willst kannst Du die
>> auch bei ChatGPT hochladen
>
> Könntest Du bitte auf derartig idiotisch-destruktive Vorschläge
> verzichten? Danke.

Was ich schreibe bestimme ich selbst. Probiere es doch wengistens mal 
aus, bevor Du dich hier in diesem Forum immer wieder in unnötige 
Beleidigungen ergießt.

von Harald K. (kirnbichler)


Lesenswert?

Harald A. schrieb:
> Probiere es doch wengistens mal aus

Mir reicht es, wenn GenZ das Gehirn bei tiktok abgibt, man muss nicht 
auch noch den letzten Rest intellektueller Eigenleistung vernichten.

Im übrigen schrieb ich "bitte", und nicht "verdammt nochmal!".

von Gerhard Z. (germel)


Lesenswert?

Ich bin mit Bless sehr zufrieden, kann aber nicht einschätzen, ob er für 
deine Zwecke taugt.

von Peter M. (peter0)


Lesenswert?

Harald K. schrieb:
> Harald A. schrieb:
> Im übrigen schrieb ich "bitte", und nicht "verdammt nochmal!".

Das stimmt zwar, wenn man nachguckt, aber in meiner Erinnerung kam weder 
"bitte" noch "verdammt nochmal!" vor, sondern "idiotisch-destruktiv". ;)

von Rahul D. (rahul)


Lesenswert?

Peter M. schrieb:
> Das stimmt zwar, wenn man nachguckt, aber in meiner Erinnerung kam weder
> "bitte" noch "verdammt nochmal!" vor, sondern "idiotisch-destruktiv". ;)

Wer lesen kann, ist klar im Vorteil:

Harald K. schrieb:
> Könntest Du bitte auf derartig idiotisch-destruktive Vorschläge
> verzichten? Danke.

Jeder zieht sich den Schuh an, der ihm passt...

von Harald K. (kirnbichler)


Lesenswert?

Peter M. schrieb:
> aber in meiner Erinnerung kam weder
> "bitte" noch "verdammt nochmal!" vor, sondern "idiotisch-destruktiv".

Dann ist Deine Erinnerung merkwürdig selektiv. Ja, ich schrieb 
"idiotisch-destruktiv", und dazu stehe ich auch. Die "KI" ist genau das, 
und die Idee, sie für irgendwas anderes als das Erzeugen sinnentleerter 
Wort- oder Bildhülsen zu verwenden, ist von ganz, ganz wenigen Ausnahmen 
abgesehen genau das. Wer glaubt, daß die "KI" seine Probleme löst, gibt 
sich selbst auf. Warum etwas lernen, wenn's doch die "KI" kann? Warum 
etwas verstehen, wenn's doch die "KI" versteht? Warum etwas lesen, wenn 
doch die "KI" eine Zusammenfassung davon generieren kann?
Macht man das lange genug, verlernt man auch jedwede Fähigkeit, 
herauszufinden, ob das, was die "KI" da tolles geliefert hat, dreist 
gelogen, wüst zusammenfantasiert oder irgendwo geklaut ist.

Und dafür muss man jetzt die Welt mit Kernkraftwerken zupflastern, damit 
die Rechenzentren, in denen die "KI" betrieben wird, ihren pervers 
riesigen Stromverbrauch aufrechterhalten kann.

von Tom G. (masterx244)


Lesenswert?

Müsste zuhause mal schauen was der 010editor 
(https://www.sweetscape.com/010editor/ )daraus macht. Der scheint 
Optionen dafür zu haben und ist auch für Linux verfügbar (bin selber auf 
linux und nutze den auch schon seit einiger Zeit)

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

Ich mag https://docs.werwolv.net/imhex sehr. Vor allem die integrierte 
Pattern Language erleichtert die Analyse von strukturierten Daten 
erheblich. Kann allerdings kein ihx oder srec einlesen.

Matthias

von Rbx (rcx)


Lesenswert?

C. W. schrieb:
> Bei allen Hexeditoren die
> ich gefunden habe passiert das Editieren auf Bytebene.

Schon mal mit radare (radare2) herumexperimentiert?

von Peter M. (peter0)


Lesenswert?

Harald K. schrieb:
> Peter M. schrieb:
>> aber in meiner Erinnerung kam weder
>> "bitte" noch "verdammt nochmal!" vor, sondern "idiotisch-destruktiv".
> Dann ist Deine Erinnerung merkwürdig selektiv.
Sie ist halt subjektiv.
Ich wollte damit nur spiegeln, was bei den (einem) Rezipienten hängen 
bleibt.
Im Gegensatz zu dem Beitrag hier hast Du oben auf einen konstruktiven 
Beitrag vom anderen Harald etwas geschrieben, was nicht etwa das 
(fragwürdige) Werkzeug niedermacht, sondern den konstruktiven Beitrag.

Immerhin stand da "Könntest Du bitte auf derartig idiotisch-destruktive 
Vorschläge verzichten?" und nicht "bitte überdenke den Einsatz eines 
derartigen ressourcenaasenden Werkzeugs; im Übrigen halte ich den 
Einsatz von LLMs für idiotisch-destruktiv."

Von mir aus EOD; ciao, Peter

von Zino (zinn)


Lesenswert?

Natürlich darf Emacs nicht fehlen:

https://github.com/mschuldt/intel-hex-mode

von Christian (axelf40)


Lesenswert?


von Malte _. (malte) Benutzerseite


Lesenswert?

Christian schrieb:
> Ein sehr gutes Tool:
>
> https://www.chip.de/downloads/Tiny-Hexer_13014623.html
Kann ich für Windows Nutzer nur empfehlen. Allenfalls die 
Vergleichsfunktion mit anderen Binärdateien könnte komfortabler sein.

PS: Wenn man längere Daten bei ChatGPT hochlädt hat man ganz schnell die 
Eingabelänge überschritten.

von Alexander (alecxs)


Lesenswert?

H. H. schrieb:
> https://mh-nexus.de/de/

Der heißt HxD nutze ich auch sehr gerne für Windows. Ist auf jeden Fall 
sehr schnell und einen Download zum Testen wert. Ist der Autor auf 
µC.net unterwegs?

: Bearbeitet durch User
von C. W. (chefkoch)


Lesenswert?

Die Programmiersoftware von ELNEC für den BeeProg ist jetzt bei mir das 
Mittel der Wahl. Das Beste ist die Unterstützung der unterschiedlich 
Dateiformate (bin/hex/s). Ein Wehrmutstropfen ist halt das sie unter 
Windows läuft.

von Arthur D. (Firma: 42) (blickwinkelkanone)


Lesenswert?

Hast Du mal https://hexed.it/ angeschaut oder das Hexeditor Plugin zum 
Vscode?

von Harald K. (kirnbichler)


Lesenswert?

Arthur D. schrieb:
> oder das Hexeditor Plugin zum Vscode

Meinst Du das hier?
https://marketplace.visualstudio.com/items?itemName=ms-vscode.hexeditor

Da steht nichts von den unterstützten Dateiformaten; das kann also 
vermutlich nur Binärdateien als Hex verarbeiten.

Von den verschiedenen Intel-Hex-Formaten oder den Motorola-S19-Varianten 
steht da nichts.

: Bearbeitet durch User
von Arthur D. (Firma: 42) (blickwinkelkanone)


Lesenswert?

Was Du suchst ist also eher so eine Art Parser, der ein ASCII File im 
ihex bzw. s19 Format analysiert?
Da kenne ich nichts.

Wenn wirklich Binärdaten verändert werden sollen dann empfehle ich:

- *.ihex -> *.bin mit z.B srec_cat
- ändern der Daten mit einem Hex-Editor
- *.bin -> *.ihex mit srec_cat

: Bearbeitet durch User
von Christian M. (christian_m280)


Lesenswert?


von Harald K. (kirnbichler)


Lesenswert?

Arthur D. schrieb:
> Was Du suchst ist also eher so eine Art Parser, der ein ASCII File im
> ihex bzw. s19 Format analysiert?

Nö, aber das ist elementare Funktionalität, die ich von einem besseren 
Hexeditor erwarte.

Die folgenden kommerziellen Produkte können das:

https://www.sweetscape.com/010editor/

"Professional" und "Ultimate" von 
https://hhdsoftware.com/free-hex-editor

https://dataescher.com/products/hexeditor.php



HxD (https://mh-nexus.de/de/hxd/) kann diese Formate nur schreiben, 
nicht aber lesen.

Es erfordert halt eine grundlegend andere Programmlogik, eine aus 
mehreren nicht kontinuierlichen Abschnitten bestehende Binärdatei zu 
verwalten, als eine aus einem kontinuierlichen Block.

von Rbx (rcx)


Lesenswert?

Eigentlich kann man sich einen einfachen Hexeditor auch selber schreiben 
bzw. programmieren. So schwierig ist das nicht..

Relativ gut war immer hexworkshop.
Auf Linux gibt es einen Clone von KDE, glaube ich.

Zur Not könnte man auch IDA einsetzen.

von Harald K. (kirnbichler)


Lesenswert?

Rbx schrieb:
> Relativ gut war immer hexworkshop.

Ist nur halt ... überraschend teuer:

http://www.bpsoft.com/ordering/

Eine Lizenz kostet 90 USD.

von Falk B. (falk)


Lesenswert?

Rbx schrieb:
> Eigentlich kann man sich einen einfachen Hexeditor auch selber schreiben
> bzw. programmieren. So schwierig ist das nicht..

Na dann leg mal los, Meister. Wir sind gespannt . . .

von Cyblord -. (cyblord)


Lesenswert?

Ich nutze Hex Editor Neo mit Ultimate Lizenz:

https://hhdsoftware.com/hex-editor

Hat sich schon lange gelohnt sich das mal zu leisten.

Rbx schrieb:
> Eigentlich kann man sich einen einfachen Hexeditor auch selber schreiben
> bzw. programmieren. So schwierig ist das nicht..

Oh bitte. Du würdest es nicht schaffen auch nur die Minimalfunktionen 
einigermaßen zu programmieren. Das würdest du dann nach 2 Jahren 
feststellen.

von Rick (rick)


Lesenswert?

C. W. schrieb:
> Kennt jemand
> einen Hexeditor der es anders kann und am besten unter Linux läuft?

Umwandeln mit srec_cat wurde ja schon genannt:
srec_cat example.ihex -Intel -Output example.bin -binary

Da man nun schon auf der Kommandozeile ist, kann man dort mit vbindiff 
und hexer weitermachen.

https://www.cjmweb.net/vbindiff/
https://devel.ringlet.net/editors/hexer/

Falls man bei einem Binärfile vorn oder hinten was abschneiden möchte, 
kann man 'dd' mit den Parametern skip und count verwenden:
dd  if=example.bin of=extract.bin  bs=1 skip=369 count=7942

von Johannes (jk1983)


Lesenswert?

Rick schrieb:
> Umwandeln mit srec_cat wurde ja schon genannt:
> srec_cat example.ihex -Intel -Output example.bin -binary

Geht auch mit objcopy. Ist auch egal für welche Zielarchitektur objcopy 
gebaut wurde, da in einer Intel-Hex Datei keine Information bezüglich 
Architektur stehen wie zum Beispiel in ELF oder PE.
1
$ objcopy -I ihex -O binary test.ihex test.bin

von Hans (hansmd)


Lesenswert?

Mit EXCEL kann man sich einen geeigneten
Editor basteln. Es ist nicht umsonst das
Werkzeug Nr. 1 für den E-Ingenieur!

von Rbx (rcx)


Lesenswert?

Cyblord -. schrieb:
> Du würdest es nicht schaffen auch nur die Minimalfunktionen
> einigermaßen zu programmieren.

Welche Minimalfunktionen denn genau, wenn ich fragen darf?

von Cyblord -. (cyblord)


Lesenswert?

Rbx schrieb:
> Cyblord -. schrieb:
>> Du würdest es nicht schaffen auch nur die Minimalfunktionen
>> einigermaßen zu programmieren.
>
> Welche Minimalfunktionen denn genau, wenn ich fragen darf?

Die Minimalfunktion eines HEX Editors ist die Byteweise Darstellung von 
Daten (meist aus Dateien) in verschiedenen Zahlensystemen und deren 
Bearbeitung.

Kannst ja mal versuchen. Das wirklich gut zu machen, vor allem GUI 
seitig, ist aufwändiger als du denken würdest und du bist hier noch 
nicht als erfahrener SW Entwickler aufgefallen. Deshalb zweifle ich sehr 
dass du das kannst. Hast du denn ähnliche Anwendungen schon gemacht? 
Kannst du Beispiele zeigen?

: Bearbeitet durch User
von Vanye R. (vanye_rijan)


Lesenswert?

> Kannst ja mal versuchen. Das wirklich gut zu machen, vor allem GUI
> seitig, ist aufwändiger als du denken würdest

Naja, ich hab da noch eine schwache Erinnerung das ich das anfang der 
90er mal gemacht habe. War aber in TurboPascal und Teil meines MCS48 
Emulators. Aber natuerlich, es ist schon mehr Arbeit als irgendwo im 
Internet eine Software zu finden.
Und es gab auch Dutzende von Hexeditoren, sind wohl alle mit DOS 
ausgestorben weil das heute fast niemand mehr braucht und wenn doch muss 
man wohl seine Geldboerse aufmachen. .-)

Ich denke aber schon das dies eine gute Fingeruebung fuer 
Programmieranfaenger ist...

Vanye

von Cyblord -. (cyblord)


Lesenswert?

Vanye R. schrieb:

> Naja, ich hab da noch eine schwache Erinnerung das ich das anfang der
> 90er mal gemacht habe. War aber in TurboPascal und Teil meines MCS48
> Emulators. Aber natuerlich, es ist schon mehr Arbeit als irgendwo im
> Internet eine Software zu finden.

Ja und du willst ja nicht nur die Grundfunktionen. Der von mir 
verwendete Editor hat enorm viele sinnvolle Funktionen.
Warum sollte man das Rad neu erfinden wenn man nur das Tool braucht.

Ich habe den Eindruck gerade Leute wie Rbx die eben wirklich null 
Erfahrung in der Anwendungsentwicklung haben, hauen mal kurz so einen 
Unsinn raus wie "kann man kurz selbst machen".

> Ich denke aber schon das dies eine gute Fingeruebung fuer
> Programmieranfaenger ist...

Ohne Zweifel. Aber das Ergebnis würde kaum jemand produktiv nutzen 
wollen.

: Bearbeitet durch User
von Rbx (rcx)


Lesenswert?

Cyblord -. schrieb:
> Kannst ja mal versuchen. Das wirklich gut zu machen, vor allem GUI
> seitig, ist aufwändiger als du denken würdest

Für Windows oder für Linux?
Bei Windows gibt es ja zur Not das GDI - während bei Linux nicht ganz 
sicher ist, für welche Plattform eigentlich. Bietet sich ja eigentlich 
an, mal was mit Rust zu versuchen, aber da muss ich erstmal schauen..
(oder irgendwie was mit html? 
(https://stan-kondrat.github.io/js-hex-editor/?path=/story/hexeditor-docs--page))

Cyblord -. schrieb:
> Ich habe den Eindruck gerade Leute wie Rbx

Ich habe den Eindruck, das so Leute wie Cyblord mit viel zu hohen und 
unrealistischen Erwartungen ankommen - was hinsichtlich der 
Softwareentwicklung kein so fremdes Erleben ist.
Bleib mal auf dem Teppich Alter.

von Cyblord -. (cyblord)


Lesenswert?

Rbx schrieb:
> Cyblord -. schrieb:
>> Kannst ja mal versuchen. Das wirklich gut zu machen, vor allem GUI
>> seitig, ist aufwändiger als du denken würdest
>
> Für Windows oder für Linux?

Spielt keine Rolle. Mein Aussage ist universell korrekt.

> Bei Windows gibt es ja zur Not das GDI - während bei Linux nicht ganz
> sicher ist, für welche Plattform eigentlich. Bietet sich ja eigentlich
> an, mal was mit Rust zu versuchen, aber da muss ich erstmal schauen..

Oh ja dann schau mal....
Klingt wirklich so als wärst du gleich morgen fertig. Wenn du erst mal 
noch OS und Sprache sorgfältig auswählen musst. Bist ein Typischer 
Schwätzer.

> Ich habe den Eindruck, das so Leute wie Cyblord mit viel zu hohen und
> unrealistischen Erwartungen ankommen

Was meinst du mit unrealistische Erwartungen?
Grade ging es noch um MINIMALFUNKTIONEN. Jetzt ist das schon 
unrealistisch?

DEINE Aussage war doch:

> Eigentlich kann man sich einen einfachen Hexeditor auch selber schreiben
> bzw. programmieren. So schwierig ist das nicht..

: Bearbeitet durch User
von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

An euren Taten soll man euch messen, nicht an euren Worten!

von Norbert (der_norbert)


Angehängte Dateien:

Lesenswert?

Rbx schrieb:
> Für Windows oder für Linux?
> Bei Windows gibt es ja zur Not das GDI - während bei Linux nicht ganz
> sicher ist, für welche Plattform eigentlich.

Da muss man nichts entwickeln.
›ghex‹ ist bereits fertig und Einsatzbereit.

von Falk B. (falk)


Lesenswert?

Wolfgang R. schrieb:
> An euren Taten soll man euch messen, nicht an euren Worten!

In der Tat! ;-)

von Günter L. (Firma: Privat) (guenter_l)


Lesenswert?

von Cyblord - schrieb:
>Die Minimalfunktion eines HEX Editors ist die Byteweise Darstellung von
>Daten

Das geht in Linux am einfachsten im Befehlsfenster
mit der Befehlszeile:

xxd -u -g1 Datei.bin

Und wenn man da drinn irgendwelche Bytes änder will,
dann macht man:

xxd -u --g1 Datei.bin > Datei.bin.txt

Und nimmt einen beliebigen Texteditor und
bearbeitet die Datei "Datei.bin.txt".

Und macht anschließend daraus wieder eine
echte Binärdatei mit:

rm Datei.bin
xxd -r Datei.bin.txt Datei.bin

Dagegen ist aber Intel-HEX was ganz anderes.
Diese Datei ist zwar auch mit einen Texteditor lesbar,
enthält aber zusätzliche Prüfsummeninformationen.

https://de.wikipedia.org/wiki/Intel_HEX

von Marci W. (marci_w)


Lesenswert?

Rbx schrieb:
> Bei Windows gibt es ja zur Not das GDI - während bei Linux nicht ganz
> sicher ist, für welche Plattform eigentlich. Bietet sich ja eigentlich
> an, mal was mit Rust zu versuchen, aber da muss ich erstmal schauen..
> (oder irgendwie was mit html?

Gegen das GDI programmiert heute kein Mensch mehr. Und was bitte hat 
Rust mit dem Thema UI zu tun? Da hat man mal das Wort "Rust" 
aufgeschnappt, und dass es der neue heiße Scheiß sei, da kann man es ja 
einfach mal in die Runde werfen <kopfschüttel>

btw.: unter Linux gibt es mehrere Optionen. z.B. Qt, wxWidgets, SWT 
etc.;
dann kann man natürlich auch heute noch in Java entwickeln, mit JavaFX 
als GUI-Framework. Auch für Python gibt es einige UI-Frameworks bzw. 
API-Layer. Oder dann halt direkt als Web-Anwendung. Allerdings würde ich 
das auch aktuell eher nicht in Betracht ziehen.

ciao

Marci

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.