- blogs:
- cles::blog
« 研究打ち合わせ&誕生日ケーキ :: ナンバースクールもついに共学化 »
2006/01/14

PHPのソースコードを難読化

PHPによる開発で他人にソースコードを公開したくないので「PHPをコンパイルするにはどうしたらいいですか?」みたいなことはメーリングリストとかでも結構流れていたりします。これを手軽に実現するPOBSというソフトをみつけました*1。
PHPとJavascriptのソースコードを簡易暗号化:POBS:phpspot開発日誌
POBSを使えばPHPとJavascriptのコードを簡易暗号化することが可能。POBSはユーザ定義の関数、定数、変数をそれぞれMD5化して先頭の8バイトの文字列に置換します。その上で、関数ならFabcdefghのような感じで先頭にFをつけるようになっています。変数はV、定数はC。
簡易暗号化とされていますが難読化と言う方が正しいでしょう。これまでにも、コメントやインデント、改行を消去して難読化を行うというテクニックはあったわけですが、さらに変数名の難読化も行ってくれるわけですね。
もっと強力なソリューションが必要な場合には商用製品としてZend EncoderやionCube PHP Encoderがありますが、僕の場合はちょっと難読化ができればいいやということも多いので、そういう機会があったら試してみようと思います。
† 例えばこんな感じ
例を見てもらえればわかると思いますが、あくまで難読化なので、コメントや改行はとりのぞかれていますが、文字列や定数はそのままですね。
test.php
<?php
$a = 1;
$b = 2;
$c = $a + $b;
echo $c;
/* comment comment comment */
echo "zzzzzzzzzzzzzzzzzzz\n";
class TestClass {
var $test;
function setTest($var){
$this->test = $var;
}
function getTest(){
return $this->test;
}
}
// comment
$obj = new TestClass();
$obj->setTest(1);
echo $obj->getTest();
?>
test.php 難読化後
<?php $V0cc175b9 = 1; $V92eb5ffe = 2; $V4a8a08f0 = $V0cc175b9 + $V92eb5ffe; echo $V4a8a08f0; echo "zzzzzzzzzzzzzzzzzzz\n";
class F3b5abadd { var $V098f6bcd; function F5f854b88($Vb2145aac){ $this->V098f6bcd= $Vb2145aac; }
function F9c25887d(){ return $this->V098f6bcd; } } $Vbe8f8018 = new F3b5abadd(); $Vbe8f8018->F5f854b88(1);
echo $Vbe8f8018->F9c25887d(); ?>
- *1: via オレンジニュース 2006-01-11
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/1241
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
« 研究打ち合わせ&誕生日ケーキ :: ナンバースクールもついに共学化 »
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(112130)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110776)
3 . 年次の人間ドックへ(110371)
4 . 2023 年分の確定申告完了!(1つめ)(109917)
5 . 三菱鉛筆がラミーを買収(109817)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110776)
3 . 年次の人間ドックへ(110371)
4 . 2023 年分の確定申告完了!(1つめ)(109917)
5 . 三菱鉛筆がラミーを買収(109817)
cles::blogについて
Referrers