Vous êtes sur la page 1sur 4

Firefox https://disqus.com/embed/comments/?base=default&...

G Participer à la discussion…

S'IDENTIFIER AVEC OU INSCRIVEZ-VOUS SUR DISQUS

Nom

1 Share Les meilleurs Les plus récents Les plus anciens

Theevann − ⚑
T ⏲ il y a un an
Bonjour, je crois qu'il y a une petite erreur dans ce paragraphe:

Dans le schéma précédent, à EBP on trouve la valeur de la sauvegarde du EBP de la fonction


appelante. Puis à EBP - 0x4 se trouve la sauvegarde de EIP, à EBP - 0x8 se trouve une des
valeurs poussées avant le call et à EBP - 0xc se trouve la deuxième valeur. On monte
comme ça de 4 en 4 car ces variables sont des adresses (EBP et EIP) ou des entiers donc
ils prennent 4 octets en mémoire.

Les adresses ne devraient elles pas être EBP + 0x4, EBP + 0x8, ... ?
0 0 • Répondre • Partager ›

2pac est vivant − ⚑


2E ⏲ il y a 2 ans
Je me délecte de tous ces messages qui ne pipent rien à propos de cet article. Je trouve qu'il
m'a informer sur l'asm et plus particulièrement le fait de me mordre les tétons avec grande
facilité contrairement aux regards de vautours présents dans les commentaires. Merci Pixis
qui m'a redonné espoir en moi et m'a appris sa philosophie de la vie. Bisou <3
1 0 • Répondre • Partager ›

Hackndo Modo > 2pac est vivant − ⚑


⏲ il y a 2 ans
J'ai rien compris mais merci ;)
0 0 • Répondre • Partager ›

n3wborn − ⚑
N ⏲ il y a 3 ans
Article au top !
Merci d' éclairer les lanternes avec simplicité et précision ;-)
1 0 • Répondre • Partager ›

Hackndo Modo > n3wborn − ⚑


⏲ il y a 2 ans

1 of 4 30/01/2023 22:38
Firefox https://disqus.com/embed/comments/?base=default&...

Avec plaisir !
0 0 • Répondre • Partager ›

Thibaud − ⚑
T ⏲ il y a 3 ans
Salut,
superbe article, c'est la première fois que je comprends ce que je lis sur l'assembleur ... en tout
cas j'en ai l'impression ! :D
J'avais une question qui me pertube, pourquoi l'instruction PUSH n'est pas considérer comme
une fonction ?
Car d'après ce que j'ai compris si je fais push ebp ça doit faire la manipulation suivante :

sub esp, 0x4


mov DWORD PTR [esp], ebp

c'est exacte ?

Dans tous les cas un grand merci pour ton travail :)


0 0 • Répondre • Partager ›

Foxxii − ⚑
F ⏲ il y a 4 ans
Bonjour,

Un grand merci pour ce cours, c'est super �uide :)


Juste un détail sur la �n, ce ne serait pas des '+' a la place des '-' sur le dernier schéma de la
pile ("EBP - 0xc" et "EBP - 0x8") ?
Je me référais au schéma pour comprendre <+14> et <+17> et du coup j'écrasais MAIN_EIP, ça
m'a troublé 5 bonnes minutes avant que je décide de relire le code ^^
A part ça c'est du super boulot ! Merci
0 0 • Répondre • Partager ›

Hackndo Modo > Foxxii − ⚑


⏲ il y a 4 ans edited
Tout à fait ! J'ai oublié de corriger, je fais ça ASAP :) Merci pour la remarque !
0 0 • Répondre • Partager ›

fr0g − ⚑
⏲ il y a 5 ans
Plop dude, jolie intruduction :) et le soin apporté à ta rédaction est toujours appréciable :)

j'aimerais juste apporter une nuance (#LeCasseC***DeBase) concernant le NOP, qui ne fait
pas exactement "rien". Il s'agit d'un alias sur l'instruction "xchg eax, eax" (ou ax en 16bit), donc
lors de son appel, il va tenter d'échanger les valeurs des deux registres donnés en param (bon,
dans ce cas là c'est pas bien utile, on en conviendra). Ca ne change pas une vie c'est certain,
mais c'est le genre de trucs toujours croustillant à apprendre ^^.

2 of 4 30/01/2023 22:38
Firefox https://disqus.com/embed/comments/?base=default&...

See you soon bruh'


1 0 • Répondre • Partager ›

Hackndo Modo > fr0g − ⚑


⏲ il y a 5 ans
Good point ! Merci pour l'information. Je ne savais pas que c'était cette instruction
qui était en background. On en apprend tous les jours.
Thanks !
0 0 • Répondre • Partager ›

Slackwa − ⚑
S ⏲ il y a 6 ans
en tout cas merci pour tes cours, tres enrichissant, j'ai toujours eu du mal avec la pile mais ici
j'ai mieux compris
0 0 • Répondre • Partager ›

Hackndo Modo > Slackwa − ⚑


⏲ il y a 6 ans
J'en suis ravi :) Bon courage pour la suite !
0 0 • Répondre • Partager ›

Slackwa − ⚑
S ⏲ il y a 6 ans
par contre 7 en binaire c'est 0111 pas 1110 donc ca fausse le calcule 0x4 :)
0 0 • Répondre • Partager ›

Hackndo Modo > Slackwa − ⚑


⏲ il y a 6 ans
Tout à fait, merci pour la coquille ! Je corrige :)
0 0 • Répondre • Partager ›

switch − ⚑
⏲ il y a 6 ans
Je n'arrive pas à comprendre quelque chose ça me perturbe ... On fait push ebp puis mov epb,
esb ok donc à ce moment la old_ebp est à l'adresse epb + 4 donc quand on va faire un pop
ebp on va avoir l'adresse d'ESP et non pas celle de old_epb ??
0 0 • Répondre • Partager ›

Hackndo Modo > switch − ⚑


⏲ il y a 6 ans
Hello,
Si on fait un push EBP, alors EBP est sur le sommet de la pile, et ESP pointe sur
cette valeur (Puisque ESP pointe sur le sommet de la pile). Ensuite on met ESP

3 of 4 30/01/2023 22:38
Firefox https://disqus.com/embed/comments/?base=default&...

dans EBP (mov EBP, ESP) donc EBP pointe sur le old_EBP qu'on vient de pusher. :)
0 0 • Répondre • Partager ›

switch > Hackndo − ⚑


⏲ il y a 6 ans
d'accord merci et donc suivant ce principe en imaginant une pile
contenant une seule valeur esp et ebp contiennent la même adresse
celle de cette seule valeure ?

Merci
0 0 • Répondre • Partager ›

Hackndo Modo > switch − ⚑


⏲ il y a 6 ans edited
Si jamais on n'a besoin que d'une valeur sur la pile, alors
théoriquement ESP pointera 4 octets plus loin que EBP. Voilà
le mécanisme en photo jointe.

⛺ Voir — uploads.disquscdn.com

PS : Les instructions en légende ne sont pas exactes, c'est


pour donner l'idée, notamment le dernier MOV.
0 0 • Répondre • Partager ›

switch > Hackndo − ⚑


⏲ il y a 6 ans
merci beaucoup je vois mieux ! :)
0 0 • Répondre • Partager ›

4 of 4 30/01/2023 22:38

Vous aimerez peut-être aussi