サイトアイコン CAD日記

クラッカー

知人が被害を受けました。以下、知人の経験談です。

便利なソフトを作って一儲けしたい!

シェアウェアとして公開して、誰でもダウンロードできるようにすることを考えました。まずは使ってもらわないと、その良さをわかってもらえないでしょう、ということです。でもそれだけでは、お金を払ってもらえないわけで、どういう仕組みがいいか考えました。日数制限をして、その期間が過ぎれば使えなくする。購入してくれた人にシリアル番号と登録コードを教えて、それを入力すると日数制限が解除される、というのが最適だ。ということで、一定の桁数を持ったシリアル番号から登録コードを導き出す暗号処理を無防備な状態でソフトに埋め込んだのです。これが敗因でした。

日々そこそこのダウンロード数があって、よしよしと思っていたある日、ダウンロード数が急激に増えたのです。桁が2つくらい変化するほど急激にです。これはおかしいと思って、アクセス解析したら、あるクラッカーサイトに行き当たったのです。

そのクラッカーサイトでは掲示板が運営されており、まずはクラックしてほしいソフトが書き込まれるのです。そして技術力の高い常連がその成果を報告するわけです。どうやってクラックするのか?リバースエンジニアリングを駆使して、パッケージソフトやシェアウェアの鍵を盗むのです。大抵のシェアウェアは、期間や回数に制限を設けて、試用することができるので、それを悪用するわけです。パスワードを解析したり、バイナリ自体を編集したり...。さらに、解析チュートリアルというのまであって、どうやったら解析できるのかの解説まであるんです。ふむふむと、興味深く読んでしまいました。バイナリエディタを使ったり、専用のデバッガーを使ったり、アセンブラを直接読んでみたり、とても高度な技術を要するものだと...関心している場合じゃないですね。

しばらくは、悔しくて夢に出てくるほどでした。どうしたら解析されないソフトが作れるんだ~、と苦悶の日々が続いたのでした。Cで作ってコンパイルすれば、中身はよっぽどのことがない限り見れないと思ってたのに。現実を思い知らされたわけです。理論的には、クラックできないプログラムはないそうです。リバースエンジニアリング、恐るべし!

クラッカー【cracker】

 悪意をもって他人のコンピュータのデータやプログラムを盗み見たり、改ざん・破壊などを行なう者のこと。多くはインターネットなどのネットワークを通じて外部から侵入し、悪さを働く。このような人々は「ハッカー」と呼ばれることが多いが、本来、ハッカーとはコンピュータ技術に精通した人々に対する尊称であり、悪い意味はなかった。このため、古くからインターネットに関わっている技術者などの間では、悪さを働く者のみを「クラッカー」と呼んで、ハッカーとは区別すべきであるとの主張もある。(e-Wordsより転載)

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