hexflex
Goto Top

VB Buffer Bytes ersetztn

HAllo,

Ich lese eine Exe Datei in Buffer() ein.

Nun würde ich gerne Den Inhalt von Buffer() verändern.

Also zb alle "a" mit "b" ersetzen.

Mit Replace() ist dis nicht möglich da der Buffer ja ein Byte ist.

Hat jemand eine Idee wie ich das realisieren könnte??

Mfg,

HExflex

Content-Key: 55967

Url: https://administrator.de/contentid/55967

Printed on: April 23, 2024 at 15:04 o'clock

Member: bastla
bastla Apr 06, 2007 at 15:49:14 (UTC)
Goto Top
Hallo hexflex!

Einmal von Replace() abgesehen, existieren ja von den meisten String-Funktionen auch die Byte-Pendants (etwa AscB(), ChrB(), MidB(), InstrB(), ...)

Damit müsste sich eine Schleife etwa folgender Art schreiben lassen (habe ich allerdings noch nie versucht):
For i = 1 To LenB(Buffer)
    If AscB(MidB(Buffer, i, 1)) = AscB("a") Then MidB(Buffer, i, 1) = ChrB(AscB("b"))  
Next

Grüße
bastla

[Edit] Überzählige Klammer vor letztem "=" entfernt [/Edit]
Member: hexflex
hexflex Apr 06, 2007 at 19:54:09 (UTC)
Goto Top
Hallo bastla!

Vielen Dank für deine Antwort!

Hat super Funktioniert!

Mfg,

HexFlex
Member: bastla
bastla Apr 06, 2007 at 20:01:01 (UTC)
Goto Top
Hallo Hexflex!

Nur interessehalber: Tut's auch die folgende einfache Form:
For i = 1 To LenB(Buffer)
    If MidB(Buffer, i, 1) = "a" Then MidB(Buffer, i, 1) = "b"  
Next

Grüße
bastla
Member: Biber
Biber Apr 07, 2007 at 07:35:52 (UTC)
Goto Top
...und unabhängig davon würden mich drei Punkte interessieren:

1) Was versuchst Du, @hexflex, gerade inhaltlich?
Im Original einer .exe-Daei zu ändern hat für mich irgendwie einen merkwürdigen Beiklang...
2) Warim liest Du die .exe nicht als Stream ein, d.h. liest eine Sourcedatei und schreibst eine Zieldatei?
3) das "Ich lese eine Exe Datei in Buffer() ein. Nun würde ich gerne Den Inhalt von Buffer() verändern." war also wirklich nur ein Tippfehler und kein undokumentiertes VBS-Feature? *g

Gruss
Biber
Member: hexflex
hexflex Apr 07, 2007 at 08:38:33 (UTC)
Goto Top
Hallo Bieber,

Ich Versuche die EXE datei So zu verändern das sie nicht mehr ausführbar ist,
Danach eine eigene EXE vor die Originale Datei zu schiben, welche bei ausführung ein Password verlangt, und dann, wen es richtig ist, die EXE datei wieder "Entschlüsselt" und temporär erstellt und ausführt.

Daran, die EXE als Steam einzulesen habe ich auch noch nicht gedacht, Danke für den Tipp

VBS lässt grücken *gg*

@ bastla : Noch mal Danke für die Tipps