Ich lerne Python. Bis jetzt habe ich nur grundlegende Python-Codierung durchgeführt. Vor einem Tag habe ich die Python-Implementierung des treeBefehls überprüft . Plötzlich dachte ich daran, einen Python-Klon für zu erstellen uptime. Ich habe keine Ahnung, in welcher Sprache es implementiert ist und wie komplex das Klonen sein würde.
Aber ich konnte den Quellcode nicht finden. Ich verwende Fedora 14. Das Kernel-Entwicklungspaket ist installiert. Ich habe es getan, whereis uptimeaber die resultierende /usr/bin/uptimeDatei zeigt seltsame Symbole, wenn sie mit vim geöffnet wird. Das Googeln nach dem Quellcode konnte ebenfalls nicht zu den gewünschten Ergebnissen führen. Wo finde ich den Quellcode?
strace. Es werden alle Systemaufrufe angezeigt, die Ihre Anwendung ausführt. Wenn Sie ausführen strace uptime, werden (nach dem Laden) offene Aufrufe von / proc / uptime und / proc / loadavg angezeigt. Obwohl es nicht alles zeigt, ist es manchmal ein anständiger Start in das Reverse Engineering
file /usr/bin/uptime. Der Befehl file verwendet eine Reihe von halbmagischen Heuristiken, um den Inhalt der Datei zu erraten - in diesem Fall eine binäre ausführbare Datei im ELF-Format.