Linux : Récupérer les informations lisible d’un binaire
Nous n'allons pas là évoquer le reverse engeenering, mais une première approche de la sécurité applicative.
Bon nombre de programme aujourd'hui sont crypté et donc peu de chaine(texte) reste en claire (visible) ....
Mais certains programmes sont encore facilement exploitable grâce à la commande "strings".
Pas besoin d'être un génie pour savoir l'utiliser...
"strings" permet d'extraire toutes les parties "texte" d'un fichier.
Je vous ai fait un petit "crackme" pour illustrer un peu l'utilisation que l'on peu en faire :
Un programme basique, la fonction main se contente de vous demander un mot de passe, dès que vous l'avez trouvé, le programme se termine, sinon il continu à vous redemander le mot de passe...
Et si vous êtes un peu observateur vous pourrez voir le mot de passe :
if (egale(password, "pwdsecret")){
write(1, "Bien Joué\n",11);
return 1;
}
Mais ici nous sommes dans le code source du programme ... qui sera compilé et qui ressemblera à ça après :
Testons un peu le programme :
Ralalalala impossible de trouver le mot de passe mais avec la fonction strings :
Strings crackme
Hop j'ai trouvé le mot de passe, plus qu'a l'essayer :
Magique ^^
Bon après vous pouvez également vous en servir pour voir si il y aurais pas des saloperies dans vos programmes .... bref un tas d'usage bien sympathique