Sto imparando Python. Fino ad ora ho fatto solo la codifica Python di base. Un giorno fa, ho verificato l'implementazione del tree
comando di Python . All'improvviso ho pensato di creare un clone di Python per uptime
. Non ho idea di quale lingua sia implementata e quale sarebbe la complessità della clonazione.
Ma non sono riuscito a trovare il suo codice sorgente. Sto usando Fedora 14. Il pacchetto kernel-devel è installato. L'ho fatto whereis uptime
ma il /usr/bin/uptime
file risultante mostra strani simboli quando viene aperto usando vim. Anche googling per il suo codice sorgente non può produrre i risultati desiderati. Dove posso trovare il suo codice sorgente?
strace
. Mostrerà tutti i syscalls creati dalla tua applicazione. Se lo esegui strace uptime
mostrerebbe (dopo il caricamento) le chiamate aperte su / proc / uptime e / proc / loadavg. Anche se non mostra tutto, a volte è un buon inizio per il reverse engineering
file /usr/bin/uptime
. Il comando file utilizza una serie di euristiche semi-magiche per indovinare il contenuto del file - in questo caso, un eseguibile binario in formato ELF.