Il punto di questo enigma è imparare come un codice dannoso può essere nascosto e scoperto in un programma.
Una persona sta ponendo la domanda:
Per favore, mi dia un codice che come posso cercare un file può essere nella directory attuale o nelle sue sottodirectory.
(Questa è una variante di una vera domanda che ho visto pubblicato su un sito.)
Per essere più specifici: l'OP vuole che tu scriva un programma che accetta una stringa e una directory. Attraverserà tutti i file nella directory e ricorsivamente tutte le sue sottodirectory. Per ogni file controllerà se il file contiene la stringa e, in tal caso, stamperà il nome del file. (Se lo desideri, il programma può avere funzionalità aggiuntive purché siano rilevanti per l'obiettivo principale.) Non ci sono requisiti per l'ordine di attraversamento.
Tuttavia, il compito principale di questo puzzle è quello di nascondere nel programma un codice aggiuntivo che renderà sciocco la persona che richiede il programma agli occhi dei suoi utenti / colleghi / capo / ecc. Ad esempio, stampare un testo umiliante ad un certo punto, come ad esempio: L'autore del programma non sa come programmare, dovrebbe restituire il diploma e essere licenziato. Essere creativo.
Regole:
- La soluzione non deve essere dannosa (tranne che per rendere pazzo l'OP, ovviamente). Non deve arrecare alcun danno irreversibile agli utenti finali (niente di simile
rm -rf
)! Tali soluzioni saranno squalificate. - Le cose da pesca a traina dovrebbero essere nascoste in modo che l'OP non le trovi facilmente.
- Non dovrebbe essere ovvio che stai trollando l'OP. Il codice dovrebbe apparire autentico.
- La soluzione deve fornire una spiegazione adeguata di come troll l'OP in modo che tutti possano imparare qualcosa dalla tua soluzione. La spiegazione dovrebbe essere nascosta in un testo nascosto fino allo scatto (spoiler) . Nel giudicare, prova a scoprire la pesca a traina senza guardare la spiegazione e vota per quelli che sono difficili da scoprire.
- Cerca anche di nascondere la traina dall'OP se tenta di eseguire il codice alcune volte. Forse iniziare a pescare a traina solo dopo una determinata data o in alcune condizioni che un programmatore sciatto non testerà. Sii creativo e non dimenticare di spiegare il trucco.
- Non solo creare uno script utilizzando strumenti esistenti come
grep
ofind
. Scrivi il programma da zero. Meglio evitare le librerie e preferire le chiamate di basso livello: questo renderà il codice più complesso e ti darà l'opportunità di nascondere le cose malvagie lì.
Questo è un concorso di popolarità . Si prega di giudicare in base ai punti precedenti.