Delphi-PRAXiS
Seite 22 von 41   « Erste     12202122 232432     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   HxD - schneller Hexeditor, Disk-Editor und RAM-Editor (https://www.delphipraxis.net/39594-hxd-schneller-hexeditor-disk-editor-und-ram-editor.html)

Junior22 1. Apr 2008 20:57

Re: HxD - schneller Hexeditor, Disk-Editor und RAM-Editor
 
Hallo mael :roll:
Du wann kann man mit der englischen version 1.7.5 rechnen? bzw solltest du mal deine hp auf aktuelsten stand bringen.
Habe dein Programm in einem forum postet und die dachten es währe ein april schertz meiner seitz.
Ps Ein super Tools nutze ich nur^^

mael 2. Apr 2008 00:29

Re: HxD - schneller Hexeditor, Disk-Editor und RAM-Editor
 
Auf meiner Website ist absichtlich noch nicht die neuste Version verfügbar (zumindest nicht über einen Link), weil ich erst noch abwarten wollte ob Fehlermeldungen kommen bevor ich die neue Version "ganz groß" veröffentliche.

In ein paar Tagen sollte es aber soweit sein, ich schreibe dann hier nochmal rein.

_frank_ 11. Apr 2008 09:40

Re: HxD - schneller Hexeditor, Disk-Editor und RAM-Editor
 
so wie es aussieht kann ich im Ram-Modus nicht mehr suchen.
hab den explorer-prozess geladen und einfach bei suchen nach textstring+unicode gesucht...es passiert nix...keine Meldung "nicht gefunden" und kein Treffer. beim schließen des Prozesses eine AV.

was noch schön wäre...wenn man ne zweite instanz startet, dass die erste instanz restored wird.

Gruß Frank

mael 11. Apr 2008 12:38

Re: HxD - schneller Hexeditor, Disk-Editor und RAM-Editor
 
Zitat:

Zitat von _frank_
so wie es aussieht kann ich im Ram-Modus nicht mehr suchen.
hab den explorer-prozess geladen und einfach bei suchen nach textstring+unicode gesucht...es passiert nix...keine Meldung "nicht gefunden" und kein Treffer. beim schließen des Prozesses eine AV.

Danke, habe ich auch schon gemerkt und korrigiert. Vielleicht kommt heute noch ein Update.

Zitat:

Zitat von _frank_
was noch schön wäre...wenn man ne zweite instanz startet, dass die erste instanz restored wird.

Wurde aktiviert aber nicht wiederhergestellt. Jetzt auch korrigiert.

werwiewas 13. Apr 2008 10:30

Re: HxD - schneller Hexeditor, Disk-Editor und RAM-Editor
 
Hallo Mael,

ich habe eine kurze Anmerkung und Bitte für die nächste "offizielle" Version von HxD:

Das Kopieren von Zeilenumbrüchen in die Zwischenablagae funktioniert nicht (1.7.5 Deutsch). Statt #10 / #13 / #13#10 erhalte ich einfach nur die '.' Punkte aus der Ansicht.

Es wäre besser, stattdessen den Inhalt byte-genau zu kopieren, so daß es möglich ist, einzelne Abschnitte aus großen Binärdateien auch schnell über die Zwischenablage zu extrahieren.

Mögliche Alternative: Export -> Binär in Zischenablage.

Meinungen?

mael 14. Apr 2008 14:03

Re: HxD - schneller Hexeditor, Disk-Editor und RAM-Editor
 
Hallo WerWieWas :-)
Zitat:

Zitat von werwiewas
Das Kopieren von Zeilenumbrüchen in die Zwischenablagae funktioniert nicht (1.7.5 Deutsch). Statt #10 / #13 / #13#10 erhalte ich einfach nur die '.' Punkte aus der Ansicht.

Es wäre besser, stattdessen den Inhalt byte-genau zu kopieren, so daß es möglich ist, einzelne Abschnitte aus großen Binärdateien auch schnell über die Zwischenablage zu extrahieren.

Die Zeilenumbrüche und andere Steuerzeichen wie Tabulatorzeichen sollten wohl besser erhalten bleiben, das stimmt.
Eine Binärkopie wird es aber nicht werden, da z.B. auch #0-Zeichen vorkommen können und die Windows-Zwischenablage den Text bei einem Nullzeichen abschneidet. Außerdem wird auch der Zeichensatz beachtet (z.B. DOS/OEM anstatt ANSI), also ist es keine wirkliche Binärkopie (das macht aber nichts, da die Bytedaten sowieso zusätzlich kopiert werden). Es geht also sowieso nur um die Textrepräsentation z.B. für den Austausch mit Texteditoren oder um es in der Text-Suche zu verwenden. Beim Kopieren und Einfügen innerhalb HxDs geht nichts verloren.

Das einzige Problem, daß ich bei dieser Umstellung sehe wäre, daß im DOS/OEM-Zeichensatz alle Steuerzeichen außer #0 als spezielle Symbole dargestellt werden wie unter DOS üblich, #13 ist z.B. ein Notenzeichen. Ich denke es ist sinnvoll zu kopieren, daß es so weit wie möglich der Darstellung am Bildschirm entspricht. Punkte sind nur Platzhalter, sie können also problemlos durch die echte Darstellung (sprich Zeilenumbruch) beim Kopieren in die Zwischenablage "ersetzt" werden. Aber das Notenzeichen für #13 z.B. ist nicht nur ein Platzhalter, sondern wird tatsächlich im DOS/OEM-Zeichensatz so dargestellt, ich kann es also nicht einfach durch einen Zeilenumbruch ersetzen.

Die beste Idee die ich bis jetzt dazu habe ist es optional zu machen ob Steuerzeichen (wie #13, #10, etc.) als Steuerzeichen erhalten bleiben, oder Sonderzeichen darzustellen wenn der Zeichensatz es anbietet.

Eine Frage stellt sich noch: Falls Nullzeichen, die nicht als Nullzeichen kopiert werden können, vorkommen, soll der Text an der Stelle abgeschnitten werden oder das Nullzeichen als Punkt(=Platzhalter) in die Zwischenablage kopiert werden?

xZise 14. Apr 2008 15:26

Re: HxD - schneller Hexeditor, Disk-Editor und RAM-Editor
 
Hi mael,
ich weiß nicht ob diese Bitte schon gestellt wurde, aber wäre es möglich ein "Hex to Dec" bzw. "Dec to Hex" Feld einzubauen? So ähnlich wie manche Suchen (z.B. Firefox oder TV Browser).

MfG
xZise

werwiewas 15. Apr 2008 11:11

Re: HxD - schneller Hexeditor, Disk-Editor und RAM-Editor
 
Zitat:

Zitat von mael
Die Zeilenumbrüche und andere Steuerzeichen wie Tabulatorzeichen sollten wohl besser erhalten bleiben, das stimmt.

Danke, freut mich zu lesen.

Zitat:

Zitat von mael
Eine Binärkopie wird es aber nicht werden, da z.B. auch #0-Zeichen vorkommen können und die Windows-Zwischenablage den Text bei einem Nullzeichen abschneidet.

Das stimmt so nicht: Es ist nicht die Windows Zwischenablage, die den Text abschneidet, sondern der Editor, der den Text einfügen. Ich will hier keine Werbung machen, aber es gibt Editoren, die #0 inkl. anschließendem Text problemlos einfügen.

Zitat:

Zitat von mael
Außerdem wird auch der Zeichensatz beachtet (z.B. DOS/OEM anstatt ANSI), also ist es keine wirkliche Binärkopie (das macht aber nichts, da die Bytedaten sowieso zusätzlich kopiert werden).

Binär <> Zeichensatz! Die 100% Binärkopie ist absolut wichtig, z.B. um Blöcke aus 10 MB XML Dateien zu extrahieren und Parser zu testen.

Zitat:

Zitat von mael
Es geht also sowieso nur um die Textrepräsentation z.B. für den Austausch mit Texteditoren oder um es in der Text-Suche zu verwenden. Beim Kopieren und Einfügen innerhalb HxDs geht nichts verloren.

Mir geht es eben genau nicht um die Textrepräsentation, sondern um binär ohne wenn und aber! :wink:

Alternativ habe ich versucht, aus HxD heraus zu kopieren und in eine neue, leere Datei in HxD einzufügen. Leider geht das nicht, solange die neue Datei noch wirklich leer ist. Fehlermeldung: Ungültige Hex-Werte.

Aber ich will hier bestimmt nicht meckern: HxD ist schon jetzt ein tolles Programm!

mael 15. Apr 2008 14:10

Re: HxD - schneller Hexeditor, Disk-Editor und RAM-Editor
 
Zitat:

Zitat von xZise
wäre es möglich ein "Hex to Dec" bzw. "Dec to Hex" Feld einzubauen?

Ja, ist geplant :-)

Zitat:

Zitat von werwiewas
Zitat:

Zitat von mael
Eine Binärkopie wird es aber nicht werden, da z.B. auch #0-Zeichen vorkommen können und die Windows-Zwischenablage den Text bei einem Nullzeichen abschneidet.

Das stimmt so nicht: Es ist nicht die Windows Zwischenablage, die den Text abschneidet, sondern der Editor, der den Text einfügen. Ich will hier keine Werbung machen, aber es gibt Editoren, die #0 inkl. anschließendem Text problemlos einfügen.

Das Problem ist, daß der Speicher den man über GlobalAlloc für die Kopie in der Zwischenablage reservieren muß größer sein kann als angefordert (Also für "Text" brauche ich 4 oder 5 Bytes (falls Nullzeichen mitkopiert wird), es werden tatsächlich aber 16 Bytes reserviert). In der WinAPI-Dokumentation steht zu GlobalAlloc "The size of a memory block may be larger than the size requested when the memory was allocated.". D.h. entweder enthält das Zwischenablagenformat eine Größenangabe (Bei Bitmaps ist das z.B. Teil des Formats) oder man verwendet GlobalSize um die Anzahl der Bytes zu ermitteln die man aus der Zwischenablage lesen soll. GlobalSize wird aber wie gesagt eventuell mehr zurückgeben als eigentlich reserviert und geschrieben wurde, am Ende stehen also eventuell uninitialisierte Daten. Um zu verhindern daß diese zusätzlichen Daten mit eingefügt werden wird bei Text das #0-Zeichen als Ende-Zeichen verwendet. Dazu gibt es daher keine Alternative. Wäre in Windows das CF_TEXT Format so definiert worden, daß die ersten vier Bytes z.B. die Länge des Textes angeben gäbe es diese Problem nicht, aber da kein aktuelles Programm diese Längenangabe erkennen würde hat dies auch keinen Sinn.

Zum Ansehen der Zwischenablage (mit allen Bytes in "Rohform") habe ich mal was Kleines gemacht: http://mh-nexus.de/downloads/RawClipView.exe (Unter Windows XP liefert GlobalSize normalerweise die "richtigen" Werte, aber es ist nicht garantiert, daß dies immer und in jeder Windows-Version so ist).


Zitat:

Zitat von werwiewas
Zitat:

Zitat von mael
Außerdem wird auch der Zeichensatz beachtet (z.B. DOS/OEM anstatt ANSI), also ist es keine wirkliche Binärkopie (das macht aber nichts, da die Bytedaten sowieso zusätzlich kopiert werden).

Binär <> Zeichensatz!

Sicher, "Binär <> Zeichensatz". Lade mal irgendeine Datei in HxD, dann kopiere (in der Textspalte!) einen Teil, einmal mit ANSI-Zeichensatz einmal mit DOS-Zeichensatz, und füge beides in einen Unicode-fähigen Editor ein, z.B. Wordpad/Notepad. Die gleichen Daten werden also zu verschiedenem Text übersetzt und das ist auch so gewollt.

Zitat:

Zitat von werwiewas
Die 100% Binärkopie ist absolut wichtig, z.B. um Blöcke aus 10 MB XML Dateien zu extrahieren und Parser zu testen.

Es gibt keine Möglichkeit Binärkopien zwischen verschiedenen Programmen zuverlässig über die Zwischenablage auszutauschen, weil das Textformat CF_TEXT vom aktuellen Windows-Zeichensatz abhängig ist und CF_UNICODETEXT zwei Bytes pro Zeichen verwendet. Die einzige Möglichkeit ist eine Folge von Hex-Zeichen die dann wieder zurückkonvertiert werden können.

Das ändert nichts daran, daß HxD zusätzlich eine Binärkopie anlegt, d.h. wenn man innerhalb HxD's kopiert und einfügt bekommt man eine identische Kopie. (Texteditoren können mit "Binärdaten" nicht viel anfangen, denn Text ist immer von einem Zeichensatz abhängig, daher halte ich diese Implementierung für sinnvoll).

Zitat:

Zitat von werwiewas
Mir geht es eben genau nicht um die Textrepräsentation, sondern um binär ohne wenn und aber!

Zwischen Programmen, abgesehen von Hexeditoren die eine Folge von Hex-Zeichen verstehen ist das nicht machbar. Innerhalb HxDs einfach kopieren und einfügen (strg+c/strg+v) und es sollte eine identische Kopie gemacht werden (unabhängig vom Zeichensatz). Was in der Windows-Zwischenablage als Text steht ist dann unerheblich.

Zitat:

Zitat von werwiewas
Alternativ habe ich versucht, aus HxD heraus zu kopieren und in eine neue, leere Datei in HxD einzufügen. Leider geht das nicht, solange die neue Datei noch wirklich leer ist. Fehlermeldung: Ungültige Hex-Werte.

Dann muß man auf die Hex-Spalte gehen und von dort kopieren. Falls HxD nicht zwischenzeitlich geschlossen wurde sollte das aber gar nicht passieren (da noch in der internen Zwischenablage).
Wie genau bist Du vorgegangen? Z.B. Kopiert, dann im Texteditor XY bearbeitet, dann wieder eingefügt. Oder kopiert, HxD geschlossen, wieder in HxD eingefügt.

mael 16. Apr 2008 14:00

Re: HxD - schneller Hexeditor, Disk-Editor und RAM-Editor
 
Nach langer Zeit ist nun wieder eine stabile Version fertig (Version 1.7.5 war noch unvollständig).

Änderungen für Version 1.7.6:
  • Neue Fähigkeiten
    • HxD bietet nun ein Installationsprogramm oder kann als portable/tragbare Version verwendet werden.
    • Die tragbare Version ist für USB-Sticks und ähnliche Wechseldatenträger gedacht (Konfiguration wird in eine INI-Datei im Anwendungsverzeichnis gespeichert, vorher wurde die Registry verwendet).
    • Dateien können nun gleichzeitig in anderen Anwendungen geöffnet werden: Dateien werden nur solange offen gehalten wie absolut notwendig und erst nach der ersten Veränderung für andere Anwendungen gesperrt (und wird wieder entsperrt nachdem gespeichert wurde). Ist eine Datei temporär von einer anderen Anwendung gesperrt wird der aktuell sichtbare Ausschnitt aus einem internen Cache gelesen.
  • Verbesserungen
    • Numerische Eingaben sind jetzt flexibler, eine strenge Gültigkeitsprüfung findet erst statt wenn das Textfeld verlassen wird, während der Eingabe werden nur ungültige Zeichen herausgefiltert (so ist es jetzt z.B. möglich temporär den gesamten Text zu löschen bzw. größere Zahlen als eigentlich erlaubt einzugeben was das editieren und kopieren&einfügen erleichtert).
    • Auswahl in der inaktiven Spalte ist nun auch gefüllt und sieht aus wie eine Art Schleier (ist weniger stark hervorgehoben als aktive Spalte)
    • Sektorposition erscheint nun auch innerhalb des Hexeditor-Fensters, ähnlich der Offsetspalte.
    • Falls eine Datei nicht geöffnet werden kann wird gefragt ob wieder versucht oder abgebrochen werden soll (nützlich gerade wenn die Datei sich auf einem Wechselmedium befindet).
    • Es wird nun darauf hingewiesen, daß für den Disk-Editor Administratorrechte benötigt werden.
    • Maus-Markieren funktioniert jetzt in allen Fällen mit gefalteten Zeilen und erzeugt kein Flackern beim Scrollen.
    • Neben dem Öffnen-Symbol gibt es einen Pfeil um letzte geöffnete Dateien anzuzeigen.
    • Unlesbare Abschnitte (wie z.B. im RAM-Editor vorhanden) werden insgesamt besser behandelt (speziell beim Suchen oder allgemeinen Operationen die solche Abschnitte gesondert beachten müssen).
  • Korrekturen
    • Fix: Vorkommen des Suchmusters die mit dem Pufferende überlappen wurden nicht gefunden.
    • Fix: Zugriffe auf Registry funktionierten nicht mit eingeschränkten Benutzerkonten.
    • Fix: Zum Lesezeichen springen (strg+0..9) setzte zwar die Einfügemark richtig scrollte sie aber nicht in den sichtbaren Bereich.
    • Fix: Probleme mit gefalteter Zeile falls Bytes pro Zeile = 1 ist: der Einfügemauszeiger erschien nur über Text- bzw. Hexbereich, sollte aber über der gefalteten Box erscheinen (egal ob Hex/Text-Bereich größer oder kleiner als die gefaltete Box ist).
    • Fix: Öffnen von nicht existenter Datei erzeugt Zugriffsverletzungen, außerdem gab es dadurch Darstellungsfehler der MDI-Kindfenster.
    • Fix: Position der Einfügemarke wurde nach Löschen/Ausschneiden nicht sofort aktualisiert.
    • Fix: Falls HxD zum Explorer-Kontextmenü hinzugefügt wurde, wurde das System nicht darüber informiert (Kontextmenü war dadurch nicht immer aktuell).
    • Fix: Doppelklick in unlesbarem Abschnitt (Überall Fragezeichen, z.B. im RAM-Editor) markierte ein Wort obwohl es keine zu markierende Daten gab.
    • Fix: Beim Versuch in Datenströme, deren Größe nicht geändert werden kann (also RAM, Disk), einzufügen oder Teile zu löschen wurde gefragt ob man der Größenänderung zustimmt, obwohl solche Operationen sowieso nicht erlaubt und abgebrochen wurden.
    • Fix: Beim Einfügen am Ende einer Datei gab es eine Fehlermeldung (nur Version 1.7.5 betroffen).
    • Fix: Suche zeigt keinen Fortschritt an wenn im RAM-Editor => das Programm wird träge und man bekommt keine Rückmeldung (nur Version 1.7.5 betroffen).
Wie üblich viele weitere kleinere Verbesserungen und Korrekturen die hier nicht im Einzelnen aufgezählt werden.

Es gibt nun wie gesagt ein portable und installierbare Version, beide können von meiner Seite runtergeladen werden.
Download: http://mh-nexus.de/downloads.php?product=HxD


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:38 Uhr.
Seite 22 von 41   « Erste     12202122 232432     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz