クラッキングの背後にあるハック,パート1:ソフトウェア登録をバイパスする方法
あなたは今までソフトウェア海賊がソフトウェアを取り、それを何度も何度もクラックすることができますどのように疑問に思った場合,でも場 今日の最も先進的な海賊行為を打ち負かす方法であっても、世界のほぼすべてのプログラムを解読するのは比較的簡単です。 これは主に、アセンブリデバッガによって完全に操作されるコンピュータプロセスの能力によるものです。 これを使用すると、有効なキーを使用せずにアプリケーションのキーコード検証プロセスをスキップすることで、登録プロセスを完全に回避できます。 アセンブリを使用すると、プロセッサに直接話すと、登録プロセスの上にスキップを強制することができますので、これは動作します。
このヌルバイトでは、サンプルプログラム(私がハックする以外の目的を果たさないプログラム)を見て、実際にクラッキングがどのように機能するかを見てみましょう。 私はちょうどデモンストレーションのためのプログラムをクラックすることはできませんが、私の例に適用される技術は、あなた自身を作成するために必要な基礎を与える必要がありますので、私は、実際に合法的なプログラムをクラックする方法をあなたを歩くことはありません。 あなたが良いか悪いかのためにあなたの知識を使用したい場合は、その時点で、それはあなたの道徳のテストです。
要件
- Windows(例のみ、デバッガはプラットフォーム間で存在します)
- デバッガがインストールされています:IDA、ollydbgなど。 (例ではollydbgが使用されます)
ステップ1プログラムのテスト
まず、リバースエンジニアリングしようとしているプログラムを実行し、ランダムなキーでアクティブ化して、続行する これは、キーを思い付くことができることを確認することです。
ステップ2デバッガでプログラムを実行します
- ollydbgを実行します。
- ollydbgでバイパスしたいプログラムを開きます。
- 再生ボタンをクリックして、デバッガを添付してプログラムを実行します。
- CPUウィンドウを右クリックし、[Search For>All intermodular calls]をクリックします。
- 高金利のDllを検索します。 GETDLGITEMTEXTは、ソフトウェアキーを入力しようとすると呼び出されるダイアログボックス用です。 デバッガで関数にステップインすることで、登録を具体的に調べることができます。 SENDDLGITEMも使用できます。
- DLL呼び出しを右クリックし、その呼び出しのすべてのインスタンスにブレークポイントを設定することで、アクティベーションループから抜け出すために動作するかどうかをテストします。
- プログラムを再開し、好きなソフトウェアキーを入力します。 キーを入力した後にデバッガが壊れた場合(プログラムの実行を一時停止する)、ステップ5でDLLが見つかったことがわかります。
- CPUウィンドウでF8を押して戻り、テストEAXに到達するまで次のステップを強制します。 EAXは値の戻り値であり、ここでチェックが実行されていることを意味します。 検査すると、eaxがnull値と等しくない数値をチェックしていることがわかります。 これは、null以外のものに置き換えられた場合、実行されることを意味します。
- EAXを右クリックし、16進数の値を0ではなく1に変更します。
- 再びプログラムを再開すると、プログラムの有効化に成功します。そして証拠のためにそれは私に登録されました:
これは、プロセスを1つのレジスタからジャンプさせ、入力されたキーを検証するものをスキップするために機能します。 キー登録アルゴリズムを利用するには,キージェネレータを作る上で、このチュートリアルのパート2のために目を離さない. 組み立てのための万歳!
- フォーラムへの投稿
- IRCでチャット
- Twitterでフォロー
- Googleでサークル+
msbyron27経由の画像
クラッキングの背後にあるハックを経由して、パート1:上のソフトウェア登録をバイパスする方法null-byte.wonderhowto.com.
WonderHowToの記事をもっと読む”