Autor
|
Tema: Generar ".exe" Desde un Programa (Leído 7,374 veces)
|
agus0
Desconectado
Mensajes: 360
|
Buenas foro, Bueno, les paso a contar que me gustaría hacer un programa que genere otros programas dependiendo de ciertas variables, es decir, por ejemplo Cuando Uno ejecuta el Programa, este revisa que S.O Tenemos y genera otro programa (.exe) acorde a nuestro S.O, ya teniendo en otro Form y Un Modulo ("Que nunca se ven en el Primer programa") compila el 2º programa editando le algunas cosas dependiendo del S.O. No se si fui claro :S Cualquier cosa Díganme Muchas Gracias P.D: Vi algo en este post pero No Tuvo Respuesta y no lo quise revivir: http://foro.elhacker.net/programacion_visual_basic/como_creo_un_exe_desde_el_propio_vb60-t301853.0.html
|
|
|
En línea
|
|
|
|
fary
|
Segun entendi, lo que quieres hacer no es posible. No puedes correr un .exe en linux, con lo cual no vas a poder comprovar... nose si me entendiste.
salu2!
|
|
|
En línea
|
Un byte a la izquierda.
|
|
|
agus0
Desconectado
Mensajes: 360
|
Segun entendi, lo que quieres hacer no es posible. No puedes correr un .exe en linux, con lo cual no vas a poder comprovar... nose si me entendiste.
salu2!
Bueno ya lo se lo del exe, pero me referia dentro de la gama de sistemas operativos Windows; 98, 2000, Xp, vista, Seven, Etc
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
drinky... Con wine se puede Y... Agus... Lo que pides depende del numero de variables que cambien y su contenido. Anque lo comun es generar un exe generico, incluirlo dentro del generador como un recurso sabiendo los lugares que modificar (con un editor hexadecimal) y cambiar esos valores mientras se guarda el exe final
|
|
|
En línea
|
|
|
|
agus0
Desconectado
Mensajes: 360
|
drinky... Con wine se puede Y... Agus... Lo que pides depende del numero de variables que cambien y su contenido. Anque lo comun es generar un exe generico, incluirlo dentro del generador como un recurso sabiendo los lugares que modificar (con un editor hexadecimal) y cambiar esos valores mientras se guarda el exe final mmm Eso se ve mas difícil, aunque si es la única manera... Como puedo editar el Recurso? es decir el .exe cuando es recurso o primero lo tengo que generar y después editar?
|
|
|
En línea
|
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
generas un exe generico (fijate que tan generico lo puedes hacer, por ahi necesites un exe para cada so o no se) luego con un editor hexadeimal buscas los strings(son mas faciles de encontrar) y guardas su posicion. Lueo, en el programa generador, escribes la copia del exe generico, y "on the fly" o una vez copiado reemplazas las variables... Para hacerlo on the fly, suponiendo q la variable empieza en el byte 100 y mide 4 bytes, copias los 99 bytes iguales, escribes los 4 bytes de la variable cambiada y despues escribes el resto Espero que te sirva
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Puede hacer distintos APP segun el SO con algo similar a esto ( Al estilo C/C++)!¡ #if Criterio then #elseif Critero then #else #end If
entre otros aqui te dejo un ejemplo para el SO: Segun la constante #Const OSVersion = "winV7"
Genera un Proceso distinto sin afectar a los que esten fuera de los #if then... #end if Option Explicit Option Base 0 #Const OSVersion = "winV7" #If OSVersion = "Win9X" Then Private Const versionSO As String = "Windows 9X" Private Function HolaMundo() As String HolaMundo = "Win9X" End Function #ElseIf OSVersion = "WinNT" Then Private Const versionSO As String = "Windows 9X" Private Function HolaMundo() As String HolaMundo = "WinNT" End Function #ElseIf OSVersion = "Win2K" Then Private Const versionSO As String = "Windows 9X" Private Function HolaMundo() As String HolaMundo = "Win2K" End Function #ElseIf OSVersion = "WinXP" Then Private Const versionSO As String = "Windows XP" Private Function HolaMundo() As String HolaMundo = "WinXP" End Function #ElseIf OSVersion = "winV7" Then Private Const versionSO As String = "Windows Vista/Seven " Private Function HolaMundo() As String HolaMundo = "winV7" End Function #Else Private Const versionSO As String = "Error de Compilacion" Private Function HolaMundo() As String HolaMundo = versionSO End Function #End If Private Sub Form_Load() MsgBox versionSO MsgBox HolaMundo End Sub
Dulce Infierno Lunar!¡.
|
|
« Última modificación: 23 Agosto 2010, 14:59 pm por BlackZeroX »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
fary
|
drinky... Con wine se puede Lose, Yo me referia para linux. salu2!
|
|
|
En línea
|
Un byte a la izquierda.
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!! Hola como andan, según lo que tengo visto, se puede compilar código OnTheFly desde vb6 sin un editor Hex, cuando estaba viendo el troyano de MFucker(IbArrA*) tenia la función de enviar un VBscript a la PC infectada, compilarlo, ejecutarlo, y te devolvía una variable. Corrijanme si me equivoco. Aca esta el codigo del compilador: Function Script(ByVal code As String) As String FrmServer.Respuesta = "" Dim o_Script As ScriptControl Set o_Script = New ScriptControl o_Script.Language = "VBScript" o_Script.AddObject "FrmServer", FrmServer On Error GoTo ErrSub: o_Script.AddCode code If FrmServer.Respuesta = "" Then Script = "Code executed without return of data..." Else Script = FrmServer.Respuesta End If Exit Function ErrSub: Script = Err.Description Err.Clear End Function
GRACIAS POR LEER!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
|
|