解析講座・初歩の初歩

 はじめに

まずはじめに、対象にどのような制限があるか、README.TXTなどをよく読み確認しましょう。

 A シリアルを入力出来るもの

 B シリアルを入力出来ない体験版

 C 特別なファイル、ソフトが必要なもの

※ まずは、シリアルを入力出来るものについてを考えます。


 アナライズ

対象がどのようにコンパイルされているかで、解析方法にも定石がありこれを確認するツールもありますが、バイナリエデッタを利用して確認できます。






などが定番で他、EXEファイルには、自己解凍ファイル、インストーラファイルなどいろいろあります。 それらを判定するツールとしてFile scanners/analyzersがあり Protools の「PE iDentifier 0.7 (99K)」 を使用して @関数電卓PRO v1.63 を見てみます。

PE iDentifier設定

PEiD設定画面

PEiDは対象を、OpenFileで指定、アイコン上にドラッグでもファイルをスキャンできますが、 Misc optionsのShell Extensionをチェックすることで右クリックメニューに登録されます。 @関数電卓PRO.exe 上で「右クリック」→「Scan with PEiD」としてみましょう。

スキャニング画面

日本語は文字化けするようですが、大切なのはInformation Microsoft Visual Basic 5.0 の部分です。これでコンパイラーが確認できました。もうひとつ、EP Section が 「.text」 になってる部分も大切です。ここが、「UPX1」とか「.text」以外の表示になっていたら、 そのファイルはパックされてます。今後ふえることでしょう。

※ アナライザーとは、ウィルスチェックと同じくパターンチェックをしてるだけで、 パターンが登録されてなければ判別できません。最新版を入手しましょう。


 バイナリ

バイナリ(倍直)とは、バイナリエディタで表示される文字列がそのままパスワードになってるもので、 内部では、そのまま全部一度に比較してる場合と、一文字づつ比較してる場合があります。 なかには、文字列+内部計算数字などもあります。

@関数電卓Stirling(スターリング) を使用してを見てみます。

Stirling.exeのショートカットをC:\WINDOWS\SendToに入れておけば、
@関数電卓PRO.exe 上で「右クリック」→「送る」→「Stirling」ですね。

文字列「登録」で検索

検索1 検索2 検索3 検索4

それらしい文字列「frmEntry」「Command1」「Command2」「mnuTouroku」「mnuShare」などを、
「PRO」→「ヘルプ」→「シュアウェア登録」で登録してみます。
だめですね〜!?

では、文字列「パスワード」で検索

ヒットしません!?このソフトはVisual Basicでコンパイルされているのを思い出してください。 VBの場合Unicode文字列(WidCharFormat:)が使われる事があります。

Unicode文字列を探す設定にします。

Unicode設定

文字列「登録」で検索

Unicode検索1 Unicode検索2

とっても怪しい文字列があります!
「G R 8 0 4 9 1 6 F #」Unicodeでは2バイトで1文字なので「GR804916F#」で登録してみます。 みごと、登録できました。

※ 倍直だとしてもキーワードから正規パスが離れている場合も有ります。
バイナリエディタ(2進編集器)とは和製英語で、正式にはヘックエディタ(HexEditor)です。