[Dico] Asm

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Nociif

2b || !2b
V
Sep 23, 2011
2,607
4
944
push location
Discord
Nociif#5969
Salut, je fais ce petit poste qui va recenser un maximum de fonction en asm, leur fonctionnement et éventuellement un exemple d'utilisation. Je vais faire un maximum pour ajouter de nouvelles fonctions au fur et à mesure (ou sur demande).

Si vous souhaitez participez, envoyez moi des fonctions et je les ajouterais ;)

Pratique pour le reverse engineering, j'espère que ça vous aidera à comprendre les codes quand vous les regarderez en situation réelle ;)

Les fonctions seront rangés dans l'ordre alphabétique.

Les registers

x86-registers.png

Les fonctions

dest = destination
source = source
param = paramètre
func = fonction


add dest,source
Ajouter "source" à "dest"
exemple:
add eax,2 ;ajoute 2 à eax

call func
Appeller une fonction
exemple:
mov eax,1000
push eax
call Sleep ;Appelle la fonction Sleep
pop eax

cmp source,dest
Comparer la source et la destination
exemple:
mov eax,1337
cmp eax,1337 ;La condition est vrai
je vrai
ret
vrai:
sub eax,1337

jmp dest
Aller directement à une autre partie de code situé à "dest"
exemple:
jmp suite
mov eax,1337 ;ceci ne va pas avoir lieu car on va directement au code "suite"
suite:
add eax,1337

jne dest
Aller au code "dest" si la condition est fausse (souvent après un cmp ou un test)
exemple:
cmp eax,1337
jne pas_egal
sub eax,1337
pas_egal:
ret

mov dest,source
déplacer "dest" dans "source"
exemple:
mov eax,1337 ;eax est maintenant égal à 1337

pop param
retire "param" du stack
exemple:
mov eax,1000
push eax
call Sleep
pop eax ;libère eax

push param
pousse "param" en haut du stack
exemple:
mov eax,1000
push eax
call Sleep
pop eax


sub dest,source
Retirer "source" à "dest"
exemple:
sub eax,2 ;retire 2 à eax

 
Last edited:
  • Like
Reactions: [I]Pod

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
C'est un très bon départ :p
Petite note : dans call tu as mis un quote sans la ferme (bbcode)
 

TheHardButcher

Programmeur C/C++
V
Dec 14, 2009
1,461
58
964
France
L'idée est pas mauvaise hein ;)

mais ça serait pas mal de faire un peu plus détailler, que ce soit au niveau du type d'assembleur ou des instructions ^^

Bref, on en parlera en perso, mais faire un petit tuto d'initiation a l'asm x86 pourrait être intéressant ;)