[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.