Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: lessionone en 16 Noviembre 2011, 22:06 PM

Título: Codigo stub que no funciona bien, ¿por qué?
Publicado por: lessionone en 16 Noviembre 2011, 22:06 PM
Hola buenas, he cogido un codigo fuente de un crypter en visual.net pero por alguna razon cuando lo ejecuto se carga el ejecutable.
Os pongo el codigo:
Importo una libreria y dentro de un form1 se hacen dos procedimientos: El load y el encryptado rc4

Imports System.Text
Public Class Form1

Procedimiento load

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim password As String = "indetectables"
       TextBox1.Text = "C:\Users\Administrador\Desktop\a.exe"
       Dim filein, filename, stub As String
       filename = "C:\Users\Administrador\Desktop\asd.exe"
       FileOpen(1, TextBox1.Text, OpenMode.Binary, OpenAccess.Read, OpenShare.Default)
       filein = Space(LOF(1))
       FileGet(1, filein)
       FileClose(1)
       FileOpen(1, Application.StartupPath & "\Stub.exe", OpenMode.Binary, OpenAccess.Read, OpenShare.Default)
       stub = Space(LOF(1))
       FileGet(1, stub)
       FileClose(1)
       FileOpen(1, filename, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default)
       FilePut(1, stub & "atomarvientos" & rc4(filein))
       FileClose(1)
       Me.Close()
 End Sub

la funcion rc4 que devolvera un string a añadir al stub y "atomarvientos"

      Public Function rc4(ByVal message As String) As String
       Dim password As String = "yo"
       Dim i As Integer = 0
       Dim j As Integer = 0
       Dim cipher As New StringBuilder
       Dim returnCipher As String = String.Empty
       Dim sbox As Integer() = New Integer(256) {}
       Dim key As Integer() = New Integer(256) {}
      Dim a As Integer = 0
       While a <= 255
           Dim ctmp As Char = (password.Substring((a Mod 2), 1).ToCharArray()(0)) 'ES UN 2 PORQUE LA PASSWORD ES DE 2 CARACTERES(YO)
           key(a) = Asc(ctmp)
           sbox(a) = a
           System.Math.Max(System.Threading.Interlocked.Increment(a), a - 1)
       End While
       Dim x As Integer = 0
       Dim b As Integer = 0
       While b <= 255
           x = (x + sbox(b) + key(b)) Mod 256
           Dim tempSwap As Integer = sbox(b)
           sbox(b) = sbox(x)
           sbox(x) = tempSwap
           System.Math.Max(System.Threading.Interlocked.Increment(b), b - 1)
       End While
       a = 1
       While a <= message.Length
           Dim itmp As Integer = 0
           i = (i + 1) Mod 256
           j = (j + sbox(i)) Mod 256
           itmp = sbox(i)
           sbox(i) = sbox(j)
           sbox(j) = itmp
           Dim k As Integer = sbox((sbox(i) + sbox(j)) Mod 256)
           Dim ctmp As Char = message.Substring(a - 1, 1).ToCharArray()(0)
           itmp = Asc(ctmp)
           Dim cipherby As Integer = itmp Xor k
           cipher.Append(Chr(cipherby))
           System.Math.Max(System.Threading.Interlocked.Increment(a), a - 1)
       End While
       returnCipher = cipher.ToString
       cipher.Length = 0
       Return returnCipher

   End Function


End Class

¿Ya se que falta el stub pero aun asi deberia de modificar el ejecutable pero no cargarselo verdad?