Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック問題120

問題120 謎のデータの調査

問題のファイルは

https://github.com/shellgei/shellgei160

からダウンロードできる。

base64っぽいなと思ったがデコードするときに-d をつけ忘れてわけのわからないものを生成してしまった。圧縮ファイルであるところまでは分かったが、解凍後のファイルをどう扱えばいいのかまったくわからず詰まってしまった。

解答例は

base64 -d enigma | gunzip > a && mkdir tmp && sudo mount -o loop -t msdos a ./tmp/ && ls ./tmp/ && sudo umount ./tmp/ && rmdir ./tmp/ && rm a

となる。

解答ではループバックデバイスというデバイスファイルを使って解凍後のファイルをディレクトリにマウントしていた。この処理がなんだかよくわからない。デバイスファイルはハードウェアとコンピュータのインターフェースの役割を果たしているというのはなんとか呑み込めたが、そのあとハードウェアをマウントする場所をどうするかという話となんの関係があるのかよくわからない。そのままデバイスファイルのおいてある場所を参照するのではダメなのだろうか。