AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte HxD - schneller Hexeditor, Disk-Editor und RAM-Editor

HxD - schneller Hexeditor, Disk-Editor und RAM-Editor

Ein Thema von mael · begonnen am 4. Feb 2005 · letzter Beitrag vom 11. Feb 2021
Antwort Antwort
Seite 34 von 41   « Erste     24323334 3536     Letzte » 
Benutzerbild von mael
mael
Registriert seit: 13. Jan 2005
Neue Version 2.4 (28.2.2020), siehe letzten Post

Links setzen
Wem mein Programm HxD gefällt, der kann gerne einen Link auf meine Seite ( http://mh-nexus.de/hxd/ ) setzen.

Beschreibung
HxD ist ein schneller Hexeditor, den ich jetzt schon eine Zeit lang entwickle.

Den Hexeditor habe ich komplett selbst geschrieben, er basiert nicht auf einem TCustomGrid oder Ähnlichem. (Also alles außer ToolBar2000/TBX und den Digests (SHA-1, MD-5,...))

Kurzer Funktionsüberblick:
  • Öffnen/Bearbeiten von Dateien beliebiger Größe (auch > 4GB)
  • Diskeditor zum direkten Lesen/Schreiben auf Festplatten, Disketten, USB-Sticks,... (WinNT und Win9x)
  • RAM-Editor zum Lesen/Schreiben des virtuellen Arbeitsspeichers anderer Prozesse/Programme (inkl. Data-Folding)
  • Schnelle Suchfunktion für Text (inkl. Unicode), Hex-Werte, Ganze Zahlen oder Gleitkommazahlen
  • Ersetzenfunktion (schnell, auch für Millionen Ersetzungen)
  • Bytes einfügen/Bereich füllen
  • Dateien zerlegen/verketten
  • Dateien sicher löschen
  • Dateivergleich (einfach)
  • Exportieren in verschiedene Formate, darunter Pascal, C, Java oder auch Intel Hex, Motorola SX Records
  • Ansicht in verschiedenen Zeichensätzen (ANSI, DOS, EBCDIC, Macintosh)
  • Gruppierung von Bytes
  • Nur Hex- oder nur Text-Modus
  • Prüfsummen-Generator: Checksum, CRC, Custom CRC und Digests SHA-1, MD-5, ...
  • Hervorhebung von veränderten Daten
  • und mehr (siehe auch Webseite)
Heute (04.02.2005) habe ich gerade die erste stabile Version veröffentlicht und würde mich über Tests und Vorschläge (natürlich auch Lob ) freuen.

ACHTUNG:
Verwende den Schreibmodus des Diskeditors nur wenn Du genau weißt was Du tust! Man kann leicht durch falsches Editieren der Festplatte ein System unbootbar machen.

http://mh-nexus.de/de/graphics/MiniShotHxD.png

Download portable und installierbare Version 2.4.0.0: http://mh-nexus.de/de/downloads.php?product=HxD20

Updates (Download oben):
Also dann schreibt mal eifrig

Geändert von mael (28. Feb 2020 um 12:21 Uhr)
 
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#331
  Alt 19. Jan 2016, 09:47
Kommst du überhaupt in diesen Größenbereich?

RAM und Festplatten/Dateigrößen im Bereich von paar Exabyte.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#332
  Alt 19. Jan 2016, 11:51
Zitat:
Aber das Problem ist auch die Rückkonvertierung, also aus der aktuellen Position der ScrollBar die Position innerhalb der Datei zu bestimmen.
Moment. Um den Fortschritt anzeigen zu können, musst du doch schon vorher wissen an welcher Position du in der Datei bist. Was muss man da wieder zurück konvertieren? Oder habe ich hier jetzt ein Verständnisproblem?
Michael
  Mit Zitat antworten Zitat
Benutzerbild von mael
mael

 
Delphi XE3 Professional
 
#333
  Alt 19. Jan 2016, 16:24
Zitat:
Aber das Problem ist auch die Rückkonvertierung, also aus der aktuellen Position der ScrollBar die Position innerhalb der Datei zu bestimmen.
Moment. Um den Fortschritt anzeigen zu können, musst du doch schon vorher wissen an welcher Position du in der Datei bist. Was muss man da wieder zurück konvertieren? Oder habe ich hier jetzt ein Verständnisproblem?
Ich bin da vielleicht etwas konfus in meiner Beschreibung. Fortschrittsanzeige und ScrollBars haben nicht direkt was miteinander zu tun, haben nur verwandte Probleme insofern dass ich Gleitkommazahlen benötige.

Wenn ich mit der ScrollBar Thumbtracking mache (also diesen "Schieber" die Leiste entlangbewege -- Hey! Schiebeleiste wäre doch eine gute Übersetzung für ScrollBar... naja Bildlaufleiste gibt es ja schon, oder Rollleiste wäre eine Idee, hört sich aber komisch an, dann wäre der "Schieber" ein "Roller"... Übersetzungen sind immer so eine Sache ).

Also, wenn man den "Schieber" die Bildlaufleiste entlangbewegt kann man so eine Art wahlfreien Zugriff (random access) auf die Datei erzeugen. Abhängig davon wo man den Schieber mit der Maus hinbewegt und wie schnell kann es deutliche Sprünge von TScrollBar.Position geben. Man kann also nicht wie beim Klicken der "Hoch"/"Runter"-Knöpfe oder Scrollen per Mausrad schrittweise inkrementieren und so das Problem umgehen.

Also muss sowas in der Art berechnet werden:
DateiPosition := Round(ScrollBar.Position * Skalierungsfaktor);
Kommst du überhaupt in diesen Größenbereich?

RAM und Festplatten/Dateigrößen im Bereich von paar Exabyte.
Ist natürlich ein berechtigter Einwand. Hätte halt gerne vermieden solche Abschätzungen machen zu müssen ab wann ich Probleme mit Doubles bekomme.

Theoretisch ist die Grenze des virtuellen Arbeitsspeichers 8 EiB, praktisch ist er momentan unter Windows bei 8TiB bzw. 128 TiB (Memory Limits for Windows and Windows Server Releases).
D.h. momentan sind alle virtuellen Adressen <= $800000000000 (128TiB). $8000000000000000 (8EiB) ist $10000 mal größer als 128TiB. 128TiB würde also wohl noch in einen Double passen. Hmm, wäre also zumindest für den Moment kein Problem. Zukunftssicher wäre natürlich schöner.

P.S.: Man kann die hohen Adressen auch nicht in den meisten Fällen ignorieren da dort die System-Dlls geladen werden oder auch Programme vom Speicherallozierer fordern können Speicher in hohen Adressen zu bekommen (also vom Maximum abwärts "wachsend").

Geändert von mael (19. Jan 2016 um 16:48 Uhr) Grund: Falscher Wert für 128TiB angegeben
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#334
  Alt 19. Jan 2016, 16:37
In Windows ist bei 16/128 TB (44/48 Bit) scheinbar einfach so Schluß, auch wenn 64 Bit mehr könnte.
https://msdn.microsoft.com/de-de/lib...#memory_limits

[edit] ups, nicht fertig gelesen und schon angefangen mit schreiben .... aber so als Bestätigung



Du kannst auch die Maus nur um ganze Pixel verschieben, so dass selbst in FMX die unscharfen Fließkommapixel nix helfen.

Geändert von himitsu (19. Jan 2016 um 16:41 Uhr)
  Mit Zitat antworten Zitat
Medium

 
Delphi 2007 Enterprise
 
#335
  Alt 19. Jan 2016, 19:20
Du kannst auch die Maus nur um ganze Pixel verschieben, so dass selbst in FMX die unscharfen Fließkommapixel nix helfen.
Nicht ganz richtig. Wenn man einen LowLevel-Hook auf die Maus macht, bekommt man deren Koordinaten immer im Intervall 0..65535. Das ist was intern immer als Basis benutzt wird. Für die Benutzung in höheren Schichten wird das dann erst auf die Desktopgrenzen gemapped.

(Interessant wird das, wenn Desktops mit real mehr als 32767 Pixeln in Breite oder Höhe gebraucht werden, weil dann wird nach Shannon-Nyquist (bei linearem Mapping und naiver Rundung) nicht mehr jeder Pixel garantiert abbildbar )
  Mit Zitat antworten Zitat
Benutzerbild von mael
mael

 
Delphi XE3 Professional
 
#336
  Alt 3. Feb 2016, 14:19
Ich dachte schon ich hätte nun so gut wie alles durchgesehen, da ist mir aufgefallen dass die Logik für Locking/Sharing von Dateien/Disks noch unvollständig war.

Es funktioniert zwar, aber so dass sie permanent acquired/released werden, was zu unheimlichen Lags führt. War schon Jahre her dass ich diesen (damals unfreiwillig unbeendeten Teil) geschrieben hatte, und daher nicht mehr klar.

Kurz gesagt: mehr Design ist notwendig um das abzuschließen :/

Aber die nächste Version kommt auf jeden Fall, das wird jetzt bis zum Schluss durchgezogen.

(P.S.: Entschuldigung für das Denglisch.)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#337
  Alt 3. Feb 2016, 16:00
So lange es noch in diesem Jahrtausend kommt, ist doch alles in Ordnung.

Ansonsten solltest du schon mal langsam Three-State-Quantenbits implementieren. (True, False, Maybe )
  Mit Zitat antworten Zitat
Benutzerbild von mael
mael

 
Delphi XE3 Professional
 
#338
  Alt 3. Feb 2016, 18:21
So lange es noch in diesem Jahrtausend kommt, ist doch alles in Ordnung.

Ansonsten solltest du schon mal langsam Three-State-Quantenbits implementieren. (True, False, Maybe )
Das sollte sich einrichten lassen, ebenso wie ein paar Heisenbugs
  Mit Zitat antworten Zitat
Delphi-Laie

 
Delphi 10.1 Berlin Starter
 
#339
  Alt 4. Feb 2016, 16:08
Aber die nächste Version kommt auf jeden Fall, das wird jetzt bis zum Schluss durchgezogen.
Was heißt das - ist eine Ende abzusehen?

Oder ist der "Schluss" aus heutiger Sicht offen?
  Mit Zitat antworten Zitat
Benutzerbild von mael
mael

 
Delphi XE3 Professional
 
#340
  Alt 4. Feb 2016, 17:20
Aber die nächste Version kommt auf jeden Fall, das wird jetzt bis zum Schluss durchgezogen.
Was heißt das - ist eine Ende abzusehen?

Oder ist der "Schluss" aus heutiger Sicht offen?
Das heißt dass das Ende abzusehen ist, aber länger dauert als ich vermutet habe und ich gerne hätte dass es schneller geht
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr.
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