Lesbaren Text aus Binärdatei extrahieren?

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Luke_Scriptwalker
Posts: 2
Joined: 07 Mar 2019, 08:26

Lesbaren Text aus Binärdatei extrahieren?

07 Mar 2019, 08:51

Hallo,

ich möchte lesbaren Text (etwa A-Z, a-z, äöüÄÖÜ !?.,;: " ') aus einer Binärdatei extrahieren.

Ein USB-Stick ist plötzlich nicht mehr ansprechbar. Undelete-Programme, auch Testdisk, haben nichts gebracht. Mit einem der Programme habe ich den rohen Inhalt in eine Datei exportiert. Mit "Strings" aus der Sysinternals Suite habe ich festgestellt, daß darin lesbarer ASCII-Text enthalten ist.

Mit Turbo-C hatte ich einmal ein Umwandlungsprogramm für EBCDIC-Texte (IBM Textprogramme) in ASCII geschrieben. Bei Turbo-C gab es meines Wissens eine Funktion, die Dateien zeichenweise lesen bzw. schreiben konnte. Bei AutoHotkey finde ich so etwas nicht, nur zeilenweises Lesen.

Ich habe bisher hauptsächlich mit dem alten AutoHotkey (ASCII bzw. ANSI) etwas programmiert. Das neue AutoHotkey für Unicode habe ich nur ausnahmsweise verwendet, da es sich mit den alten Scripten nicht immer verträgt.

Kann mir jemand einen Tip geben oder weiterhelfen?


Viele Grüße

Luke_Scriptwalker
just me
Posts: 6483
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Lesbaren Text aus Binärdatei extrahieren?

07 Mar 2019, 10:53

Moin,

wenn Du Binärdateien wirklich zeichenweise bzw. byteweise einlesen willst, hilft Dir das File-Objekt. Nach einem erfolgreichen

Code: Select all

File := FileOpen(Dateiname, Flags , Codierung)
kannst Du mit

Code: Select all

Byte := File.ReadUChar()
die Bytes nacheinander einlesen.

Alternativ kannst Du auch mit

Code: Select all

File.RawRead(Var, File.Length)
die komplette Datei einlesen und mit einer Schleife wie

Code: Select all

Loop, % File.Length {
	Byte := NumGet(Var, A_Index - 1, "UChar")
	...
}
abarbeiten.

Die zweite Methode arbeitet auch ohne File-Objekt:

Code: Select all

FileRead, Var, *c Dateiname
FileGetSize, Size, Dateiname

Vielleicht ist auch das interessant: BinStrings( ) - Extract Strings From Binary
Last edited by just me on 08 Mar 2019, 02:16, edited 1 time in total.
Ahk_fan
Posts: 69
Joined: 31 Aug 2018, 14:34

Re: Lesbaren Text aus Binärdatei extrahieren?

07 Mar 2019, 15:17

:bravo: cool, das hilft auch mir weiter!!!
regards,
AHK_fan :)
Luke_Scriptwalker
Posts: 2
Joined: 07 Mar 2019, 08:26

Re: Lesbaren Text aus Binärdatei extrahieren?

08 Mar 2019, 09:13

Hallo,

@just me: Vielen Dank für Deine schnelle Antwort! :thumbup:

Offenbar hast Du damit auch einem weiteren User geholfen.

Ich werde mal versuchen damit zurechtzukommen. Mit der Syntax und den Befehlen von AutoHotkey habe ich manchmal Probleme, insbesondere bei Strings. AutoHotkey weicht manchmal doch etwas von C ab. Falls die Funktionen bei mir nicht vorhanden sind, muß ich eventuell eine aktuellere Version auf meinem Netbook installieren. Wenn es bei den vorhandenen Scripts damit Probleme gibt, kann ich die neuen ja kompilieren und die kompilierte Fassung aufs Notebook mit dem alten AutoHotkey kopieren.


Viele Grüße

Luke_Scriptwalker :wave:

P.S. Mit der "alten Version" meine ich "AutoHotkey Basic" und mit der neuen "AutoHotkey_L". Letztere hatte ich einmal installiert, um Unicode-Texte zu bearbeiten. Mit AutoHotkey_L gab es aber bei einigen Funktionen von AutoHotkey Basic Probleme, wie es auch im Read.me beschrieben war.
User avatar
Scr1pter
Posts: 1069
Joined: 06 Aug 2017, 08:21
Location: Germany

Re: Lesbaren Text aus Binärdatei extrahieren?

08 Mar 2019, 19:19

Genialer Name übrigens :bravo:
Jetzt brauchen wir nur noch Darth_Scripter :lol:

Von mir auch ein Danke an just me, da mir das ebenfalls hilft :thumbup:

Grüße
Please use code tags when posting code!
Keyboard: Logitech G15 FE - Mice: Logitech G9 FE, G502 FE, G602 - OS: Windows 10 Pro 64 Bit - AHK version: 1.1.29.00

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 11 guests