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-ID: 55967

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

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

bastla
bastla 06.04.2007 um 17:49:14 Uhr
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]
hexflex
hexflex 06.04.2007 um 21:54:09 Uhr
Goto Top
Hallo bastla!

Vielen Dank für deine Antwort!

Hat super Funktioniert!

Mfg,

HexFlex
bastla
bastla 06.04.2007 um 22:01:01 Uhr
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
Biber
Biber 07.04.2007 um 09:35:52 Uhr
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
hexflex
hexflex 07.04.2007 um 10:38:33 Uhr
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