beroの日記: php screwは素人よけ?
日記 by
bero
phpスクリプトの暗号化を探していて、php screwというのを見つけた。
php 5.3でコンパイルできないのは、このへんを参考にエラー箇所を書き換えればいいのはわかったが、延命するのもどうかと思ったのであえてcontributeはしないことにした。
0. XOR暗号
1. 鍵が弱い
short pm9screw_mycryptkey[] = {
11152, 368, 192, 1281, 62
};
が鍵でコレを書き換えろ、となってるが
(char)pm9screw_mycryptkey[...]
で下位1バイトしか見てないので、実際の鍵長は半分になる。
2. 鍵がバイナリに埋め込み
しかもREADMEの手順通りにするとstripされてないので簡単に見つかる
3 鍵がわからなくても力任せに弱い
復号時の先頭数バイトはzlibヘッダに決まってるので、鍵の先頭数バイトは確実にわかる。
従って探索する鍵空間は短くなる。(さらにいえば、展開後の先頭がおそらくhtmlタグやphpタグであろうことも、判定を用意にするだろう。)
この説明で何言ってるか分からない素人よけ程度と考えた方がよい。
エロゲの画像を抜いてる人やゲームのセーブデータを改造してる人から見れば簡単な部類だろう。
まあphpはわかっても他はわからんという人に見られなければいい、という大多数のニーズには十分か。
# かといって商用の他の暗号化ツールがこれより安全という保証もないが
php screwは素人よけ? More ログイン