CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

クラッカー

投稿日:

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

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

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

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

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

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

クラッカー【cracker】

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

-ソフト開発
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

Tech Ed

Windowsアプリつくって十数年経つけど、Tech Edに初めて行った。 アホらしそうだから毎年敬遠してきたけど、 行ってみたらそれなりにおもしろかった。 携帯で撮った写真。     Tech Ed …

no image

ベクタープロレジ大賞

Vectorがやってる、もっとも人気のあったダウンロードソフトを決める賞です。 Vectorと言えば、フリーウェアやシェアウェアをダウンロードできるところで一番有名なところです。窓の杜というところもあ …

no image

MultiByte と WideChar

文字コードは、やっかいなもの。 以下の2つの関数は、知ってるようでよく知らなかったって話。 MultiByteToWideChar( ) WideCharToMultiByte( ) UNIコードの変 …

zipcopy Ver1.01リリース

以下でアップしていたzipcopyについて、ちょいと手直ししてVer1.01としてリリースする。 zipcopy~圧縮してコピー~ができたのでアップしておく zipcopyのダウンロードはここをクリッ …

Hyper-Vのvhdxを圧縮するのはPowerShellでやるんだけど、その自動化手法がおもしろいじゃん(2)

Hyper-Vのvhdxを圧縮するのはPowerShellでやるんだけど、その自動化手法がおもしろいじゃんの続き。以下2点の改修をしたスクリプトを作ってみた。 ・vhdファイルが存在しなければ、エラー …