ファイルに含まれる文字列検索 (Strings, BinText, istrings)

  • マルウェア、オフィス文書、メモリダンプ等のファイルから文字列を抽出したい場合がある。
  • 以下のツールを使用することにより、比較的簡単に文字列抽出を行うことが出来る。

Strings

BinText

istrings

  • 様々な文字コードに対応した strings コマンド。
  • 日本語文字列を抽出したい場合に使用する。
  • 標準(初期設定ファイル)では、以下文字コードに対応
    • ASCII
    • Windows-31J
    • Shift_JIS
    • UTF-16LE
    • UTF-16BE
    • UTF-8
    • base64
    • ISO-8859-1
  • C:\Program Files\istrings-0.2 以下に置かれることを想定してコンパイルされているので、実行時に注意が必要。

istringsを任意のフォルダで実行させたい場合

  • ソースコードが配布されているため、cygwinでコンパイルする。
  • istrings-0.2.lzhをcygwin上で解凍後、istrings-0.2フォルダに移動
  • cygwin1.dllをistrings-0.2フォルダにコピー
  • Makefileを適当なファイル名(Makefile.bak等)にリネーム
  • Makefile.gccをMakefileにリネーム
  • Makefileを以下のように修正
# Makefile for VC++

TARGET=istrings
LINTFLAGS=-nullasign
INIFILE=./istrings.ini
#INIFILE="C:\\Program Files\\istrings-0.1\\istrings.ini"

※以下省略
  • コンパイルを実行(make)
  • istrings.iniを以下のように修正
[ASCII]
alias=us-ascii
alias=ANSI_X3.4-1968
alias=US
system=dbcs
mapfile0=./map/ascii.map

[Windows-31J]
alias=CP932
alias=MS932
system=DBCS
mapfile0=./map/cp932-1.map
mapfile1=./map/cp932-2.map

[Shift_JIS]
alias=X-SJIS
alias=ShiftJIS
alias=SJIS
system=dbcs
mapfile0=./map/cp932-1.map
mapfile1=./map/sjis.map

[UTF-16LE]
alias=utf-16
system=utf-16le
mapfile0=./map/unicode.map

[UTF-16BE]
system=utf-16be
mapfile0=./map/unicode.map

[UTF-8]
system=utf-8
mapfile0=./map/unicode.map

[base64]
system=dbcs
mapfile0=./map/base64.map

[ISO-8859-1]
system=dbcs
mapfile0=./map/iso-8859-1.map

;not implemented
[EUC-JP]
alias=Extended_UNIX_Code_Packed_Format_for_Japanese
alias=csEUCPkdFmtJapanese
alias=ujis
alias=eucjp
system=ISO-2022

;not implemented
[ISO-2022-JP]
alias=jis
system=ISO-2022
  • 以下のような警告が出る場合は、システム環境変数にCYGWIN変数を追加すること。
    • 変数名: CYGWIN
    • 変数値: nodosfilewarning
cygwin warning:
  MS-DOS style path detected: D:\Workspace\aaa.exe
  Preferred POSIX equivalent is: /cygdrive/d/Workspace/aaa.exe
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
forensics/strings.txt · 最終更新: 2012/02/16 04:55 by kikuzou
 
特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki