人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

海外のとあるオープンソースのphpコードに関する質問です。

海外のとあるオープンソースを使ってみているのですが、摩訶不思議なコードがあり、色々と手を尽くしてみたのですが、解読できません。理解できる方いらっしゃいますでしょうか?
chr関数やord関数などで文字コード変換を指定るっぽいのは分かるのですが。それ以上が解読できなくて。
よろしくお願いいたします。

コードが少し長いので以下のURLに掲載しております。
https://docs.google.com/document/d/1EUnsb4T1RtK55bvwpBl_llvOb3zzp5aYkXKZATO2uVk/edit

●質問者: しょーへー
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ohshita
ベストアンサー

この難読化されているコードを可読化した結果がこれです。

<?php
require 'include/databaseinfo.php';
$sql=mysql_connect($dbhost,$dbuser,$dbpass);
if(!$sql) {
 echo "<h1>Unable to Establish Connection to the Server</h1><hr noshade size=2 color=#000000>";
 exit();
}
$db_sel=mysql_select_db($dbname,$sql);
if(!$db_sel) {
 echo "<h1>Unable to Connect to the Database</h1><hr noshade size=2 color=#000000>";
 exit();
};
print('<body topmargin="0" leftmargin="0" rightmargin="0">');
$queryaa="select * from home_announcements where id=1";
$tabaa=mysql_query($queryaa);
if($rowaa=mysql_fetch_array($tabaa)) {
 $font_color=$rowaa['font_color'];
 $back_color=$rowaa['back_color'];
 $border_color=$rowaa['border_color'];
 $registrationaa=$rowaa['site_announcements'];
 if($registrationaa!=""){
echo "<table border='0' cellpadding='0' cellspacing='0' style='border-bottom: 1px solid'; width='100%' bgcolor= height='30'>
 <tr>
 <td width='100%' height='20'>
 <p align='center'><font face='Verdana' size='2' color=></font></td>
 </tr>
</table>
";
 }
}
$lang_query="select * from language where auto=1";
$lang_result=mysql_query($lang_query);
$lang_row=mysql_fetch_array($lang_result);
$defaultlang =$lang_row['filename'];
$temid=$_SESSION['temid'];
$temp_query="select * from templates where template='yes'";
$temp_result=mysql_query($temp_query);
$temp_row=mysql_fetch_array($temp_result);
$tfold =$temp_row['folder'];
$logo =$temp_row['logo'];
require "language/$defaultlang";
require "language/emails/$defaultlang"; 

しょーへーさんのコメント
おおお!ありがとうございます。これだと、意味が理解できました。 すいません。これの解読方法をご教授頂けると嬉しいです。もしくは参考サイトがありましたら。

ohshitaさんのコメント
1."eval"を"echo"に置換してから実行し、出力結果と置換 2.文字エスケープ("\xxx")はechoしてみて出力結果と置換 これを繰り返し適用しただけです。

しょーへーさんのコメント
おおお!出来ました!ご教授ありがとうございます!文字エスケープが少し手間かかりましたが。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ