More Related Content
Similar to 目grep入門 +解説 (6)
目grep入門 +解説
- 2. いいわけ 1
• なぜかよくわからないけど好評だったらしい
• でも
– いみわかんねwww
– 後半が意味不明
– つーかそれ目grep言わないでしょ
• というツッコミが…
• 頭おかしいというのがうけたらしい?
– 全然おかしくないよ!
• が、人によっては「ためになる資料です!!」というコ
メントもあったり
2 / 83
- 7. • テキストエディタでもなんとかなる時はありま
すが、基本的に辛いので無難にヘキサエディ
タを選びましょう。
– Null文字が消えたりするし
– プロポーショナル文字使われるし
– 折り返し位置がばらばらだし
– などなど…?
7 / 83
- 17. 目grepに必要な知識
•シグネチャ(マジックナンバー)
•見た感じ(パターン)
あくまで個人的な意見なので、人によって違うと思います。
17 / 83
- 21. • txt
– Shift_JIS, EUC-JP, UTF-8, UTF-16…
• ゲームが使うファイル
• bmp
• wav
• exe, com, bin…
• jpg, png, gif...
• lzh, zip, cab, rar...
下に行くほど規則性が無くなっていく(高エントロピー)ように並べて
みました。あくまで感覚です。
21 / 83
- 22. 説明があまかった…
• このスライドで説明するときに使うビットマップビューは
Binary Editor BZのものです。
– stirlingも同じ色づけらしい….?
• 1ドット1バイトに相当します。横幅128ドット。
• 1ドットごとの色はその部分に当たるデータの値により
ます。
• 色づけは以下の通り
– 白 : 0x00 (NULL文字)
– 水色 : 0x01~0x1F (ASCII制御文字)
– 赤 : 0x20~0x7F (ASCII普通の文字)
– 黒 : 0x80~0xFF (MSBが立っている)
• 詳しくはBZのヘルプをご覧ください。
22 / 83
- 23. • txt
– Shift_JIS, EUC-JP, UTF-8, UTF-16…
• ゲームが使うファイル
• bmp
• wav
• exe, com, bin…
• jpg, png, gif...
• lzh, zip, cab, rar...
23 / 83
- 24. テキストファイルなの
で普通に読めます。
ASCIIの普通の文字と
たまにCR/LFの制御文字があるので
赤(ちょっと水色)になります
ASCII
24 / 83
- 25. ASCII文字だけのUTF-16は
1文字ごとに0x00が入るので
こんな感じになります。
BOM
ASCII(UTF-16)
ビットマップは縦縞になります。
25 / 83
- 26. 日本語はMSBが立つことが多いので
ビットマップは黒くなってきます。
日本語だけだとほとんど黒(+水色)に。
以降、ここはShift_JISで表示します。
これはShift_JISなので普通に読めます。
Shift_JIS
Shift_JISは
81、82が多い感じ
(=ひらがな)。
26 / 83
- 32. txt
– Shift_JIS, EUC-JP, UTF-8, UTF-16…
• ゲームが使うファイル
• bmp
• wav
• exe, com, bin…
• jpg, png, gif...
• lzh, zip, cab, rar...
32 / 83
- 33. ゲームが使うファイルは
モノによるので説明は適当…
PNGの部分 このファイルには
PNGファイルがありますね。
(臼NG、IHDR、IDATなど…)
よくあるのはパラメータとかが
書いてあるパターンで、
固定長(縦か斜めに揃う)で
疎な感じに見えます。
33 / 83
- 34. txt
– Shift_JIS, EUC-JP, UTF-8, UTF-16…
ゲームが使うファイル
• bmp
• wav
• exe, com, bin…
• jpg, png, gif...
• lzh, zip, cab, rar...
34 / 83
- 35. BMPのシグネチャ
この画像の場合
カーブの部分が
ビットマップビューに見えます
BMPのようなべた画像の場合は
繰り返しが見られます。
35 / 83
- 37. txt
– Shift_JIS, EUC-JP, UTF-8, UTF-16…
ゲームが使うファイル
bmp
• wav
• exe, com, bin…
• jpg, png, gif...
• lzh, zip, cab, rar...
37 / 83
- 38. wavファイルのようなべた音声は
まだら模様が見えます。
wavファイルの
同じ文字が繰り返される シグネチャ
ことが多い
PCM 11k 8bit mono
38 / 83
- 41. ADPCMは水色が多いことが
多かったです。
ADPCMの場合、
まだら模様は見えにくいです。
でも水色率の波は見えたかも。
ADPCM 11k 4bit mono
41 / 83
- 42. txt
– Shift_JIS, EUC-JP, UTF-8, UTF-16…
ゲームが使うファイル
bmp
wav
• exe, com, bin…
• jpg, png, gif...
• lzh, zip, cab, rar...
42 / 83
- 43. 黒っぽい 白・水色っぽい 赤っぽい ぐちゃー
ごま塩
ARM、MIPS、SPARCは x86は命令が
命令が固定長(32bit)なので縦に揃う 可変長なので
揃わない
(ここではTHUMBモードは無かったことに…)
43 / 83
- 44. x86-64は赤っぽい
ですね。 (ごま塩)
ごまではない塩。
白の部分が
多いような
気がします。
44 / 83
- 45. txt
– Shift_JIS, EUC-JP, UTF-8, UTF-16…
ゲームが使うファイル
bmp
wav
exe, com, bin…
• jpg, png, gif...
• lzh, zip, cab, rar...
45 / 83
- 48. gzipのシグネチャ
1F 8B (08)はあまりにも有名
やはりデータ部は
ぐちゃぐちゃ
(おまけ)gzip
48 / 83
- 49. (PDFの一部より、選択部分)
zlibのシグネチャ。78 9Cは有名。
他にも78 DA、78 01などたまにあり
やはりデータ部は
ぐちゃぐちゃ
(あ、ここPDF部分ですね…)
(おまけ) zlib
49 / 83
- 61. Unallocatedで不吉ってなによ
• 最近、CTF(ハッキングコンテスト)の問題として出
始めました
• ファイルシステムの未使用領域(unallocated
area)だけを切り取ったファイルを渡されるので、
そこからkeyを見つけ出す作業になります
• 削除されたファイルが鍵となることが多いです
• ファイル名、クラスタチェーンなどの情報
(metadata)が無いため、解くのはかなり難しい事
が多いです
– かなり断片化してたら解くのは無理レベル
61 / 83
- 65. (さらにさらにスクロール後)
FILEレコードがある…
どうやらNTFSの未使用領域を
集めたモノらしいな。
FILEレコードが並んでいるので
ここはMFTだった場所らしい。
ここには例のzipファイルの情報は
ありませんでした…。
65 / 83
- 71. さらにスクロール後
ここも縞々だ
と思ったらzipの終わりが見えた
71 / 83
- 75. スクロール後
なんとなく、
ビットマップのような気がするな…
rawファイルを表示できる
画像ビューアで見てみるか!
75 / 83
- 78. 目grep入門
完
解説はもうちょっとだけ続くのじゃ
78 / 83
- 79. • いかがでしたか?
• すこしでも分かっていただけたら幸いです。
• 他にもPNGやGIFやmp3やLZHや7zやBZ2や
LZSS(アルゴリズム)やLZMAやXORで暗号化され
たデータなどなどなどなど…も盛り込みたい所です
が、力尽きました。
– (というより、よくこの内容8分で話したな…)
– 以上の形式はみなさまの宿題ということで。
– \えー/
79 / 83
- 80. 解決したかな?
• いみわかんねwww
• 後半が意味不明
– おわかりいただけたと思います。
• つーかそれ目grep言わないでしょ
– 私の場合、元々CTFでkeyを探すところから知られ
たので、目grepと言われていました。
– 「というかg/re/pではないよね」というツッコミに関
しては…まあその通りだと思います。reもpもない
し…
80 / 83