ttの日記: 絶体絶命のときに役に立つテクニック!
日記 by
tt
ここの日記を読むような方はご存知のとおり(なのか?)、LAMEはこんなことやこんなことがあったりしている。困ったことにこの他にもあったりするわけですが(やれやれ)。
で、自己防衛のためにコピー防止をどうするか、ってのは非常に重要な問題なのかも知れないと思っております。LAMEは上記のような過去のいきさつにより、たとえばソースコード上のすべてのLAMEという文字列をHOGEに入れ替えたとしても、LAMEが作るmp3ファイルにはLAMEという文字列が入る、とかしてあります(苦笑)。
ところが今日、すばらしい技術を知りました。あまり良い状況ではないところからですが。
それを知ったのはこちらの掲示板のスレッド。
ここ数日話題の、SigmaDesignがxvidをパクってRealMagicというソフトを作った、という話についての議論なんですが、このなかで、Nic という方が、以下のような発言をしておられます。
Just disassembled the RealMagics YUY2 -> YV12 routine...the code is _exactly_ the same as the conversion asm code in XviD.
そうか、なるほど!
アセンブラで書けば、当然ながらコンパイラの違いなどには関係なく、まったく同じコードになるんですよね。うまく絶対アドレスへのジャンプ命令とかを使わないようにすれば、数バイトの文字列ならぬ、バイナリ列のサーチをして、その辺をディスアセンブルすれば、パクリかどうかすぐにわかる。
これをみて、今強烈にアセンブラで書く部分を増やそうかな、などと馬鹿なことを考えてたりします(単純すぎ>俺)。
絶体絶命のときに役に立つテクニック! More ログイン