はじめに |
まずはじめに、対象にどのような制限があるか、README.TXTなどをよく読み確認しましょう。
アナライズ |
対象がどのようにコンパイルされているかで、解析方法にも定石がありこれを確認するツールもありますが、バイナリエデッタを利用して確認できます。
などが定番で他、EXEファイルには、自己解凍ファイル、インストーラファイルなどいろいろあります。 それらを判定するツールとしてFile scanners/analyzersがあり Protools の「PE iDentifier 0.7 (99K)」 を使用して @関数電卓PRO v1.63 を見てみます。
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」ですね。
それらしい文字列「frmEntry」「Command1」「Command2」「mnuTouroku」「mnuShare」などを、
「PRO」→「ヘルプ」→「シュアウェア登録」で登録してみます。
だめですね〜!?
ヒットしません!?このソフトはVisual Basicでコンパイルされているのを思い出してください。 VBの場合Unicode文字列(WidCharFormat:)が使われる事があります。
とっても怪しい文字列があります!
「G R 8 0 4 9 1 6 F #」Unicodeでは2バイトで1文字なので「GR804916F#」で登録してみます。
みごと、登録できました。