J'apprends Python. Jusqu'à présent, je ne faisais que du codage Python de base. Il y a un jour, j'ai vérifié l'implémentation de la tree
commande python . Soudain, j'ai pensé à créer un clone Python pour uptime
. Je n'ai aucune idée de la langue dans laquelle il est implémenté et de la complexité de son clonage.
Mais je n'ai pas pu trouver son code source. J'utilise Fedora 14. Le package kernel-devel est installé. Je l'ai fait, whereis uptime
mais le /usr/bin/uptime
fichier résultant montre des symboles étranges lorsqu'il est ouvert à l'aide de vim. La recherche de son code source sur Google ne pouvait pas non plus donner les résultats souhaités. Où puis-je trouver son code source?
strace
. Il montrera tous les appels système effectués par votre application. Si vous l'exécutez, strace uptime
il afficherait (après le chargement) les appels ouverts sur / proc / uptime et / proc / loadavg. Bien qu'il ne montre pas tout, c'est parfois un début décent sur la rétro-ingénierie
file /usr/bin/uptime
. La commande file utilise une série d'heuristiques semi-magiques pour deviner le contenu du fichier - dans ce cas, un exécutable binaire au format ELF.