[ Home | Liste | F.A.Q. | Risorse | Cerca... ]


[ Data: precedente | successivo | indice ] [ Argomento: precedente | successivo | indice ]


Archivio: Maggio 2001 ml@sikurezza.org
Soggetto: %esp
Mittente: Leonardo Di Lella
Data: 30 May 2001 08:30:31 -0000
Re!

Avrei una domanda da fare. Ho questo programma qua :

void seg(void)
{
        char small[18];
}

int main()
{
        seg();
}

Normale dovrebbe sotrae 20 bytes dal %esp.
20 = (4 * 5).
In hexa dovrebbe essere : subl $0x14,%esp

Ma il problema é che sotrae sempre 40 bytes!
Provate a compilare ed a usare gdb!
ecco :

0x80483c0 <seg>:        push   %ebp
0x80483c1 <seg+1>:      mov    %esp,%ebp
0x80483c3 <seg+3>:      sub    $0x28,%esp
0x80483c6 <seg+6>:      leave
0x80483c7 <seg+7>:      ret

Mi si spiegare qualcuno xche ?
Uso gcc senza -O3 o -O5 flags. Il force_to_data non c'é.

Leonardo D.

--
www.comfire.de			leonardo.dilella@comfire.de
www.netline-ag.de		leo@netline-ag.de

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQA65gPGYICiPPk92QoRAu48AJ9pmwUsxoJN6Cl8QsnSPcTTtlYQSgCfcr/f
pNm9BmXREvnmSXOdgR46kR8=
=BrLb
-----END PGP SIGNATURE-----

________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List




[ Home | Liste | F.A.Q. | Risorse | Cerca... ]

www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005