Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

stringsコマンドでバイナリの中身(の表示できるところ)を表示する

普通、バイナリファイルの中身はわかりません。
ところが、stringsコマンドをつかうと、バイナリファイルの中身で表示できるところを表示できます。

実際のところ

STRINGS(1) STRINGS(1)

NAME
strings - find the printable strings in a object, or other binary, file

SYNOPSIS
strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ]
[--] [file ...]

というわけで、文字列として結果が返ってきます。

$ strings /usr/bin/make | head
/lib64/ld-linux-x86-64.so.2
ha@&M
=Yg-
}(>v
DuM&<:
OLCU0
~hJ5
cK72
NfUa
u;}Y*2


文字列で格納されてる部分は表示できるようになるので、
生テキストとして保存されてる設定値やコマンドオプションの説明なんかもサルベージできるかもしれません。
難読化をかけてる場合、その限りではありませんが、自作ツールでド忘れしたようなことがあったときに、こういうのを使うのも手でしょう。