実現したいこと
PHPのソースを難読化して実行したいです。
下記サイトでPHPのソースを暗号化して実行してみたのですが、実行できるものとできないものがあります。
https://phpjp.com/code/#code
実行すると構文エラーとなるのですが、原因が分かりません。
発生しているエラーメッセージ
暗号化したソースを実行すると下記エラーが表示されます。
Parse error: syntax error, unexpected 'U' (T_STRING), expecting ')'n C:\xampp\htdocs\test\index.php : eval()'d code on line 2
該当のソースコード
暗号化前
php
1<?php 2 3require_once("./phpQuery-onefile.php"); 4 5$html = file_get_contents('https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0'); 6 7$dom = phpQuery::newDocument( $html ); 8 9echo $dom["h1"]; 10
変換して実行したコード
php
1<?php 2eval(base64_decode('ZXZhbChnemluZmxhdGUoY29udmVydF91dWRlY29kZSgnTS04WysjSChQJCQ3VykvUSNUVENgQTUzJUoqIyZAKF5dOlYsKEA5JTZINDRIKD9aXTE+Q05TS0VXREssXwpNNUswUiM9LkhYPS5SJkYrITRXIlAyUTJeTTUhXzlYKyNEUTdAKkgiR05XWFpIOyhMVGAnVS4sWSFRSkdACk0kS0FMJylNKjYzNCEoOl8kWz1COzU5IlFRITVVM09KKzYhPy9WQlpNPCpXI1lBXFxSXTxEXEc1VSc6T1AKS0ksRSpDVzYoLy9UVU1UPlMzKTEoRjZHWSguIzBHNDc6RURLLzA4L1gsKDY0Ik0zT1tZQE5cJC5RJ1BgYApgCicpKSk7')); 3
試したこと
・暗号化自体ができているのか確認するために「echo 'a';」だけ暗号化して実行する
→aが表示される
・ファイルを読み込めるのか確認するためにrequire_once("./phpQuery-onefile.php");だけを暗号化して実行する
→エラーにはならなかった
domを取得するところでエラーになっているよなのですが、外部にアクセスするような処理は暗号化できないということなのでしょうか?
回答4件
あなたの回答
tips
プレビュー