Po drátě 5: Řešení úlohy č. 53

Klasická balíkářská úloha, jak by řekla Anička. Při hledání příčiny nahlášeného bugu je opravdu často využívaný nástroj strace. Ukazuje totiž, co program opravdu chce dělat (co si od žádá od kernelu) a ne jen, co si myslí uživatel, že program dělá. Proto je čtení výstupů z strace důležitá dovednost správce balíčku v Linuxu.

Tady v úloze je situace zjednodušená tím, že nás zajímá jen čtení a zápis do souborů. Jediný zádrhel je v tom, že se nejedná o jeden proces, ale je tam ještě proces druhý, který v průběhu vzniká a má trochu jinak očíslované file descriptory. Po pečlivém pročtení s papírem a tužkou není problém najít heslo kumpan.

Zajímavosti

Opravdu se objevil hráč, který si výstup z strace přepsal do C a program spustil.

Zdrojový kód programu generujícího uvedený výstup z strace. Nefunguje obecně, protože se spoléhá na konkrétní podobu chybového hlášení od shellu command not found.

Autorem úlohy je Milan, ale nápad vzešel na schůzce orgů, pravděpodobně od Aničky nebo od Martina.

Re: Po drátě 5: Řešení úlohy č. 53 tomi (8. 12. 2010 - 13:11) Sbalit(1)
Jo, ten hráč jsem byl já, a ten .c vypadá takhle: http://pastebin.dqd.cz/Yg7X/