バイナリ解析系のコマンドメモ
strace ./hogehoge
プログラムを動的に解析することができる。プロセスが呼び出すシステムコールを記録し、内容を表示させることができる。一行当たりに表示できる文字数は32文字で増やしたい場合はsオプションをつける。
strace -s 1024 ./hogehoge
od -A x hogehoge
ファイルをバイナリ表示することができるコマンド。Aオプションをつけることでアドレスの情報を付加できる。
gdb hogehoge (gdb) disas main
gdbはデバッガである。disasし、フレームを指定することで逆アセンブルすることができる。また、動的にプログラムの実行状況を追跡していくことができる。
objdump -d hogehoge
逆アセンブルした結果を表示できる。
strings hogehoge
hogehogeに含まれる表示可能な文字列を表示してくれる。
readelf -a hogehoge
っていうのもあるみたいだ。
tcshにおけるエラー排除
大学内のterminalはtcshで動いており、そのサーバー内自分のディレクトリ外にfindコマンドを実行すると許可がないディレクトリへ多くの試行を行うためエラーがたくさん出ます。それをtcshで回避するためには
-> ( hogehoge > /dev/tty ) > & /dev/null
もしくは
-> hogehoge | & grep -v find:
としてエラーを除去することができるようである。
下記の方が自然に見える。上記は(hogehoge)>&とすることで標準エラー出力のみを取り出し、/dev/nullに送っている。また>/dev/ttyをすることで送ったデータが標準出力として表示される。
またこののち、標準出力されてきたデータに対してコマンドを実行したい場合はxargsコマンドを用いると良いようである。
例えば、
-> find ../* -name hogehoge | & grep -v find:|xargs head
とすることで、検索してきたファイルhogehogeそれぞれに対してheadコマンドを実行することができる。
パスワード付きpdfファイルの保存に関してのメモ
パスワード付きのpdfファイルを保存する場合には、google chromeの機能を用いるのが一番良い。
google chromeには表示しているpdfファイルを生の状態で新規に保存することができる。印刷という機能を用いることから、表示している部分をそのままpdfファイルとして落としこむことができるようである。
素直に名前を付けて保存することでもpdfファイルを保存することはできるが、その場合には保存したファイルを再度開く際にパスワードの入力を求められる。このパスワード入力の設定はpdfファイルそのものにされているため、pdfファイルをそのままコピーした場合には、コピーしたものについてもこの設定が生きているためであると考えられる。
そのため、パスワード付きpdfファイルとして保存した場合には別途パスワードを記録しておく必要があり、手間がかかる。
また、パスワードを忘れてしまった場合でも、静的にブルートフォースすればたぶんパスワードを解析することができるのではないかと思う。