
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
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