Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Inyectar exe en otro exe?

Estas en el tema de Inyectar exe en otro exe? en el foro de Visual Basic clásico en Foros del Web. Hola queria saber si alguien podria decirme un source para injectar un exe dentro de otro exe (mostrar un exe dentro de otro) ej un ...
  #1 (permalink)  
Antiguo 08/02/2009, 19:25
 
Fecha de Ingreso: febrero-2009
Mensajes: 1
Antigüedad: 15 años, 10 meses
Puntos: 0
Exclamación Inyectar exe en otro exe?

Hola queria saber si alguien podria decirme un source para injectar un exe dentro de otro exe (mostrar un exe dentro de otro)

ej un bot para un game ubico mi exe auto injectable en x carpeta y al ejecutar el game se auto injecte (en el proceso del juego) y se visualize dentro del game(se abra adentro juego,no en el escritorio).

lo ke aria es verificar si esta el poceso activo cada sierto tiempo,y al ver ke el proceso asignado este activo se auto injecte en el o algo asi + o -,

salu2

Última edición por darkgod89; 09/02/2009 a las 12:06
  #2 (permalink)  
Antiguo 08/02/2009, 23:30
 
Fecha de Ingreso: febrero-2009
Ubicación: Villa Ocampo - Santa Fe
Mensajes: 100
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Inyectar exe en otro exe?

No entiendo tu pregunta, si lo especificas mejor podriamos buscar una solucion juntos
si no es molestia vuelve a formular tu pregunta, mil disculpas, saludos
  #3 (permalink)  
Antiguo 09/02/2009, 12:28
 
Fecha de Ingreso: febrero-2009
Mensajes: 18
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Inyectar exe en otro exe?

mmm.. ¿te refieres a algo parecido, a cómo funcionan los formularios MDI?, pero que al ejecutar un exe externo, esa aplicación se vea dentro de la primera ejecutada?
  #4 (permalink)  
Antiguo 09/02/2009, 13:47
Avatar de Txoco  
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 16 años, 6 meses
Puntos: 7
Respuesta: Inyectar exe en otro exe?

Qué tal?

Te refieres a igual que funciona un virus?

Me imagino que lo que quieres es conseguir algo como lo que hacen los trainers para juegos, que te permiten, por ejemplo, trucar su funcionamiento para tener vidas o munición infinitas.

Es posible en VB, pero necesitas hacer muchas llamadas a la API, saber muy bien (pero que muy bien) cómo funcionan los procesos y sus privilegios y cómo se gestiona la memoria, y debes programarlo con mucho cuidado para que no afecte al funcionamiento del juego... y para evitar pantallazos azules, que con ese tipo de cosas saltan que da (dis)gusto .

En cualquier caso, no necesitas inyectar tu aplicación dentro del otro programa, sólo saber en qué parte de la memoria se está ejecutando (una opción sería ejecutar el trainer y que él lanzase el programa que va a monitorizar).

Y por supuesto, no es posible abrir una aplicación propia dentro de otra de la que no dispones el fuente... sería como querer abrir una habitación dentro de una casa de la que no tienes las llaves (*)

Creo que tenía por ahí unos fuentes que encontré en internet para visualizar el contenido de una región de memoria, voy a buscarlo, que igual te sirve como base, pero no te garantizo nada, ya que me suena que sólo era para ver, no para tocar...


(*) y, o eres cerrajero de los buenos, buenos, o nasti de plasti...
__________________
wile sona li mute e sona
  #5 (permalink)  
Antiguo 09/02/2009, 18:48
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 11 meses
Puntos: 13
Respuesta: Inyectar exe en otro exe?

esta API te puede ayudar: UpdateResource
hace tiempo atras hice uno con vb6.0 pero lamentablemente mi disco ya fue, busca info al respecto sobre esa API
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #6 (permalink)  
Antiguo 10/02/2009, 12:51
Avatar de Txoco  
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 16 años, 6 meses
Puntos: 7
Respuesta: Inyectar exe en otro exe?

UpdateResource no es para código, si no para recursos que estén embebidos en el ejecutable (como el icono o algunos textos, según como esté programado).

Lo que quieres hacer es con la función CopyMemory... no tiene mucha miga, en principio, el ejemplo que te dije es un poco... en fin... creo que tengo alguno mejor, lo postearé aquí en cuanto lo tenga.
__________________
wile sona li mute e sona
  #7 (permalink)  
Antiguo 06/03/2010, 05:09
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Inyectar exe en otro exe?

si lo que quieres es juntar 2 exes en uno puedes hacer un binder.

Adjunto codigo fuente.

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=51867&lngWId=1
  #8 (permalink)  
Antiguo 06/03/2010, 12:33
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 21 años, 1 mes
Puntos: 19
Respuesta: Inyectar exe en otro exe?

Para comenzar, vos no podes inyectar con VB en un proceso... Para eso tenes que usar otro lenguaje como C++

Ahora bien... Si vos tenes una ventana, SUPONGAMOS INTERNET EXPLORER.... Y vos queres que tu programa se vea dentro de la ventana del INTERNET EXPLORER... (pero eso no seria inyectar) ahi si podes... Es decir, podes poner el form de tu programa dentro de otro form externo... Eso si

Decime cual de las dos queres
  #9 (permalink)  
Antiguo 07/03/2010, 17:50
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 11 meses
Puntos: 13
Respuesta: Inyectar exe en otro exe?

Cita:
Iniciado por Txoco Ver Mensaje
UpdateResource no es para código, si no para recursos que estén embebidos en el ejecutable (como el icono o algunos textos, según como esté programado).

Lo que quieres hacer es con la función CopyMemory... no tiene mucha miga, en principio, el ejemplo que te dije es un poco... en fin... creo que tengo alguno mejor, lo postearé aquí en cuanto lo tenga.

Tu mismo lo dijiste UpdateResource es para embeber recursos , pero que tal si tu recurso es un *.exe ? , la verdad en su epoca yo lo hice y me salio, claro que lo use con buenos fines.
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #10 (permalink)  
Antiguo 08/03/2010, 08:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Inyectar exe en otro exe?

Dependiendo de qué es lo que necesitas realizar, puedes usar un hook, pero vas a necesitar una DLL para capturar los mensajes.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 25/03/2010, 08:43
Avatar de andy22000  
Fecha de Ingreso: noviembre-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Respuesta: Inyectar exe en otro exe?

MIRA YO TENGO EL MISMO PROBLEMA ES EL SIGUIENTE, NECESITO CREAR UNA APLICCION EN VISUAL BASIC QUE ME MUESTRE UN KARAOKE EN LA PARTE DE ABAJO DE UN FORMULARIO DE VISUAL BASIC (POR ENDE UN EXE), Y POR OTRO LA IMAGEN DE UNA CAMARA IP, LA ULTIMA LA TENGO SOLUCIONADO SIMPLEMENTE USO EL CONTROL DE NAVEGADOR DE VISUAL Y LO INVOCO PERO TENGO PROBLEMA EN LA INCRUSTACION DEL KARAOKE PUES ES UN EJECUTABLE SI ALGUIEN TIENE ALGUNA IDEA POR FAVOR HACERMELA SABER, CUALQUIER COSA ENVIARME ALGO A [email protected], PLEASE ES DE URGENCIA.
  #12 (permalink)  
Antiguo 25/03/2010, 08:48
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 4 meses
Puntos: 29
Respuesta: Inyectar exe en otro exe?

El karaoke es un exe? y quieres que se incruste en tu formulario?
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #13 (permalink)  
Antiguo 27/03/2010, 10:20
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años, 1 mes
Puntos: 53
Respuesta: Inyectar exe en otro exe?

Hay otro post con el mismo tema o similar, te enlazo hacia una respuesta que he dado en el mismo:

http://www.forosdelweb.com/f69/lanza...8/#post3339733

Espero que sea lo que buscas
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #14 (permalink)  
Antiguo 29/03/2010, 01:38
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Inyectar exe en otro exe?

Cita:
Iniciado por culd Ver Mensaje
Para comenzar, vos no podes inyectar con VB en un proceso... Para eso tenes que usar otro lenguaje como C++

Ahora bien... Si vos tenes una ventana, SUPONGAMOS INTERNET EXPLORER.... Y vos queres que tu programa se vea dentro de la ventana del INTERNET EXPLORER... (pero eso no seria inyectar) ahi si podes... Es decir, podes poner el form de tu programa dentro de otro form externo... Eso si

Decime cual de las dos queres
Error si que puede inyectar... jajaja

o sino... que es esto?

Código:
'************************************************************************
'************************************************************************
'**                                                                    **
'**   Inyeccion Dll en VB a partir del codigo en C++ de MazarD         **
'**                                                                    **
'**                  Wrote on June 15, 2007 by Hendrix                 **
'**                                                                    **
'**                                                                    **
'**                         CopyLeft Licence                           **
'************************************************************************
'************************************************************************



Private Const PAGE_READWRITE As Long = &H4
Private Const MEM_RELEASE As Long = &H8000
Private Const MEM_COMMIT As Long = &H1000
Private Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000
Private Const SYNCHRONIZE As Long = &H100000
Private Const PROCESS_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF)
Private Const INFINITE As Long = &HFFFFFF

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function CreateRemoteThread Lib "kernel32" (ByVal hProcess As Long, lpThreadAttributes As Long, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long


Public Function Inyecta(RutaDll As String, Pid As Long) As Integer
Dim proc As Long
Dim nload As Long
Dim rems As Long
Dim longi As Long
Dim RemThread As Long
Dim Tid As Long

On Error GoTo Error
proc = OpenProcess(PROCESS_ALL_ACCESS, False, Pid)
nload = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
rems = VirtualAllocEx(proc, 0, Len(RutaDll), MEM_COMMIT, PAGE_READWRITE)
WriteProcessMemory proc, ByVal rems, ByVal RutaDll, Len(RutaDll), longi
CreateRemoteThread proc, ByVal 0, 0, ByVal nload, ByVal rems, 0, Tid
WaitForSingleObject rems, INFINITE
CloseHandle proc
CloseHandle rems
Inyecta = 0
Exit Function
Error:
Inyecta = 1
End Function
y para acerlo funcionar eso en un exe:

Código:
Private Sub Form_Load()
Dim ruta As Long
Dim resultado As Integer

ruta = Shell("notepad.exe")
resultado = Inyecta("C:\ladll.dll", ruta)

If resultado = 0 Then
MsgBox "Dll Inyectada con éxito!!!", , "Información"
Else
MsgBox "A ocurrido un error", vbCritical, "Información"
End If
End
End Sub

y aora que? e puede o no se puede

salu2!
  #15 (permalink)  
Antiguo 30/03/2010, 15:23
Avatar de joj9  
Fecha de Ingreso: marzo-2010
Mensajes: 24
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Inyectar exe en otro exe?

La verdad que es un tema que a mi también me interesa mucho.
Tengo entendido que para inyectar tienes que tener una DLL creada por ejemplo en C++, y esa DLL ya si que la puedes inyectar por ejemplo con VB en un proceso.
Y algunos manuales si que he encontrado respecto a la inyección, pero lo que no he encontrado es como hacer una DLL para inyectar, y lo que se debe programar en la DLL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:32.