VB 2008 - Brauche Hilfe mit binarywriter.write()

J

jannik93

Hallo Leute,

ich weiß nicht ob ich hier richtig bin, wenn nicht, einfach verschieben...

Ich habe folgendes Problem:

Dim bw As New System.IO.BinaryWriter(File.Open("AnyDVDtray.exe", FileMode.Open))
bw.BaseStream.Position = "&H00000740"
bw.Write(" HIDDEN TEST ")
bw.Close()

So kann man ja einen String einer Binary überschreiben. Leider will ich eine einen HexWert ändern, weiß jemand, wie das funktioniert? Es sieht so aus als wäre ich dich dran..

Jannik93
 
Code:
        Dim bw As New System.IO.BinaryWriter(File.Open("Project1.exe", FileMode.Open))
        Dim hex As Byte = "006E060D4A3EC7857CD30E0074657374"
        bw.BaseStream.Position = "&H00000740"
        bw.Write(hex)
        bw.Close()
        Me.Close()

Funktioniert nicht...

Ungültige Konvertierung von der Zeichenfolge 006E060D4A3EC7857CD30E0074657374 in Typ Byte.
 
Jo klar. Deine Hex-Zahl ist ja auch länger als 1 Byte, und ausserdem noch ein String.

Also wäre in deinem Fall ein Byte-Array angebracht. Wenn deine Bytes immer die selben sind, kannst das Array auch statisch befüllen.

Visual Basic:
Dim bytes as Byte() = New Byte() {  &H00, &H6E, &H06, &H0D, ...   }

bw.Write(bytes)

So irgendwie.. ;)

Ich hoff die Schreibweise von Hex-Zahlen in VB.net ist so wie ichs gemacht hab..
 
o man ist das kompliziert geht das nicht einfacher ... ^^

und Vb kürzt auch die bytes ab -.- z.B. &H00 wird zu &H0
 
Was ist denn daran so schwer, sind ja nur 16 Zeichen-Paare? Ein paar hab ich dir ja auch schon abgeschrieben.

Ja, macht ja nichts ob &H0 oder &H00 steht, 0 ist 0.. ;)
 
okay ich werds nachher mal probieren. danke. :)

Edit:\\

Hat geklappt, super. DANKE, endlich kann ich Patches machen...

Ich haben einen String, den man vorher in einer Textbox eingetippt hat. Wie wandle ich diesen String nach Hex um...

Wäre echt nett, wenn sich jemand die Mühe machen würde und mind. eine Frage zu beantworten!

Dankeschön,

Jannik93
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

wie sieht denn nun der fertige code aus?
Ich hab das ganze auch mal versucht, jedoch wird meine datei dann auf das ungefähr 3 fache aufgepumpt und ich denke die richtigen Bytes hat er auch nicht überschrieben.
Kann da jemand mal den fertigen code posten?
Danke!
 
Zurück