Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#345

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

  Alt 29. Feb 2016, 20:52
ich möchte jetzt keine neuen Fehler einführen.
Och menno.

Zitat:
HxD wurde nicht installiert und wird damit automatisch in einer portablen Art arbeiten, so daß es auf Wechselmedien wie USB-Sticks verwendet werden kann. Damit dies funktioniert muß eine Konfigurationsdatei im Anwendungsverzeichnis von HxD erstellt werden die für alle Benutzer gilt. Falls Sie HxD in einer Mehrbenutzerumgebung verwenden oder eine Integration in das Betriebssystem wünschen (z.B. Explorer-Kontextmenü) ist eine Installation vorzuziehen.

Konfigurationsdatei im Anwendungsverzeichnis erstellen um HxD portabel zu machen?
Hab auf Abbrechen gedrückt und dachte ich kann erstmal so...
Hätte mir also eher ein  [Ja] [Nein] oder  [Ja] [Nein] [Abbrechen] gewünscht, wo das Programm bei "Nein" auch ohne gespeicherte Settings läuft. (es soll noch Leute geben, die CDs benutzen oder USB-Sticks mit Schreibschutz )

Werden das mit der Zeit so viele Settings, dass die in ein Unterverzeichnis müssen? (geschrieben stand auch "Programmverzeichnis" und nicht "Unterverzeichnis" )
Das in der .lang war so viel, dass es nicht in die .ini passte?

PS: Das HxD Hex Editor.lang wird schon vor diesem Dialog gespeichert.

Zitat:
Nicht lesbare Bereiche ausblenden
Wäre schön, wenn man das im Menü Ansicht nochmal hätte. (vielleicht als 2 Menüpunkte, Lesbares einblenden und Nichtlesbares Ausblenden, am Besten aus den selektierten bereich, wenn z.B. mehr als 100 Byte markiert sind)
Und ausblenden vielleicht als "ganz weg" und nicht nur zusammengeklappt.

Suchen nur in angezeigten/aufgeklappten Bereichen.

Es gibt auch "Sparse-Files", bei denen Teile der Datei nicht "real" auf der Platte existieren. (ReadFile liest da immer nur Nullen aus)
Prinzipiell vergleichbar mit den "nichtlesbaren" RAM-Bereichen.

Beim Ändern von Bytes in PAGE_EXECUTE* ein FlushInstructionCache ausführen?

Strg+Runter/Hoch > springe zum nächsten/vorherrigen Bereich
Strg+Shift+Runter/Hoch > markiere bis zum Ende/Anfang des Bereichs (bzw. wenn schon am Anfang/Ende, dann den ganzen nächsten Bereich)

---

Du bist also jetzt fertig und hast die nächsten Jahrzehnte nix mehr zu tun?
Hätte ich mir schon immer was zur Prozessanzeige (RAM) gewünscht.

Was zuerst gut wäre: Ein DUMP, also 'nen Snapshot des RAM speichern und später wieder laden, samt der Metainformationen.
HDD-Abbilder werden auch mit Metainfos gespeichert? (Größe der Sektoren, Name der Platte/Partition usw.)

Dann vielleicht noch ein bissl Farbe und Trennung in die Anzeige?
  • Trennlinie zwischen die Bereiche
  • nichtlesbare Bereiche gräulich hinterlegt

.
.
.

Aber voll geil wären Metainfos zu den einzelnen RAM-Bereichen (da helfe ich auch gern)
Bzw. die Sektoren bei Festplatten/Dateien "Sektor 2 (Byte 00020000 bis 0002FFFF)"
  • angefangen mit VirtualQueryEx
    • MEM_COMMIT MEM_RESERVE MEM_FREE MEM_PRIVATE MEM_MAPPED (kann man schön farblich machen ... abgesehn von FREE besser nur als Streifen am Rand)
    • EXE und DLL sind oft als MEM_MAPPED+PAGE_EXECUTE_WRITECOPY in den RAM gemappt
      • Kann man hier irgendwie rausfinden, ob Bytes einer geladenen EXE/DLL "manipuliert" sind?
  • ModulName (EXE, DLL, Named-MMF)
    • wenn man ganz hart drauf ist, kann man auch die PE-Header auslesen und bei EXE/DLL die Sektionen der Module/Dateien mit anzeigen
      • TImageFileHeader TImageOptionalHeader TImageSectionHeader TImageExportDirectory TImageDataDirectory uvm. (Windows.pas)
      • Start-/Einsprungadresse, #CODE-Section, #DATA-Section, Resource-Section, Sprung-Tabellen der importierten DLL-Funktionen, ...
    • und die ganz harten, würden dann noch die Debuginfos suchen und Code-Adressen der einzelnen Funktionen/Bezehle suchen
  • man wird bestimmt auch irgendwie die Stacks aller Trhreads suchen/markieren können
  • Speicher manipulieren (erweitert)
    • VirtualProtectEx, VirtualAllocEx, VirtualFreeEx
    • PAGE_EXECUTE PAGE_EXECUTE_READ PAGE_EXECUTE_READWRITE PAGE_EXECUTE_WRITECOPY PAGE_GUARD PAGE_NOCACHE

Wenn man diese Metainfos hat, dann könnte man das "Nicht lesbare Bereiche ausblenden" bestimmt nützlich noch erweitern.
  • zeige nur Module (EXE/DLL) an
  • zeige nur veränderte Module (EXE/DLL) an
  • zeige nur "RAM" an (ohne Modul-Abbilder und MMFs)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (29. Feb 2016 um 21:20 Uhr)
  Mit Zitat antworten Zitat