さて突然ですが、ある開発しているプログラムがあって、それが勝手に解析されては困る場合があります。
重要な資産のコードが組み込まれてるのに、解析した人が勝手に自分の物として扱ってしまい、
しかもそれを 商品として売り出したりする かもしれない。
自分( 達 )が汗・血を流して作ったのに。
こんな事になると、苦労したものほど報われない結果になってしまいますよね。
こういう解析する事をリバースエンジニアリングと言うのですが、これは実行ファイルを配布する以上
防ぎようがありません。
暗号化でもそうですが、絶対大丈夫ってのは存在しないのです。
ただし、暗号化にとって例を言うならば、解析するのにスーパコンピューターを用いて100年かかるというなら、
暗号は成功と言えるでしょう。
100年の間に、その暗号の答えは変わってるでしょうし、そもそも10年以上解読かけ続けられるほどの
チャンスは、無い場合がほとんど。
そしてリバースエンジニアリングに関しては、最終的に人が理解する必要があります。
この理解させると言う壁を、とても高くすることは可能なので、それは最低限したいのですね。
さて、ここからが本題なのですが、リバースエンジニアリングを少しでも防ぐために、難読化ツールが必要になる
ことが、お分かりになると思います。
Java ではフリーでも良いのがあるのですが、VC++( Windowsアプリ )に関しては、基本的に有料しかありません。
Dotfuscator というツールなのですが、これは個人ユーザーが買うには 32万円と敷居が高いのですね。。
まぁ今後は必要になるかもしれないし、、ちょっと悩んでます( ´д`)
上記のツールの簡易版は VC2005 Standard Edition とかにも入ってるけど、機能不足な気がしますし。
ちなみに VC++ 6.0 は、すでに対応していないんだけどネ( ´д⊂
しかし、こういうツールを自分で実装しようにも、たぶん無理・・というか、
さらに幅広く お勉強のお時間がめっちゃ必要! に
なるので、何かしらの製品を探していこうと思います。
バーチャルマシンの次は、ゲーム○ーイのエミュ開発や、OpenGL の勉強などやるべき事がありありだし、
将来時間があったら、自作は考えますが( ´д`)
まぁ難読化に関しては、そもそも実装に興味ないからやらないだろうなぁ。。
0 コメント:
コメントを投稿