Autor Beitrag
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18838
Erhaltene Danke: 1654

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 15.05.19 06:38 
user profile iconssb-blume hat folgendes geschrieben Zum zitierten Posting springen:
Übrigens, Dein Property-Editor, da könnte man ja noch verschiedene andere Dateien von Windows (wie auch wav usw.) auseinander nehmen.
Das wäre auch mein Wunsch komplexere Strukturen auseinanderzunehmen.

Denn aktuell habe ich dafür kleine eigene Tools, aber die kommen natürlich bei Weitem nicht an HxD heran. Ich werde mir auch das Plugininterface einmal anschauen. Wünschen würde ich mir, dass ich quasi z.B. eine Recorddefinition in Pascal parsen und dann mit Hilfe des Interfaces auf die Binärdaten werfen kann. ;-)
mael Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 194
Erhaltene Danke: 34


Delphi XE3 Prof.
BeitragVerfasst: Do 23.05.19 19:20 
Strukturdefinitionen sind geplant und ich hatte einige Ansätze. Fertiges gibt es bisher nicht, aber ist definitiv als Erweiterung der Dateninspektors geplant.

P.S.: Int24/UInt24 sind jetzt in der Entwicklerversion drin.

Für diesen Beitrag haben gedankt: ssb-blume
ssb-blume
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 373
Erhaltene Danke: 7

XP, W7, W8
Deutschland
BeitragVerfasst: Fr 24.05.19 08:29 
Vielen Dank für die schnelle Implementation!

Und wo ist der Download?
(ich meine 1. Post: siehe letzten Post)

Hansi

_________________
Brain: an apparatus with which we think we think.
mael Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 194
Erhaltene Danke: 34


Delphi XE3 Prof.
BeitragVerfasst: Do 30.05.19 11:57 
Es ist nur die Entwicklerversion, daher gibt es kein öffentliches Release (anderes ist noch im Fluss).

Wenn es dringend ist, kann ich dir aber einen Link schicken.
ssb-blume
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 373
Erhaltene Danke: 7

XP, W7, W8
Deutschland
BeitragVerfasst: Fr 31.05.19 07:42 
OK, ich warte.
Hansi

_________________
Brain: an apparatus with which we think we think.
mael Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 194
Erhaltene Danke: 34


Delphi XE3 Prof.
BeitragVerfasst: Mo 03.06.19 07:53 
mh-nexus.de/downloads/HxDDevelDeu.zip

Hier ist die aktuelle Entwicklerversion, falls du Testen möchtest. Die enthaltene Textdatei ist auch nötig, ist wie gesagt noch eine Entwicklerversion, und nicht alles fertig.
mael Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 194
Erhaltene Danke: 34


Delphi XE3 Prof.
BeitragVerfasst: Mo 03.06.19 07:55 
Irgendwie kann ich meinen Beitrag nicht mehr editieren.

Ich wollte nach anfügen. Der Int24 Datentyp sollte korrekt funktionieren, auch wenn es eine Entwicklerversion ist.
ssb-blume
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 373
Erhaltene Danke: 7

XP, W7, W8
Deutschland
BeitragVerfasst: Mo 03.06.19 08:54 
Danke, habe HxD geladen.
Das Navigieren ist zwar schön, wenn man den Start weiß, aber dann müßte man noch den Inhalt haben.

Am Besten, im Dateninspektor noch eine Spalte mit diesem Wert einfügen.

Frage: Was wird nun aus uns allen, wen die Entwicklerecke schließt????

Hansi

_________________
Brain: an apparatus with which we think we think.
ssb-blume
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 373
Erhaltene Danke: 7

XP, W7, W8
Deutschland
BeitragVerfasst: Mo 03.06.19 08:58 
Au Backe, habe doch nicht richtig angesehen. Wert ist ja da!
Bitte nur meine Dank akzeptieren, den Rest wegschmeißen.

Hansi

_________________
Brain: an apparatus with which we think we think.
mael Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 194
Erhaltene Danke: 34


Delphi XE3 Prof.
BeitragVerfasst: Mo 03.06.19 08:59 
user profile iconssb-blume hat folgendes geschrieben Zum zitierten Posting springen:
Das Navigieren ist zwar schön, wenn man den Start weiß, aber dann müßte man noch den Inhalt haben.

Am Besten, im Dateninspektor noch eine Spalte mit diesem Wert einfügen.

Welchen Inhalt? Ich bin mir nicht ganz sicher was du meinst, aber der Int24-Eintrag erscheint ganz unten. Falls nicht, Rechtsklick auf Dateninspektor, Optionen..., und dort Zurücksetzen drücken.

Die Navigation ist um array-artig durch Daten zu gehen, ohne diese als festes Array zu definieren. Bzw. um zum Ende eines Datentyps zu springen. Besonders bei variablen Typen wie x86 Assembly oder UTF-8 Codepoints nützlich.

Da die EE wohl in absehbarer Zeit schließt: Man kann mich in Zukunft auch weiter über meine Webseite ( mh-nexus.de ) erreichen, per Forum oder Mail, oder die Delphipraxis (je nachdem wie lange diese noch besteht).

Was die EE und die Community angeht wird es natürlich trotzdem schade sein :/

Für diesen Beitrag haben gedankt: Tastaro
mael Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 194
Erhaltene Danke: 34


Delphi XE3 Prof.
BeitragVerfasst: Sa 06.07.19 17:09 
Version 2.3 von HxD ist nun verfügbar.

Changelog und Download befinden sich wie bisher auf meiner Seite.
mael Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 194
Erhaltene Danke: 34


Delphi XE3 Prof.
BeitragVerfasst: Fr 28.02.20 18:01 
Version 2.4 von HxD ist nun verfügbar.

Changelog und Download befinden sich wie bisher auf meiner Seite.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18838
Erhaltene Danke: 1654

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 29.02.20 08:12 
Danke dafür. :zustimm:

Ich habe das Pluginframework ausgecheckt, das Delphi-Beispiel kompiliert, die DLL in den Plugins-Ordner gelegt, aber dann kommt diese Meldung:
Zitat:
---------------------------
Hxd
---------------------------
Eine oder mehrere notwendige Funktionen werden nicht vom Plugin "C:\Program Files\HxD\Plugins\DataInspectorPluginExample.dll" exportiert.
---------------------------
OK
---------------------------
mael Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 194
Erhaltene Danke: 34


Delphi XE3 Prof.
BeitragVerfasst: Sa 29.02.20 11:21 
Meine Vermutung wäre dass es ein Problem mit der "Bittigkeit" der DLL und HxD war. Es müssen beide 32 Bit oder 64 Bit sein. Wenn man sie mischt kommt diese Fehlermeldung.

Wäre natürlich schöner wenn eine klarere Fehlermeldung käme, aber probier mal ob es das Problem für dich löst. HxD sagt unter Hilfe|Info wieviel Bit es ist.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18838
Erhaltene Danke: 1654

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 01.03.20 21:59 
user profile iconmael hat folgendes geschrieben Zum zitierten Posting springen:
Meine Vermutung wäre dass es ein Problem mit der "Bittigkeit" der DLL und HxD war. Es müssen beide 32 Bit oder 64 Bit sein. Wenn man sie mischt kommt diese Fehlermeldung.
Stimmt, daran hatte ich nicht gedacht. Danke.
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1216
Erhaltene Danke: 102

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: Mo 02.03.20 08:09 
Hallo,

wenn du die Plugins dynamisch lädst könntest Du vorher im dll/PE Header nachsehen ob es 32 oder 64 Bit ist.

Übrigens, HxD ist ein wirklich hilfreiches Tool was mir schon einige Male weitergeholfen hat.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Jetzt rächt sich die Natur und tötet uns.
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2413
Erhaltene Danke: 44

Windows 10 Home
Delphi 10.1 Starter, Delphi 10.3 Community Edition, Lazarus 2.0.6
BeitragVerfasst: Mo 02.03.20 21:12 
user profile iconSinspin hat folgendes geschrieben Zum zitierten Posting springen:
Übrigens, HxD ist ein wirklich hilfreiches Tool was mir schon einige Male weitergeholfen hat.
Dem kann ich mich nur anschliessen! Unverzichtbar.

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
mael Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 194
Erhaltene Danke: 34


Delphi XE3 Prof.
BeitragVerfasst: Di 03.03.20 14:44 
Vielen Dank für das Feedback :)


user profile iconSinspin hat folgendes geschrieben Zum zitierten Posting springen:
wenn du die Plugins dynamisch lädst könntest Du vorher im dll/PE Header nachsehen ob es 32 oder 64 Bit ist.

Habe ich direkt danach eingebaut und noch ein paar weitere Prüfungen (wird beim nächsten Mal mitveröffentlicht).
mael Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 194
Erhaltene Danke: 34


Delphi XE3 Prof.
BeitragVerfasst: Do 21.05.20 17:23 
Ich arbeite seit einiger Zeit an UTF-8 Support und an Unicode-Text-Ausgabe. Das Thema, alleine das Fontrendering, ist erstaunlich komplex, besonders wenn man verschiedene Ausgabeformen für einen Hexeditor beachten muss, z.B. um Zeichen einzeln auszugeben und complex shaping (wie es von einigen nicht lateinischen Schriftsystemen verwendet wird) zu unterstützen bzw. selektiv zu deaktivieren.

Dann kommt noch die Färbung und die Mischung von verschiedenen Schriftarten, und variable Zeichenbreite bzw. Text in verschiedenen Schreibrichtungen dazu.

Ein Teil davon ist hier dokumentiert forum.mh-nexus.de/vi...c.php?f=4&t=1004 falls jemand einen Blick reinwerfen will.

Jedenfalls wird wohl die nächsten Wochen eine Alpha-Version erscheinen. Eventuell auch zuerst ein allgemeines Textsteuerelement bevor es im Hexeditor erscheint.

Sinn ist es z.B. auch #0 Zeichen eingeben zu können oder einzelne Zeichen wie ein kombinierendes Diaresis (wie Umlaut, nur auf beliebigen Zeichen). Dadurch kann der Dateninspektor dann wirklich alle Chars richtig anzeigen, bzw. Strings die #0 oder Steuerzeichen enthalten. Steuerzeichen werden dann so ähnlich wie in SciTE oder Notepad++ angezeigt.

Im Laufe der Zeit habe ich auch viel von der umfassenden Unicode-Dokumentation gelesen, um rauszufinden wo sichere Grenzen sind beim Segmentieren von Byte-Streams, so dass die Textausgabe nicht variiert, je nach länge des gelesenen Abschnitts (kann z.B. bei BiDi-Texten, bzw. durch formatierenden Steuerzeichen, aber auch durch kombinierende Zeichen ergeben).

Dann habe ich mich mit Schriftarten beschäftigt und wie sie aufgebaut sind, die OpenType-Dokumentation gelesen, um feinere Details von Uniscribe (API zum Ausgeben von Unicode-Text, mit mehr Kontrolle) zu verstehen. Aber auch das detaillierte Mapping von Chars nach Glyphs, habe ich mir angesehen und damit experimentiert. Es ist keine 1-zu-1-Abbildung ist, sondern wird durch Ligaturen, positionssensitive Formen (z.B. Arabisch), oder Umordnung und kontextuelle Ersetzung von Zeichen deutlich komplexer als was man normalerweise von einem Hexeditor bzw. eine einfachen Zeichentabelle erwartet.

Zusammen mit einer sinnvollen Abbildung zwischen Bytes und Zeichen, die auch nicht 1-zu-1 ist, sind viele kleine Details auch bei der Benutzerführung wichtig, damit man trotz dieser Änderung den Hexeditor noch "versteht".

Erstaunlicherweise, ist eine richtige und stabile Textausgabe recht kompliziert, besonders wenn man nicht wie bei Texteditoren von sinnvollen Unterteilungen wie Zeilen ausgehen kann.

Das Feature wird viel kleiner wirken als der Aufwand dahinter, es wird halt Text sein, nur jetzt in allen möglichen Sprachen die Unicode unterstützt. Trotzdem freue ich mich ein bisschen wenn es endlich soweit ist :)

Für diesen Beitrag haben gedankt: Gausi, Narses, Nersgatt
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8472
Erhaltene Danke: 446

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 22.05.20 08:35 
user profile iconmael hat folgendes geschrieben Zum zitierten Posting springen:
Das Feature wird viel kleiner wirken als der Aufwand dahinter, es wird halt Text sein, nur jetzt in allen möglichen Sprachen die Unicode unterstützt.

Wenn man gelegentliche Nachrichtenmeldungen verfolgt, dass die Messenger von *Egalwem* abstürzen können und dabei das ganze Betriebssystem mit runterreißen können (bei Smartphones), wenn man bestimmte Zeichenfolgen verschickt, dann bekommt man auch als interessierter Laie eine kleine Vorstellung davon, dass das irgendwie nicht ganz so einfach sein kann. :wink:

Das Vorhaben hört sich sehr interessant an. Ob dieser Umfang noch zum eigentlichen Aufgabenbereich eines Hex-Editors gehört, mag dahingestellt sein. Aber HxD hat ja ohnehin schon ein paar Features, die darüber hinausgehen. :zustimm:

Hab ich bestimmt schonmal geschrieben: Danke für das tolle Stück Software. Ich nutze das regelmäßig, wenn ich Probleme beim Verarbeiten von Binärdateien habe, aus denen ich Texte rausziehen muss, gerne auch in verschiedenen Kodierungen.

Das bekloppteste, das ich in dem Kontext mal gesehen habe war die Kodierung "zeichenweise nullterminiert UTF-16 mit BOM". Also 6 Byte pro Zeichen. Für englischen Text. :autsch: :lol:

_________________
We are, we were and will not be.