AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hex Daten?

Ein Thema von youuu · begonnen am 1. Aug 2009 · letzter Beitrag vom 1. Aug 2009
Antwort Antwort
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#1

Hex Daten?

  Alt 1. Aug 2009, 18:20
Hi,

wenn ich mit einen HexEditor z.B den Arbeistspeicher auslese, bekomm ich z.B. solche Daten angezeigt: Siehe anhang

Was genau bedeuten Sie?
Bzw. wie kann ich diese eigentlich übersetzen?
Miniaturansicht angehängter Grafiken
unbenannt_497.jpg  
Steven
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Hex Daten?

  Alt 1. Aug 2009, 18:39
Ja was sie bedeuten kommt auf das Programm an und welche Daten es an dieser Stelle grade liegen hat ...
also eine pauschale Aussage, was diese Bedeuten und wie man sie eventuell übersetzen kann, kann man nicht definieren.


Aber links hast du bei diesem Editor die Hexadezimaldarstellung der Bytes im RAM und rechts daneben die Ansicht in irgendeinem Zeichensatz (z.B. als Ansi).
und ganz links steht die Speicheradresse des ersten Bytes jeder Zeile.


Wenn man jetzt weiß was das gescannte Programm an dieser Stelle liegen hätte, dann könnte man es auch übersetzen/interpretieren.
$2B or not $2B
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Hex Daten?

  Alt 1. Aug 2009, 19:05
Wie kann man herraus bekommen was das Programm dort abgelegt hat?
Steven
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Hex Daten?

  Alt 1. Aug 2009, 19:07
Wie meinst du "dort abgelegt"?
Markus Kinzler
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Hex Daten?

  Alt 1. Aug 2009, 19:07
Zitat von himitsu:

Wenn man jetzt weiß was das gescannte Programm an dieser Stelle liegen hätte, dann könnte man es auch übersetzen/interpretieren.
Das hatte ich gemeint.
Steven
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Hex Daten?

  Alt 1. Aug 2009, 19:19
Ja also, wenn du weißt, was das Programm intern wie macht, dann ist es recht einfach, ansonsten (abgesehn die Daten sind sehr offensichtlich) ist es schwer rauszubekommen, was dort grade liegt.

Man geht da eher andersrum ... also man weiß von was man die Position wissen will und weiß womöglich wie dieses im Speicher aussieht und sucht dieses dann.

Es sind immerhin ein paar Millionen Byte im RAM eines Programmes unterwegs, da kann man garnicht (nur sehr schwer) rausbekommen was nun was zu bedeuten hat.

Aber um mal zu dem gezeigen Speicherausschnitt zu kommen, daß ist meißtens ein Speicerblock von Windows, wo es dem Programm z.B. mitteils mit welchen Parametern es gestartet wurde und wie der Block der Environment-Variablen aussieht, welche dem Programm mitgegeben wurden usw.


Ach ja, und denk blos nicht, daß etwas Gefundenes immer an der selben Stelle zu finden ist ... der Speicher ist (bis auf gewisse Ausnahmen und selbst diese haben nur eine Wunschadresse, wo sie hinwollen, wenn da noch Platz ist) dynamisch und sieht sozusagen jedesmal anders aus.
$2B or not $2B
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Hex Daten?

  Alt 1. Aug 2009, 19:59
Ah ok, aber wie ist es hm Beispiel such. Ahja z.B. Das Programm Speichert z.B. eine Datei ab.

Wie soll ich im Arbeitsspeicher danach suchen ob nun wirklich etwas gespeichert wurde?
Steven
  Mit Zitat antworten Zitat
Benutzerbild von mael
mael

Registriert seit: 13. Jan 2005
391 Beiträge
 
Delphi XE3 Professional
 
#8

Re: Hex Daten?

  Alt 1. Aug 2009, 20:20
Das wäre eine ausgezeichnete Frage für die Hilfe von HxD (http://www.delphipraxis.net/internal....php?p=1064573). Falls Du noch andere Fragen hast bzgl. HexEditoren wäre ich interessiert, man wird nämlich "betriebsblind" wenn man sowas schon länger verwendet.

Zum Thema:
Die Daten sind einfach nur eine Zahlenfolge (im Hexadezimalsystem) in der mittigen Spalte und Text in der rechten Spalte. Die Textspalte ist da weil häufig Text auch in Programmen oder binären Dateien vorkommen, wenn es allerdings kein Text ist ergibt die Textdarstellung wenig Sinn. Wenn man Glück hat erkennt man bei unkomprimierten Bildern z.B. einige Muster. Öffne z.B. eine BMP oder eine ICO-Datei.

Also, wenn du etwas im RAM-Editor öffnest weißt du automatisch dass es sich um ein Programm handelt das im PE-Format vorliegt (portable executable). Daraus ergibt sich die Struktur und welcher Teil sich wo befindet. In einem besseren Hexeditor (HxD kann das leider noch nicht), würde man also ein paar Navigationshilfen bekommen und wissen welcher Teil was bedeutet (sprich Datentyp und Wert).

Um eine Idee zu bekommen wie soetwas strukturiert aussieht gibt es z.B. Resource Hacker oder PE Resource Explorer. Letzteres Programm zeigt den ".rsrc" Abschnitt sowohl als Hexadezimalzahlen als auch strukturiert dar.
Angehängte Dateien
Dateityp: exe peresourceexplorer_201.exe (1,21 MB, 10x aufgerufen)
HxD, schneller Hexeditor:
http://mh-nexus.de/hxd
  Mit Zitat antworten Zitat
Benutzerbild von mael
mael

Registriert seit: 13. Jan 2005
391 Beiträge
 
Delphi XE3 Professional
 
#9

Re: Hex Daten?

  Alt 1. Aug 2009, 20:34
Zitat von youuu:
Ah ok, aber wie ist es hm Beispiel such. Ahja z.B. Das Programm Speichert z.B. eine Datei ab.

Wie soll ich im Arbeitsspeicher danach suchen ob nun wirklich etwas gespeichert wurde?
Sehr schwer. Das hängt vom Programm ab. Das hat wahrscheinlich irgendwo eine Variable Modified: Boolean die entsprechend gesetzt wird. Aber das kann jedes Programm machen wie es will.
Du könntest nach den Werten False(=0) und True(=1) suchen, aber das wird sehr sehr viele Ergebnisse liefern und daher schwer zu finden sein.
Dazu bräuchte man einen Debugger wie z.B. OllyDebug, der würde einem anzeigen, dass man z.B. die WinAPI WriteFile aufgerufen hat. Es ist dann sehr wahrscheinlich dass das Programm danach in einer Variable speichert das die Datei gespeichert wurde.

Was du aber machen kannst ist folgendes:

Mache ein neues Delphi-Projekt mit einer Form und zwei Buttons. Definiere eine globale Variable Modified: Boolean. In dem einen Button setzt Modified := True, in dem anderen Modified := False.
Starte das Programm und pausiere dann. Per Strg+F7 öffnet sich ein Debugfenster, dort kann man die Adresse von Modified bekommen, indem man "@Modified" eingibt.
Diese Adresse kann man im RAM-Editor verwenden (Gehe zu) um die Speicherstelle für Modified zu bekommen. Wenn du jetzt die Buttons abwechselnd drückst sollte man im RAM-Editor die Veränderungen sehen (eventuell F5 drücken).
HxD, schneller Hexeditor:
http://mh-nexus.de/hxd
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:46 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