サイトアイコン CAD日記

いたちごっこ2

恐るべしクラッカー。万全と思われた対策も空しく、2回目のクラックが行われたところから話は始まります。

●2度目のクラック

開発者は、某シリアル系クラックサイトで2度目の衝撃の遭遇しました。クラック結果として掲載されていたのは、以下のようなものでした。

?????.exe

1a59:c3 db

51ce:f1 fe

まず、意味がわかりませんでした。意味を調べること、そこから2回目の戦いが始まりました。

●調査

前述のクラックサイトでは、親切なことにあれこれとチュートリアルが書いてありました。クラッカー養成講座のようなものです。読むこと小一時間、基礎は頭に入りました。

前に書いた16進数の羅列のようなもの、それはバイナリ編集の方法でした。コロンの前が、exe ファイル中の位置、コロンの後からスペースの前までが元の値、スペースの後が変更する値です。業界用語でパッチを充てるというそうです。クラッカーは、IDとパスワードが絶対に入力できないということがわかったので、バイナリ編集するという領域に足を踏み入れたわけです。調査の結果、クラック結果の2箇所の変更により、プログラム中の日付判定部分と、試用版ですという確認メッセージを表示している部分をスキップされてました。

●パッチの充て方

巷には、フリーのバイナリエディタが転がってます。開発者がよく使っているのが、Stirlingというソフト。もちろん、パッチを充てるために使っていたわけではありません。Stirlinをもとにパッチの充て方を紹介したいと思います。決して難しい操作ではありません。まずは対象のexeファイルを開きます。次にメニューの[検索・移動]の中の[指定アドレスへ移動]を実行して、最初の数値を入力してOK。カーソルがあるところに2番目の数値(元の値)が入っているので、3番目の値(変更する値)を入力します。これで保存すれば、パッチ完了です。試用者にとって、IDとパスワードを入力することに比べたら、バイナリエディタが必要なぶんだけややこしい方法になります。

●対策

開発者は、実は最初の対策を行ったとき、こんなような結果が出ることは予想していました。バイナリ編集という手法があるということは知っていたので、次はこうなるかもしれない、という淡い予想がありました。バイナリ編集してまで、シェアウェアを使い続けるという試用者は少ないとも思ったので、次の対策をとるべきかどうか悩みました。いたちごっこなのは目に見えてるし、でも悔しいし。。。

夢でうなされること3日、対策することにしました。

開発者は考えました。クラッカーは、クラック技術においては優れているだろうが、シェアウェアの技術的なことはわからないだろうと。バイナリ編集することによりスキップされた処理の中にチェックポイントを設けて、そこを通らなかったら、シェアウェアの見た目上の動きは正しく動作させるけど、結果できあがる成果物に細工をしようということです。成果物はファイルとして出来るのですが、そのファイルの中身を空にしてしまおうというものです。中身が空かどうかは、そのシェアウェアを使いたい人にしかわからないので、クラッカーにはわからないという理屈です。さらにチェックポイントを多数設けて、バイナリ編集ポイントを増やしてやろうということも考えました。対策して数日後、やはりいたちごっこは続くのでした。

つづく

モバイルバージョンを終了