ファイルの先頭バイトには、そのファイルのフォーマットを識別するための情報 (マジックバイト) が埋め込まれている。
フォーマット名 | マジックバイト (Ascii) | マジックバイト (Binary) |
|
|
misc の問題を解く場合に良く使うかもしれない。
ファイルから文字列を抜き出してくれる。基本的に grep と組み合わせて使う事が多い
λ strings full-mueller-report.pdf | grep actfactf{no0o0o0_col1l1l1luuuusiioooon}
バイナリのダンプコマンド。同じようなツールに hexdump
などがある。
head
や tail
コマンドと組み合わせて使う場合もある。
λ xxd blank_paper.pdf | head -n 100000000: 0000 0000 2d31 2e35 0a25 bff7 a2fe 0a33 ....-1.5.%.....3
バイナリの編集等ができます。
λ echo -n "%PDF" | dd of=blank_paper.pdf bs=1 conv=notrunc4+0 records in4+0 records out4 bytes transferred in 0.000802 secs (4987 bytes/sec)
オプション | 意味 |
of | 標準出力の代わりにファイルへ書き込む。 |
bs | 1回に読み書きするブロックサイズ(バイト数) |
conv | 指定しないと書き換えたデータがファイルの末尾となり、以降に存在していたデータは削除されてしまう。 |
ターミナル上でめっちゃ良くつかうプログラミング言語
stream editor の略。これもちょっとした編集で良く使う
ターミナルからリクエストを飛ばしたり、ファイルを保存できたりするので便利。同様のツールに wget
などがある。
λ curl <url> -O