プログラムがコピーされるのを防ぐ仕組みを知りたいと思ったことはないだろうか?適切なツールがあれば、プログラムの内部構造を調べ、リバースエンジニアリングを試すことができる。始めるには、アセンブリ・プログラミングと16進コードをしっかり理解し、逆アセンブラ・アプリが必要だ。一度コードに慣れれば、DLLを修正して対応するプログラムを登録したり購入したりする必要がなくなる。
1
アセンブリ・プログラミングと16進コード操作を学ぶほとんどのソフトウェアをクラックするには、低レベルのプログラミング言語であるアセンブリ言語が必要です。 アセンブリ言語は機械語から派生したもので、それぞれのアセンブリ言語は使用しているコンピュータの種類に固有です。ほとんどのアセンブリ言語は、バイナリと.NETコードで表現されます。
2
逆アセンブラをインストールする。DLLを調べたり変更したりするには、逆アセンブラを含むいくつかの異なるツールが必要です。幸いなことに、プロ・バージョンよりはるかに機能が制限されていますが、フリー・バージョンもあります。また、.NETのアセンブリコードをC#に逆コンパイルするDLLサポート逆コンパイラである 、もあります。 別のオプションは、無料でDLLファイルを開くことができる 、です。
3
逆アセンブラでクラックしたいアプリケーションを開きます。どの逆アセンブラを使用するかによって、プロセスは少し異なります。これで、プログラムによってロードされている DLL ファイルがわかります。デバッガを使って、どの関数が DLL から呼び出されているかを調べてください。
4
カウンタ関数を見つける。多くのプログラムではコピー防止にタイマーを使用しており、タイマーが切れるとユーザーはそのプログラムにアクセスできなくなります。目標はこのカウンターコードを見つけ、それをバイパスすることです。
- もし、あなたがクラックしようとしているプログラムが別の形式のプロテクションを使っている場合は、代わりにそれを探す必要があります。
5
カウンターにブレークポイントを設定する。カウンタ関数を分離したら、その関数に遭遇したときにブレークするように逆アセンブラを設定する。こうすることで、カウンタ関数が呼び出されたときに発生している正確なコードを見ることができます。
6
カウンターのコードを変更する。カウンタ関数のコードを見つけたので、カウンタがプログラムからシャットアウトされるポイントに到達しないように、コードを変更することができます。例えば、カウンタがブレーク限界までカウントアップできないようにしたり、カウンタを飛び越えてバイパスできるようにしたりすることができる。
7
新しくクラックしたソフトウェアを再コンパイルする。逆アセンブルして編集した後、あなたの変更が DLL ファイルや他の依存関係に反映されるように、新しいバージョンのプログラムをコンパイルする必要があります。
この記事は、CC BY-NC-SAの下で公開された " How to Crack Software by Modifying DLL Files " を改変して作成されました。特に断りのない限り、CC BY-NC-SAの下で利用可能です。
コメント
最新を表示する
NG表示方式
NGID一覧