2 Stimmen

Wie kann ich Binärdateien (exe) in "Delphi" öffnen, wie in Visual Basic?

In Visual Basic kann ich eine Binärdatei (exe) wie folgt öffnen:

Strx$ = Space(FileLen(FileName))
Open FileName For Binary As #1
  Get #1, , Strx$
Close

Auf diese Weise kann ich alle Binärdateizeichen lesen und den Dateiinhalt in diesem Format lesen:

alt text
(Quelle: <a href="http://up.iranblog.com/Files/4b97136a8452414b97b1.png" rel="nofollow noreferrer">iranblog.com</a>)

und die Frage ist, wie kann ich eine Binärdatei (exe) in Delphi im Stringformat (wie ein Bild) öffnen und nicht im 0,1 (Binär) Format?

Vielen Dank!

2 Stimmen

Was genau möchtest du tun? Vielleicht können wir etwas Besseres vorschlagen, denn das Öffnen einer Binärdatei als Text wird höchstwahrscheinlich nichts lösen.

0 Stimmen

Eine häufigere Möglichkeit, dies zu tun, wäre die Verwendung eines Hex-Viewer/Editor-Komponente anstelle von einfachem Dumping von Inhalten auf den Bildschirm, die nicht lesbar sind.

6voto

Robert Love Punkte 12109

EXE-Dateien enthalten eingebettete NULL (#0)-Zeichen. Möglicherweise treten Probleme auf, wenn Sie Zeichenfolgen verwenden, da NULL typischerweise am Ende der Zeichenfolge gefunden wird. Einige Routinen funktionieren nicht mehr richtig, sobald das NULL-Zeichen auftritt.

Davon abgesehen würde das Folgende den Inhalt einer Datei in eine Zeichenfolge einlesen.

function GetFileIntoString(FileName : String) : String;
var
 SS : TStringStream;
begin
  SS := TStringStream.Create('');   
  try
    SS.LoadFromFile(FileName);
    result := SS.DataString;
  finally
    SS.Free;
  end;
end;

1voto

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X