Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: pepeBocachancla en 30 Septiembre 2009, 02:22 am



Título: Alguien sabe que es hece el sufijo large?
Publicado por: pepeBocachancla en 30 Septiembre 2009, 02:22 am
Estaba revisando código en ensamblador, cuando me encontré con la siguiente instrucción:
Código
  1. mov ebx, large fs:0
De esta instrucción lo entiendo todo, pero me puse a buscar que hacía "large" y no encontré casi nada, lo único que encontré fue esto
Citar
SMALL and LARGE can be used determine the width of a displacement:

MOV EAX, [LARGE $1234]

This instruction generates a 'normal' move with a 32-bit displacement ($00001234).

MOV EAX, [SMALL $1234]

The second instruction will generate a move with an address size override prefix and a 16-bit displacement ($1234).

SMALL can be used to save space. The following example generates an address size override and a 2-byte address (in total three bytes)

MOV EAX, [SMALL 123]

as opposed to

MOV EAX, [123]

which will generate no address size override and a 4-byte address (in total four bytes).
La idea que yo tenía era más o meno esa, pero me sorprendió mucho no encontrar esta información nada más que en una página, así que os pregunto vosotros si sabéis lo que es.

Por cierto, si alguien quiere ver el código que estaba mirando, era este
http://www.yersinia.net/payload.txt (http://www.yersinia.net/payload.txt)


Título: Re: Alguien sabe que es hece el sufijo large?
Publicado por: Eternal Idol en 30 Septiembre 2009, 10:05 am
¿Que ensamblador estas usando? En MASM eso no va y la ayuda que citas es de Borland ... no existen los sufijos en las instruccione definidas por Intel.

Mostranos el binario de ambas instrucciones ...


Título: Re: Alguien sabe que es hece el sufijo large?
Publicado por: pepeBocachancla en 30 Septiembre 2009, 14:50 pm
Pues no te puedo mostrar el binario, porque el el txt que os linké no aparece, y en cuanto al ensamblador, no se si es NASM o FASM, pero creo que es uno de los dos.

Por si sirve de ayuda, encontré cosas parecidas en otros textos por internet
http://www.openrce.org/articles/full_view/21 (http://www.openrce.org/articles/full_view/21)
http://www.datarescue.com/laboratory/trojan2008/index.html (http://www.datarescue.com/laboratory/trojan2008/index.html)
http://books.google.com/books?id=YKl6XnEa_CAC&pg=PA118&lpg=PA118&dq=%22large+fs:0%22&source=bl&ots=0KrGlICsmY&sig=NEcEfklyCFWcVZW6NO0hflyB4xo&hl=es&ei=mVLDStCpLcLc-Qa2ufjuCw&sa=X&oi=book_result&ct=result&resnum=6#v=onepage&q=%22large%20fs%3A0%22&f=false (http://books.google.com/books?id=YKl6XnEa_CAC&pg=PA118&lpg=PA118&dq=%22large+fs:0%22&source=bl&ots=0KrGlICsmY&sig=NEcEfklyCFWcVZW6NO0hflyB4xo&hl=es&ei=mVLDStCpLcLc-Qa2ufjuCw&sa=X&oi=book_result&ct=result&resnum=6#v=onepage&q=%22large%20fs%3A0%22&f=false)
http://archive.cert.uni-stuttgart.de/bugtraq/2003/02/msg00166.html (http://archive.cert.uni-stuttgart.de/bugtraq/2003/02/msg00166.html)
http://pastebin.com/m51046240 (http://pastebin.com/m51046240)
http://www.the-interweb.com/bdump/istbar/downloadfile.txt (http://www.the-interweb.com/bdump/istbar/downloadfile.txt)

De todas formas, si nadie lo sabe aquí, puedo probar a preguntar en el foro de malware porque como todas las referencias que aparecen a esta instrucción son relacionadas, igual alguien lo utilizó y sabe de que va

Gracias por tu interés