Dudas basicas ASM (AT&T syntax)

Este es tu lugar para hablar de programación, compartir, crear y desarrollar nuevos proyectos

Moderador: Moderadores

Dudas basicas ASM (AT&T syntax)

Notapor neofito » Vie Feb 08, 2013 9:52 pm

Hola a todos

Pues nada, como sabeis estoy empezando (por tercera vez) con el exploiting en Linux y salen a la luz mis carencias en cuanto a conocimientos de ensamblador.

¿Cual es la finalidad de la siguiente instruccion?

Código: Seleccionar todo
movl   $0x80488e0,0xfffffff0(%ebp)


Si os sirve de algo os muestro algunas lineas del desensamblado para poneros en situacion:

Código: Seleccionar todo
0x08048585 <main+0>:    push   %ebp
0x08048586 <main+1>:    mov    %esp,%ebp
0x08048588 <main+3>:    push   %ebx
0x08048589 <main+4>:    sub    $0x84,%esp
0x0804858f <main+10>:   movl   $0x80488e0,0xfffffff0(%ebp)
0x08048596 <main+17>:   movl   $0x3b9aca00,0xffffffec(%ebp)
0x0804859d <main+24>:   movl   $0x80488c0,0x4(%esp)
0x080485a5 <main+32>:   movl   $0x8048900,(%esp)


Muchas gracias de antemano por vuestra ayuda.

Saludos
La verdad nos hara libres

http://neosysforensics.blogspot.com
http://www.wadalbertia.org
@neosysforensics
-<|:-P[G]
Avatar de Usuario
neofito
Wadalbertita
Wadalbertita
 
Mensajes: 1799
Registrado: Dom Ene 30, 2005 7:16 am
Ubicación: En algun lugar

Re: Dudas basicas ASM (AT&T syntax)

Notapor vlan7 » Vie Feb 08, 2013 11:26 pm

neofito escribió:¿Cual es la finalidad de la siguiente instruccion?

Código: Seleccionar todo
movl   $0x80488e0,0xfffffff0(%ebp)

0xfffffff0 es un numero negativo expresado en complemento a 2. Eso es el desplazamiento con respecto al ebp.

Con el movl simplemente escribes en esa posicion en la pila 0x80488e0

El sentido es almacenar un puntero en la pila, por ejemplo un puntero a buffer[0]

Saludos,
There is a crack, a crack in everything That's how the light gets in. -subculture

zen7.vlan7.org
Avatar de Usuario
vlan7
<|:-D
<|:-D
 
Mensajes: 1176
Registrado: Dom Mar 05, 2006 11:16 pm
Ubicación: Mas alla del EIP

Re: Dudas basicas ASM (AT&T syntax)

Notapor neofito » Vie Feb 08, 2013 11:51 pm

Gracias vlan7, tocara repasar la notacion hexadecimal :?

Por cierto, ¿cual es la diferencia entre incluir un registro entre parentesis o no incluirlo?

Y ya que estamos, ¿conoces algun buen libro/tutorial/recurso para aprender la sintaxis AT&T?

Saludos y muchas gracias por tu paciencia
La verdad nos hara libres

http://neosysforensics.blogspot.com
http://www.wadalbertia.org
@neosysforensics
-<|:-P[G]
Avatar de Usuario
neofito
Wadalbertita
Wadalbertita
 
Mensajes: 1799
Registrado: Dom Ene 30, 2005 7:16 am
Ubicación: En algun lugar

Re: Dudas basicas ASM (AT&T syntax)

Notapor vlan7 » Sab Feb 09, 2013 12:48 am

Segun la version de gdb, ese numero te lo muestra en negativo ya.

Yo por costumbre, solia decirle a gdb que me desensamblara en notacion intel (hay una opcion, preferred-flavor o algo asi), pero al final tampoco hay tanta diferencia.

Lo que mas me costo a mi es acostumbrarme a la mayor diferencia entre Intel y AT&T, que es el orden de los operandos. Mas con el punto de dislexia que yo tengo.

Lo que siempre hice asi:
MOV EAX, 4

Despues fue asi:
mov 4, %eax

Pues bien, los parentesis son como los corchetes en sintaxis Intel.

ESP es el valor que tiene ESP
[ESP] es el valor al que apunta ESP tomado como puntero, entonces con los parentesis igual.

Un ejemplo simple:
Imagina que en EBP tienes el valor 0x080488e0
y que en la direccion de memoria 0x080488e0 tienes el valor 1984

Entonces:

Código: Seleccionar todo
mov %ebp, eax   ; EAX = 0x080488e0
mov (%ebp), eax    ; EAX = 1984


Textos de AT&T no conozco, en mi opinion con acostumbrarse a estas pequeñas diferencias es suficiente.

Un saludo,
There is a crack, a crack in everything That's how the light gets in. -subculture

zen7.vlan7.org
Avatar de Usuario
vlan7
<|:-D
<|:-D
 
Mensajes: 1176
Registrado: Dom Mar 05, 2006 11:16 pm
Ubicación: Mas alla del EIP

Re: Dudas basicas ASM (AT&T syntax)

Notapor neofito » Sab Feb 09, 2013 1:54 am

Gracias de nuevo vlan7, te debo unas cervezas :D

Saludos
La verdad nos hara libres

http://neosysforensics.blogspot.com
http://www.wadalbertia.org
@neosysforensics
-<|:-P[G]
Avatar de Usuario
neofito
Wadalbertita
Wadalbertita
 
Mensajes: 1799
Registrado: Dom Ene 30, 2005 7:16 am
Ubicación: En algun lugar

Re: Dudas basicas ASM (AT&T syntax)

Notapor NewLog » Sab Feb 09, 2013 10:53 pm

Como ya ha dicho vlan7, el tema de los paréntesis (o corchetes) es como si fuera un puntero. Donde apunta o el contenido de donde apunta.

Yo también prefiero intel. Eso de los porcentajes me toca las narices (y el orden de los operandos igual):
Código: Seleccionar todo
set disassembly-flavor intel


Si en el home te creas el archivo ~/.gdbinit y le copias el código anterior, se lo pones por defecto.

Aquí tienes algunos buenos textos sobre reversing (que al fin y al cabo es aprender ensamblador). Los de Ricardo Narvaja son imprescindibles.
Imagen
http://www.overflowedminds.net - Quieres introducirte al exploiting?
Avatar de Usuario
NewLog
<|:-D
<|:-D
 
Mensajes: 1130
Registrado: Sab Ene 14, 2006 1:03 am

Re: Dudas basicas ASM (AT&T syntax)

Notapor neofito » Sab Feb 09, 2013 11:34 pm

Gracias por los enlaces NewLog (has leido lo de las cervezas y como sabes que vamos a vernos en breve has dicho, esta es la mia :badgrin: ).

Pues si la cosa va de cracking creo que esto me servira:

http://ricardonarvaja.info/WEB/

Saludos
La verdad nos hara libres

http://neosysforensics.blogspot.com
http://www.wadalbertia.org
@neosysforensics
-<|:-P[G]
Avatar de Usuario
neofito
Wadalbertita
Wadalbertita
 
Mensajes: 1799
Registrado: Dom Ene 30, 2005 7:16 am
Ubicación: En algun lugar

Re: Dudas basicas ASM (AT&T syntax)

Notapor NewLog » Dom Feb 10, 2013 11:42 am

Jajajaja, qué espeso estoy por las mañanas! No te entendía... Sí, seguro que mi subconsciente ha visto lo de las cervezas y ha dicho "Eh! Di algo tu también!!" :embudito:

Estos tutos parecen más recientes y posiblemente sean más prácticos (trabaja con IDA, p.ej.) que los de Olly (que son los míticos):

http://ricardonarvaja.info/WEB/C%20Y%20REVERSING/
Imagen
http://www.overflowedminds.net - Quieres introducirte al exploiting?
Avatar de Usuario
NewLog
<|:-D
<|:-D
 
Mensajes: 1130
Registrado: Sab Ene 14, 2006 1:03 am

Re: Dudas basicas ASM (AT&T syntax)

Notapor vlan7 » Lun Mar 18, 2013 4:32 am

pues si la cosa va de cracking ♩ entre nuestras malas costumbres se incluye el que pasamos muy buenos ratos echando pan a los patos y cuanto mas pan echamos mejores ratos pasamos ♩
Canciones aparte, aqui un buen pdf de ASM que acabo de ver... http://blog.yurichev.com/node/72
There is a crack, a crack in everything That's how the light gets in. -subculture

zen7.vlan7.org
Avatar de Usuario
vlan7
<|:-D
<|:-D
 
Mensajes: 1176
Registrado: Dom Mar 05, 2006 11:16 pm
Ubicación: Mas alla del EIP

Re: Dudas basicas ASM (AT&T syntax)

Notapor NewLog » Lun Mar 18, 2013 1:19 pm

La ostia! Qué currazo! Muy bueno.
Imagen
http://www.overflowedminds.net - Quieres introducirte al exploiting?
Avatar de Usuario
NewLog
<|:-D
<|:-D
 
Mensajes: 1130
Registrado: Sab Ene 14, 2006 1:03 am

Re: Dudas basicas ASM (AT&T syntax)

Notapor vlan7 » Lun Mar 18, 2013 2:23 pm

NewLog escribió:La ostia! Qué currazo! Muy bueno.

Si, orientado a exploiting es muy majo tambien :)
There is a crack, a crack in everything That's how the light gets in. -subculture

zen7.vlan7.org
Avatar de Usuario
vlan7
<|:-D
<|:-D
 
Mensajes: 1176
Registrado: Dom Mar 05, 2006 11:16 pm
Ubicación: Mas alla del EIP

Re: Dudas basicas ASM (AT&T syntax)

Notapor Newhack » Mar Mar 19, 2013 8:04 pm

Ah, eso está muy bien. A ver si me traigo la memoria y lo descargo. Me iria muy bien para ver si reconstruyo mis conocimientos de ensamblador,
que están en estado "oxido ruinoso", no me acuerdo de nada de como se manejaba.


[offtopic] Oye Vlan7, ¿como has hecho para poner carácteres-nota ?, queda interesante. [/offtopic]
Avatar de Usuario
Newhack
<|:-D
<|:-D
 
Mensajes: 1872
Registrado: Jue Dic 20, 2007 7:36 pm

Re: Dudas basicas ASM (AT&T syntax)

Notapor vlan7 » Mar Mar 19, 2013 8:18 pm

Newhack escribió:[offtopic] Oye Vlan7, ¿como has hecho para poner carácteres-nota ?, queda interesante. [/offtopic]

Pues puse "ascii music" en google, copie y pegue. Y bueno, para cosas mas extrañas, en vez de ASCII tienes UNICODE para elegir caracteres a patadas. Seguro que sigue habiendo alguna web que escribes un texto y te pone las letras al reves. Casi cualquier letra de nuestro alfabeto, creo que todas menos una o dos tienen su correspondiente grafia en cirilico y otros alfabetos como el griego que son la representacion de nuestra letra boca abajo.

Cosas de la red :p
There is a crack, a crack in everything That's how the light gets in. -subculture

zen7.vlan7.org
Avatar de Usuario
vlan7
<|:-D
<|:-D
 
Mensajes: 1176
Registrado: Dom Mar 05, 2006 11:16 pm
Ubicación: Mas alla del EIP

Re: Dudas basicas ASM (AT&T syntax)

Notapor neofito » Mar Mar 19, 2013 9:48 pm

Gracias por el enlace, buenisimo el PDF!!!

Saludos
La verdad nos hara libres

http://neosysforensics.blogspot.com
http://www.wadalbertia.org
@neosysforensics
-<|:-P[G]
Avatar de Usuario
neofito
Wadalbertita
Wadalbertita
 
Mensajes: 1799
Registrado: Dom Ene 30, 2005 7:16 am
Ubicación: En algun lugar


Volver a Programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron