ソフトウェアのデバッグにおいて最も重要なのはブレークポイントを設定することです。したがって、どのようにブレークポイントを設定するかは、重要なテクニックとなります。
例えば、ダイアログボックスが表示される場合はMessageBoxAに、レジストリ関連の場合はRegOpenKeyAにブレークポイントを設定するなどです。
もちろん、ボタンイベントに直接ブレークポイントを設定できれば、さらに便利です。ボタンイベントに到達すれば、すぐにコアコードにたどり着き、クラックまであと一歩となるからです。
本稿では、各種言語におけるボタンイベントの探し方をまとめます。もちろん、VBexplorer、DEDE、ECEなどのツールを利用することも可能です。
一、VBプログラム
実は、VBのボタンイベントの探し方は最も一般的で、いわゆる万能ブレークポイントと呼ばれるものです。これはボタンイベントだけでなく、NAGスクリーン(催促画面)の解除、スプラッシュスクリーン、グレーアウトまたは非表示のボタン、起動時のタイマーイベントなど、他にも多くの用途があります。具体的な活用法は各自で研究してください。ここではボタンイベントに絞って説明します。
ODでロードした後、CTRL+Bで816C24を検索します。
二、DelphiおよびBC++プログラム
DelphiとBC++は同じ会社によって開発されたため、探し方は同じです。もちろん、DEDEを使用することもできます。
ODでロードした後、CTRL+Gで00401000に移動します。
次にCTRL+Bで、シグネチャ740E8BD38B83????????FF93????????を検索します。
その後の作業は、CTRL+Lで検索を続け、F2でブレークポイントを設定することの繰り返しです。
三、E-language(易言語)
E-languageのこの探し方は、パックされているプログラムにも適用できます。他の言語の場合は、まずアンパックしてから操作する必要があります。
ODでロードした後、F9でプログラムを実行します。プログラムが実行されたら、
CTRL+BでFF 55 FC 5F 5Eを検索します。
四、VC++プログラム(非MFCプログラム)
ODでロードした後、右クリックし、「検索」から「すべてのコマンド」を選択します。
表示された入力ボックスに、特徴的なコードsub eax,0aを書き込みます。
ブレークした後、F7でステップインし、F8で数回ステップオーバーすると、ボタンイベントに到達します。
五、MFCプログラム
もちろん、プログラムがMFCか非MFCかの判断は、各自で行う必要があります。
プログラムを実行し、CTRL+Fで特徴的なコードsub eax,0aを検索します。
ブレークした後、F7でステップインし、F8で数回ステップオーバーすると、ボタンイベントのコードに到達します。
まとめ:各種言語のボタンイベントのシグネチャ
VB:
816C24
Delphi & BC++ :
740E8BD38B83????????FF93????????
MFC:
sub eax,0a
VC++:
sub eax,0a
E-language(易言語):
FF 55 FC 5F 5E または (e-debug)
万能ブレークポイント:
F3A58BC883E103F3A4E8
ボタンイベントの使用方法については、私のゼロから学ぶクラックシリーズチュートリアル をご覧ください。
本稿の一部はインターネットから引用したものです。