Bonjour, je me suis aujourd'hui penché sur LD_PRELOAD pour charger une fonction personalisée avant le chargement de celle du système, cela fonctionne parfaitement en C, mais je souhaiterais faire ca en ASM, voici le programme en C:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
#include <string.h>
#include <stdio.h>
int main(){
	char chaine[] = "Hello World";
        int i = strlen(chaine);
        printf("%d",i);
        return 0;
}
Le but étant de remplacer la fonction strlen, et voici le code assembleur !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
section .text
externes:
	global strlen
 
strlen:
       	mov eax,1
        ret
Oui je sais, ce code n'est pas l'équivalent de la fonction strlen, et cette fonction est censée retourner 1 si je ne me trompe pas.
Mais après je ne sais pas comment faire, comment compiler ce code comme une librairie pour pouvoir le faire passer en LD_PRELOAD ?

Merci