elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 00:37  

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Es posible esto?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Es posible esto?  (Leído 2,639 veces)
JaimeAsm

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Es posible esto?
« en: 13 Febrero 2010, 22:35 »

Hola foreros como estais?

soy nuevo en ese foro,tengo una duda que espero pueda con buestra auda resolver!

es posible poner una nstruccion (ejmp:  un MessageBox) a un executable desde otro executable?

osea desde un exe mapear en memoria el ejecutable a modificar,i una vez en la memoria intrducirle la instruccion a un offset que este libre,


podrian darme algun code de eso??

uso Masm32,trabajo en 32 bits ^^

un cordial saludo


En línea
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.240


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: Es posible esto?
« Respuesta #1 en: 14 Febrero 2010, 00:30 »

Como poder se puede. ¿Que es lo que hiciste hasta ahora? Es cuestion de escribir los bytes correctos en el lugar correcto ...


En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón.
JaimeAsm

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Es posible esto?
« Respuesta #2 en: 14 Febrero 2010, 18:47 »

Hola Eternal Idol como va?

gracias por responderme,pues lo que hice maximo es escribir en un offset en dodne ya habia unos bytes (una cadena de text que se mostraba en un mensaje que mostraba el exe que quiero modificar) pero no se como puedo escribir una instruccion,,ya imagino que debo escribir los bytes de la instruccion que quiero agregarle al otro exe,y imagino que tendre que escribirlo en un offset que no este ocupado,asta ahora utilizaba las api CreateFile,,CreateFileMapping,MapViewOfFile i despues hacia esto:
Código:
[code=asm]
MOV EDI,EAX    ;EAX = Retorno de MapViewOfFie¡le
ADD EDI,[800h]    ;offset donde quiero escribir
LEA ESI,Instruccion     ;Dieccion de la etiqueta que contiene la instruccion
REP MOVSB
[/code]

peor nada no sale :(



estoi perdido
En línea
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.240


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: Es posible esto?
« Respuesta #3 en: 14 Febrero 2010, 19:00 »

¿Que es lo que queres hacer exactamente? Tene en cuenta que en cuanto escribas en ese ejecutable si era confiado por el sistema (mediante catalogo o firma embebida) ya no lo sera mas.

Si queres agregar una llamada a un MessageBoxA por ejemplo tenes que escribir el codigo para poner los parametros en la pila primero y despues hacer el call. Si la funcion ya esta importada estaticamente por el ejecutable buscala y usa ese puntero.
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón.
JaimeAsm

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Es posible esto?
« Respuesta #4 en: 14 Febrero 2010, 19:27 »

Osea me dices que haga esto:
Código
PUSH 0
PUSH OFFSET Cabecera
PUSH OFFSET Mensaje
PUSH 0
CALL[MessageBoxA]
 


?¿?¿ no?

perdoname es que no entendi my bien.:( si tuvieras algun ejemplillo me aydudarias mazo Hermano!!

un saludo crack!
En línea
RAID-MAM

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: Es posible esto?
« Respuesta #5 en: 14 Febrero 2010, 19:32 »

Mira , si te interesa ejecutar codigo en un ejecutable no en un lugar en expesifico lee este codigo para sacar la idea

http://foro.elhacker.net/analisis_y_diseno_de_malware/srcinfeccion_de_archivos_con_tls_asm-t283150.0.html

En línea
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.240


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: Es posible esto?
« Respuesta #6 en: 14 Febrero 2010, 19:52 »

Osea me dices que haga esto:

Si queres agregar una llamada a MessageBoxA vas a tener que escribir algo como eso en el ejecutable. Poner los parametros en la pila (tene en cuenta que los offset's no estaran en ese ejecutable) y llamar a la funcion (sino esta importada podes agregarla al PE o agregar codigo para llamar a GetProcAddress y obtener su direccion en tiempo de ejecucion).
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón.
JaimeAsm

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Es posible esto?
« Respuesta #7 en: 15 Febrero 2010, 19:33 »

aaa...vaya creo que no podre hacer lo que queria,yo queria agregar una fuinstruccion como dejemmplo el MessageBoxA en cualquier ejecutable,no en uno que tenga que crear yo pero ceo que eso ya como k no xd


gracias de antemano expertos!
En línea
MCKSys Argentina


Desconectado Desconectado

Mensajes: 1.141


Diviérte crackeando, que para eso estamos!


Ver Perfil
Re: Es posible esto?
« Respuesta #8 en: 15 Febrero 2010, 21:15 »

Puedes insertar cualquier libreria en un EXE y luego llamar a la función que gustes dentro de la misma. Más aún, si esuna DLL de sistema.

Sólo debes usar LoadLibrary y GetProcAddress.

Saludos!

PD: También hay métodos más rebuscados cuando no dispones de esas APIs...  ;) Como ejemplo, (si tienes instalado MASM) fíjate en la carpeta: X:\masm32\examples\EXAMPLE8\MOB\NOIMPORT.

Ahí encontrarás un método más que interesante para solucionar el problema.
En línea

---------------------
MCKSys Argentina

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

Mensajes: 4.240


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: Es posible esto?
« Respuesta #9 en: 15 Febrero 2010, 21:44 »

MCKSys Argentina: no es lo mismo cargar una libreria en la memoria de un proceso que modificar el ejecutable en disco. Igual tal vez le interese JaimeAsm, no se que quiere hacer exactamente ...
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón.
JaimeAsm

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Es posible esto?
« Respuesta #10 en: 15 Febrero 2010, 22:05 »

Vaya veo que no me explicado bie,lo siento!

intentar explicarm mejor:

aver,imaginen que yo tengo 2 Ejecutables ue e creado y programado con MASM32, en uno teno la istruccon:

invoke MessageBox,0,offse Texto,OFFSET Cabecera,0

eso ara que cuando ejecute el ejecutable pues me muesrte un mensaje no??

pues yo desde otro ejecutable quiero que despues de esa instruccion me ejcute otra instruccion (instruccion que yo añado a este ejcutable desde el otro) por ejemplo otro messagebox o otra cosa entendeis??????


salu2
En línea
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.240


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: Es posible esto?
« Respuesta #11 en: 15 Febrero 2010, 22:40 »

Estas hablando de algo muy concreto pero no le veo ninguna utilidad. ¿Cual es el objetivo? Esa es la pregunta realmente, a veces hay muchas maneras de hacer algo.

¿Tenes que escribir en el ejecutable o lo podes hacer en tiempo de ejecucion como menciono MCKSys Argentina?
En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón.
MCKSys Argentina


Desconectado Desconectado

Mensajes: 1.141


Diviérte crackeando, que para eso estamos!


Ver Perfil
Re: Es posible esto?
« Respuesta #12 en: 16 Febrero 2010, 00:09 »

Creo que se refiere a parchearlo en tiempo de ejecución...

Al menos, eso es lo que aparenta...  :huh:
En línea

---------------------
MCKSys Argentina

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

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Es posible esto?
« Respuesta #13 en: 16 Febrero 2010, 13:43 »

Si eso mismo! en Runtime,parchearlo en Runtime ^^


salu2
En línea
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 4.240


Clarin miente, TN opera y los giles regurgitan.


Ver Perfil WWW
Re: Es posible esto?
« Respuesta #14 en: 16 Febrero 2010, 14:24 »

"osea desde un exe mapear en memoria el ejecutable a modificar,i una vez en la memoria intrducirle la instruccion a un offset que este libre,"

¿Un proceso o un ejecutable en disco?

En ambos casos tenes que escribir lo que te comente, lo bueno de hacerlo en la memoria del proceso es que no cambia el ejecutable asi que sigue siendo confiable para el S.O. pero el codigo de ejemplo que mostraste NO era eso sino escribir sobre el archivo del ejecutable en disco ("CreateFile,,CreateFileMapping,MapViewOfFile").
« Última modificación: 16 Febrero 2010, 14:53 por Eternal Idol » En línea



La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Es esto posible?
Seguridad
Gambinoh 7 1,334 Último mensaje 18 Abril 2011, 17:27
por zosemu
Es posible con Virtualbox esto?
Hacking Linux/Unix
BiteAciD 1 1,130 Último mensaje 12 Octubre 2011, 04:54
por y0g-s0th0th
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines