[TUTORIAL] Insertando la VM de VB6 en un EXE

Iniciado por MCKSys Argentina, 21 Noviembre 2011, 16:52 PM

0 Miembros y 1 Visitante están viendo este tema.

MCKSys Argentina

He hecho un tutorial sobre cómo insertar el runtime de VB6 en nuestros EXEs.

Para los interesados en el tema: http://foro.elhacker.net/ingenieria_inversa/tutorial_insertando_la_vm_de_vb6_en_un_exe-t345410.0.html

Espero les guste :)


Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


x64core

 :huh:
que alguien aclare :P
que significa esto :P que ahora los exe's de vb6 se podran ejecutar en otro SO diferente de windows usando este metodo
y que solamente ocupe la libreria de vb :P o bien se pueden insertar las librerias que se ocuparan :P

MCKSys Argentina

Cita de: RHL en 21 Noviembre 2011, 17:54 PM
que ahora los exe's de vb6 se podran ejecutar en otro SO diferente de windows usando este metodo

No. Lo unico que explico en el tutorial es como insertar la VM dentro del EXE. El EXE sigue siendo un PE de 32 bits.
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


BlackZeroX

#3
.
Gracias!¡, solo una pregunta.... ¿se pueden insertar mas de una dll?.

Dulces Lunas1¡.
The Dark Shadow is my passion.

x64core


Elemental Code

Cita de: RHL en 21 Noviembre 2011, 22:28 PM
@BlackZeroX (Astaroth)

app fusion?

tengo entedido que este tutorial hace eso pero sin apps de terceros

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

BlackZeroX

#6
Cita de: Elemental Code en 22 Noviembre 2011, 01:50 AM
tengo entedido que este tutorial hace eso pero sin apps de terceros

Ya, el metodo me parece algo GENERICO ya que no veo que le mueva a alguna estructura que no sea del Formato PE... asi que posiblemente sea retribuible este meotodo a otros EXE... ya que por decirlo de una manera resumida: cambia el entryPoint a una inicializacion de la DLL y posteriormente al EntryPoint del EXE original... y si estoy en lo correcto quiero pensar que se pueden Bindear mas de 1 DLL dentro del mismo... y mi paranoia tambien me dice que quisas tambien en algun EXE...

Dulces Lunas!¡.
The Dark Shadow is my passion.

MCKSys Argentina

#7
Cita de: BlackZeroX (Astaroth) en 22 Noviembre 2011, 02:04 AM
y si estoy en lo correcto quiero pensar que se pueden Bindear mas de 1 DLL dentro del mismo... y mi paranoia tambien me dice que quisas tambien en algun EXE...

Dulces Lunas!¡.

No estás del todo errado. Cualquier cosa es posible!!  ;D

Sólo hay que ponerle tiempo y esfuerzo. Por ejemplo, el runtime se podría embeber comprimido (zlib, aplib) y luego restaurarlo en la secion, tiempo de ejecución. Eso si, el EntryPoint ya no serian 20 bytes...  :P

Otras DLLs podrian cargarse tambien "on-the-fly" sin necesidad de usar LoadLibrary, etc. Es sólo cuestión de entender como funciona el loader de Windows.

Lo mismo sería para componentes OCX...  ;)

Aqui es cuestión de dejar volar la imaginación...

Saludos!

PD: Info sobre cómo cargar DLL desde la memoria: http://www.joachim-bauch.de/tutorials/loading-a-dll-from-memory/
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


BlackZeroX

Cita de: MCKSys Argentina en 22 Noviembre 2011, 16:09 PM

Sólo hay que ponerle tiempo y esfuerzo. Por ejemplo, el runtime se podría embeber comprimido (zlib, aplib) y luego restaurarlo en la secion, tiempo de ejecución. Eso si, el EntryPoint ya no serian 20 bytes...  :P


estaba pensando algo similar a eso igual gracias

Dulces Lunas!¡.
The Dark Shadow is my passion.

arfgh

un ejemplo para hacer lo de la dll en v6 estaría bien.

saludos