[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux-team] structure d'un appel de function
Frederic Dumont wrote:
> Je voudrais savoir a quoi ressemble un appel de fonction en C sous Linux/x86:
> opcode utilisee, place des parametres (adresse de la fonction et des
> arguments), structure du stack a l'entree de la fonction, et utilisation de
> l'adresse de retour a la fin. Disons pour fixer les choses que dans la mesure
> ou je n'ai qu'une idee tres vague de ce qui se passe lors d'un appel, tout
> renseignement, meme imprecis, serait le bien venu.
>
> Tout ceci afin d'avoir des precisions techniques a apporter a un expose sur
> les buffer overflows.
>
Si tu vx parler d'un appel system procures toi le KHG (kernel hackers guide)
qui t'expliquera ca tres bien (utilisation de int 80) il doit etre
accessible a partir de n'importe quel mirror du LDP (linux documentation project)
Si tu vx parler d'un simple appel de fonction, c'est compiler et options
de compiler dependant !
Le mieu est d'ecrire un ptit programme avec un appel de fonction avec qlq
paramettres
et voir le code assembleur genere. Sur les systeme unix, c'est souvent -S ou -s
le
switch a utiliser pour generer le code dans un fichier .s
$ gcc -S -c hello.c
$ cat hello.[sS]
Mais de tt facon c'est quasi idem aux compiler de windows
>
> Merci,
>
> --
> Frederic Dumont / / (_)__ __ ____ __
> frederic.dumont@gate71.be / /__/ / _ \/ // /\ \/ /
> PGP key 0711F125 /____/_/_//_/____/ /_/\_\ forever!!!!!!!
> Linux? It's an OS, Jim, but not as we know it.
> ---------
> This message was sent by Majordomo 1.94.3. Please report problems to
> manu@rtfm.be. If you want to be deleted from the list, send a mail to
> majordomo@rtfm.be with "unsubscribe linux-team" in the body.
--
Spineux Alain
Romani ite domus.
======================================================================
Spineux Alain E-MAIL : spineux@prm.ucl.ac.be
INSTITUT STEVIN
Catholic University of Louvain FAX : 32-10-472501
PLACE DU LEVANT 2 PHONE : 32-10-472516
B-1348 LOUVAIN-LA-NEUVE (BELGIUM)
=======================================================================
---------
This message was sent by Majordomo 1.94.3. Please report problems to
manu@rtfm.be. If you want to be deleted from the list, send a mail to
majordomo@rtfm.be with "unsubscribe linux-team" in the body.