[ PHP Screw - User's Manual ver1.5 ] ■はじめに PHP Screwは、ロイヤリティフリーのPHPスクリプト暗号化ツールです。 あなたがPHPを利用した商用パッケージを開発している場合、 低コストにあなたの知的財産を守ることができます。 ■概要 PHP Screwの概要は、下記のようになっています。 ・暗号化ツール(screw)でPHPスクリプトを暗号化を行う。 ・PHPスクリプトの実行時には、スクリプト復号用のPHP-Extension(php_screw)で Zend-Compilerにスクリプトが渡される直前に暗号化スクリプトの復号処理を行う。 ※ 実際には、php.iniにphp.screwに関する記述を追加するだけで良く、 PHPスクリプトプログラマは復号処理を意識する必要はありません。 また、暗号化されたスクリプトファイルとそうでないスクリプトファイルを 混在させることが可能です。 ・暗号化ツール(screw)およびスクリプト復号用のPHP-Extension(php_screw) それぞれの暗号化および復号化ロジックは各自でカスタマイズし、 コンパイル後のバイナリファイルのみをパッケージに含めて配布する。 ※ 暗号化SEEDキーを変更するだけでカスタマイズ可能な汎用的な暗号・復号化 ロジックをサンプルに含めています。 このサンプルプログラムに含まれているロジックはカスタマイズが容易であり 高速に復号処理を行うことができるものですが、安易に暗号が解読されてしまう ということではありません。 ■動作環境 ・PHP5.x ・UNIX系OS(LINUX、FreeBSD等を含む) ■インストール (1) php_screw-1.5.tgz を展開して下さい。 (2) ディレクトリ php_screw-1.5 にて下記のコマンドを実行して下さい。 phpize ./configure (3) 暗号化・復号化モジュールのカスタマイズを行って下さい。 vi my_screw.h -- 暗号化SEEDキー(pm9screw_mycryptkey)をお好みの値に変更して下さい。 暗号化SEEDキーは長いほうが暗号化強度は高まります。 しかし、キーの長さは復号処理の時間とは関係有りません。 なるべくキーを長くとって下さい。 ※ ソースを読んでご理解いただけるなら、 独自の暗号化ロジックに修正することが可能です。 (4) コンパイルして下さい。 make (5) modules/php_screw.so を extension用のディレクトリにコピーして下さい。 例) cp modules/php_screw.so /usr/lib/php/modules/php_screw.so (6) ソース暗号化ツール(screw)を作成します。次のコマンドを実行して下さい。 cd tools make (7) screw を適当なディレクトリにリネームしてコピーして下さい。 (8) php.iniに次の行を追加して下さい。 extension=php_screw.so (9) apacheを再起動して下さい。 ■利用方法 (1) PHPスクリプトの暗号化   次のコマンドを実行して下さい。 screw 暗号化対象のスクリプトファイルのパス   コマンドを実行すると、同一の名前で暗号化されたスクリプトファイルが 作成されます。   また同一のディレクトリにスクリプトファイル名.screwという名前で バックアップが作成されます。 パッケージングを行うときには、.screwファイルを忘れずに消して下さい。 (2)PHPスクリプトの実行 暗号化されていないスクリプトファイルを実行するときと同じように 暗号化されたスクリプトファイルを規定のディレクトリに置いて実行して下さい。 ■更改履歴 2002/04/25 PHP Screw ver1.0 -- 新規公開 2002/05/21 PHP Screw ver1.1 -- include_pathに関する不具合の修正 2002/08/02 PHP Screw ver1.2 -- 暗号化ロジックの変更 2004/01/11 PHP Screw ver1.3 -- BSDライセンス(revised)へ変更、PHP 4.3.xへの対応 2007/10/11 PHP Screw ver1.5 -- PHP5.x対応 ■著作権について PHP Screwの著作権は、野田邦昌が保有します。 連絡先: http://www.pm9.com, kuni@pm9.com