elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 20:32  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Opcodes erroneos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Opcodes erroneos  (Leído 1,141 veces)
K4P0

Desconectado Desconectado

Mensajes: 4


Ver Perfil WWW
Opcodes erroneos
« en: 22 Enero 2006, 05:01 »

Probando algunas shellcodes me di cuenta que no funcionaban. Despues de fijarme me di cuenta que los opcodes estaban mal, los saque con el gdb con examine.

En fin.. me fije con la shellcode super clasica del execv y parece que interpreta mal algunas instrucciones, para ser precisos los jmps y los calls; no los interpreta como short jmps sino como long jmps. Es decir la instruccion jmp 0x1f (como todos conocen) me genera los opcodes e9 24, tndria que ser eb 1f .
Y el call que salta hacia atras, no me lo toma como un numero negativo o sea -0x24 lo interpreta mal, intente pasandole el numero negativo como 0xfffffxx y tmpoco lo interpreta bien. :O

Alguien tiene idea si es alguna version del GCC que hace esto o que, con el objdump me da tmb los opcodes mal.

Saludos!
En línea
dxr
Colaborador
***
Desconectado Desconectado

Mensajes: 2.991



Ver Perfil
Re: Opcodes erroneos
« Respuesta #1 en: 22 Enero 2006, 05:10 »

estaria bien decir de donde as sacado la shellcode y pastearla... quieres estudiar una sehllcode para usarla o simplemente estudiarla para crearte la tuya propia?
En línea

Hacer preguntas concretas, claras y aportando toda la documentación necesaria.
De lo contrario, no tendreis una respuesta clara.
K4P0

Desconectado Desconectado

Mensajes: 4


Ver Perfil WWW
Re: Opcodes erroneos
« Respuesta #2 en: 22 Enero 2006, 20:17 »

Yo no estoy aprendiendo shellcoding, yo esto ya lo se; no es una duda de una shellcode, ni de instrucciones; es una duda de porque estas versiones de GCC interpretan mal algunas instrucciones. Como dije, el 'jmp' de la shellcode clasica (pongo este ejemplo porque es la scode mas conocida!) es un jmp short, pero la interpeta como long dandome el opcode e9 en vez de eb, ademas el parametro 0x1f tambien lo interpeta mal seguramente por el mismo problema. El call tambien lo interpeta mal.

Justo ahora se me ocurrio hacer los jmps y calls con labels (que genio no?.xDD) y parece que ahi si. En fin, es mejor con labels que andar contando bytes.

Saludos y gracias igual, fue un momento de calentura. :)
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Loops infinitos en input erroneos
Programación C/C++
RyogiShiki 7 1,030 Último mensaje 1 Abril 2011, 22:17
por Akai
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines