Bonjour
J'ai récemment commencer à travailler sur la sécurité des programme C en réalisant des LD_PRELOAD afin de d'utiliser mes lib et les preload en mémoire avant la lib normal.
Assez fun à faire je dois avouer.
Seulement je me retrouve maintenant devant un exercice d'un tout autre genre, la règle du jeux reste la même afficher une clé "PASS"
bref je me retrouve pour cet exo devant un flot d'information assez important et ne sait par où commencer à chercher.
Parmis les info d'aide:
Avec tout ceci je doit donc afficher le "PASS" du code suivant...-des info sur l'architecture x86 avec ces 4 niveaux et leurs droits cela je l'avoue je ne vois pas ce que je peux en faire
-ktruss : permettant de connaitre les appel système d'un binaire et leur valeur de retour
-Une explication succincte du format elf : composé de plusieurs structure avec présentation de sa principal
-objdump : malheureusement le binaire de test ne permet pas son utilisation.
-notion sur les constructor et destructor : je comprend l'utilisation, mais je dois avouer que leurs utilité concrète m'échappe complètement.
je ne demande pas de réponse, mais plutôt des pistes vers lesquels creusé, ou bien si vous avez, des sites utiles pour ce genre d'application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <stdio.h> #include <string.h> int main(int ac, char **av) { char text[] = "PASS"; printf("Try this one :)\n"); return (0); }
ktruss m'est peu utile, car PASS n'est utilisé par aucun syscall, objdump n'est pas possible donc je passe, et les constructor/destructor ne peuvent pas à ce que je sache utiliser le contenu de la fonction main.
Quand au LD_PRELOAD je ne peux recoder un printf pour appeller text vu que text est hors de la fonction printf...
bref je suis dans une impasse.
Partager