la funcion que tu me as dejado ya la estaba utilizando 'Convert.FromBase64String' esto hace la funcion si no me equivoco
Código
Private Sub ThreadWork() 'Dim LoadedBytes As Byte() = My.Resources.Encrypt Dim LoadedBytes As String = Application.StartupPath & "\Encrypt.exe" Dim MyApp As Byte() = Convert.FromBase64String(Base64_To_String(LoadedBytes)) Dim ExecutingAssemblyPath As String = String.Empty ExecutingAssemblyPath = Application.StartupPath Dim MyAssembly As System.Reflection.Assembly = System.Reflection.Assembly.Load(MyApp) MyAssembly.EntryPoint.Invoke(Nothing, Nothing) End Sub Private Function Base64_To_String(ByVal str As String) As String Return System.Text.Encoding.Default.GetString(Convert.FromBase64String(str)) End Function
y con esto encrypto Test.exe para pasarlo a Encrypt.exe,esto si lo e sacado de un crypter...pero mi intencion no es hacer un crypter
si no,poder desencryptar Encrypt.exe y ejecutar esos byte en el Assembly.Load,ya que esa funcion crea un proceso en memorya si no
me equivoco
Código
Imports System Imports System.Text Imports System.Windows.Forms Public Class Form1 Dim FileNameOriginal As String = Application.StartupPath & "\Test.exe" Dim FileNameEncrypt As String = Application.StartupPath & "\Encrypt.exe" Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim FileOk, NameOk As String FileOpen(1, Application.StartupPath & "\Test.exe", OpenMode.Binary, OpenAccess.Read) FileOk = Space(LOF(1)) FileGet(1, FileOk) FileClose(1) FileOpen(1, NameOk & "Encrypt.exe", OpenMode.Binary, OpenAccess.ReadWrite) FilePut(1, String_To_Base64(FileOk)) FileClose(1) End Sub Private Function String_To_Base64(ByVal str As String) As String Return Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(str)) End Function End Class
no se que lechugas hago mal,no lo se,igual tendria que añadir algo mas?
si como lo e planteado no esta bien agradeceria que me organizaces un poco el code
Un saludo para el Foro