Re: Nommage de la fonction main() en assembleur

Page principale

Répondre à ce message
Auteur: Patrice Karatchentzeff
Date:  
À: GUILDE
Sujet: Re: Nommage de la fonction main() en assembleur
Du coup, j'ai trouvé cela

https://systemoverlord.com/2017/03/19/got-and-plt-for-pwning.html

qui répond partiellement à mes questions.

Le mer. 26 oct. 2022 à 14:50, Patrice Karatchentzeff
<patrice.karatchentzeff@???> a écrit :
>
> J'ai dit une ânerie : la fonction main correspond à la section .plt.
>
> PK
>
> Le mer. 26 oct. 2022 à 14:44, Patrice Karatchentzeff
> <patrice.karatchentzeff@???> a écrit :
> >
> > Salut,
> >
> > Quand gcc compile un programme en C, il semble qu'il garde le nom de
> > main du C pour l'assembleur.
> >
> > Soyons follement original :
> >
> > #include <stdio.h>
> >
> > int main(void) {
> >     printf("Hello, world!\n");
> >     return 0;
> > }

> >
> > donne *en assembleur* (gcc -s) :
> >
> > (...)
> >       .text
> > LC0:
> >         .ascii "Hello, world!\12\0"
> > .globl _main
> >         .def    _main;  .scl    2;      .type   32;     .endef
> > _main:
> >         pushl   %ebp
> >         movl    %esp, %ebp
> > etc.

> >
> > Donc au début du programme, le main est bien référencé en _main.
> >
> > Dont acte.
> >
> > Pourtant, si je compile et que je désassemble le binaire compilé, je
> > ne retrouve pas cette fonction. Au mieux, j'ai un .init dedans qui
> > semble être la même chose.
> >
> > J'ai fait un grep dans toutes les gnuteries de mon système et c'est pareil.
> >
> > Alors, j'ai deux questions :
> >
> > * main = .init ?
> > * est-ce une règle ? Je ne trouve rien sur le net à ce sujet...
> >
> > Merci de vos lumières,
> >
> > PK
> >
> >
> > --
> >       |\      _,,,---,,_           Patrice KARATCHENTZEFF
> > ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff@gmail.com
> >      |,4-  ) )-,_. ,\ (  `'-'
> >     '---''(_/--'  `-'\_)

>
>
>
> --
>       |\      _,,,---,,_           Patrice KARATCHENTZEFF
> ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff@gmail.com
>      |,4-  ) )-,_. ,\ (  `'-'
>     '---''(_/--'  `-'\_)




-- 
      |\      _,,,---,,_           Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff@gmail.com
     |,4-  ) )-,_. ,\ (  `'-'
    '---''(_/--'  `-'\_)