• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:base64_decodeに関して)

PHPでbase64デコードしたソースを表示する方法とは?

このQ&Aのポイント
  • base64でエンコードされたPHPソースをデコードして表示する方法をご紹介します。
  • ブラウザに表示される文字化けした内容を元のソースに戻す方法を解説します。
  • base64デコードしたソースを元の状態で表示させるスクリプトをダウンロードできます。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

デコード結果を送ること自体には別に気にすることはありませんが、 ひとつ問題があります。 ここの利用規約に、質問者もしくは回答者個人を特定することのできる 情報を書いてはいけないというのがあったと記憶しています。 つまり、質問者さんがここへ送ってくれとか書いたとしても、削除対象になってしまう 可能性が大いにあるってことです。 で、デコードするPerlスクリプトについて補足すると、あれはコマンドラインに 直接書いて実行した一行野郎なので、そのままスクリプトに落とし込んでもだめです。 スクリプトにするならこんな感じ #!/usr/bin/perl use strict; use MIME::Base64; use Encode qw(encode); use Fatal qw(open); open my $fh, '>', 'decoded.php'; while (<>) { $_ = decode_base64($_); tr[123456aouie][aouie123456]; s/&#([0-9]+);/chr $1/ge; $_ = encode('shiftjis', $_); tr/\r//d"; print $fh $_; } これをdecode.pl というファイルにでもして perl decode.pl admin.php として実行すれば、実行したディレクトリに decoded.php というファイルに 変換結果を出力します。 Perlのバージョンが5.8以上でないと動作しませんのでその辺ご注意を。 もしこれでもだめならそのとき考えましょう。

das_horn
質問者

お礼

丁寧にご回答ありがとうございます。 早速 Vector から perl をダウンロードして 実行してみましたが、バージョンが低い(5.003_07)せいか、 以下のようなエラーコマンドが出て実行できませんでした。 ================================================================ Can't locate MIME/Base64.pm in @INC at decode.pl line 3. BEGIN failed--compilation aborted at decode.pl line 3. ================================================================ そこで、申し訳ないですが、やはりデコードしたものを 送って頂けないでしょうか? 私は HP-TOOLBOX というサイトを運営しておりまして、 このスクリプトは相互リンク集に使用しているものの一部です。 ホームページアドレスは以下の通りです。 http://www.hp-toolbox.com/ そこのお問い合わせフォームより、添付ファイルにて お送り頂ければ幸いです。 (添付ファイルが送信できるメールフォームを設置しております。) 念のため、以下がデコードしたいスクリプトです。 ================================================================ http://www.hp-toolbox.com/admin.zip ================================================================ 以上、お手数をお掛けし申し訳ありませんが、 宜しくお願い致します。

das_horn
質問者

補足

ActivePerl 5.8.8 Build 822 をインストールし、 無事にデコードすることが出来ました。 この度は本当にありがとうございました。 感謝いたします。

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

いや、だから eval の中身で何しているのかよく読んでくださいということです。 その、source.php として得られたテキストにもう一段操作を加えているはずです。 perl で片付けるとこう。 #おまけで数値表現のデコードとsjisへの変換、余計なコードの除去もしましたが >perl -MMIME::Base64 -MEncode -pe "$_=decode_base64($_); tr[123456aouie][aouie123456]; s/&#([0-9]+);/chr $1/ge; $_=Encode::encode('shiftjis', $_); tr/\r//d" admin.php >decoded.php 結果の頭のところ。 ?><?php ///////////////////////////////////////////////////////////////////////////////////////////// /// /// リンクフィフティープラス /// /// 名前:WebTrigger /// 作成:2006/07/13 /// Version 1.0.2 /// 文字コード:Shift-JIS /// 修正: ///////////////////////////////////////////////////////////////////////////////////////////// # エラー非表示 error_reporting(0); # Include Files require_once('setup.php'); # Const define(Category, 'category.dat'); define(Data , 'data.dat'); なんか90日無償とかあやしいコメントがあるんですけど、 リバースエンジニアリング(笑)しちゃっていいんですか?

das_horn
質問者

お礼

ご回答ありがとうございます。 凄いですねっ!尊敬しちゃいます。 eval の中身って言われても、イマイチ分かってないです。 申し訳ありません。 記載していただきました perl で以下のように記述し、 実行してみましたがエラーになりました。 ================================================================ #!/usr/bin/perl > perl -MMIME::Base64 -MEncode -pe "$_=decode_base64($_); tr[123456aouie][aouie123456]; s/&#([0-9]+);/chr $1/ge; $_=Encode::encode('shiftjis', $_); tr/\r//d" admin.php > decoded.php ================================================================ ド素人で申し訳ありません。 ちなみに、このスクリプトは、お金を払って購入しています。 作成者にバグの修正を依頼したところ、 多忙につき対応不可ということだったので、なんとか自分で 修正しようともがいています。 可能ならデコードしたソースを送って頂けると非常に有り難いです。 (自分でしろって?笑)

das_horn
質問者

補足

もしデコードしたソースを送って下さるなら、 以下のものをデコードして下さい。 ================================================================ http://www.hp-toolbox.com/admin.zip ================================================================ 宜しくお願い致します。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

暗号化されたソースをデコードできませんか? -OKWave http://okwave.jp/qa3600462.html にで得られたスクリプトをよく読んでみてください。 base64_decodeした文字列を変数にセットした後に もう一回別の文字列に対してbase64_decodeしているでしょう(でその結果をevalしてます)? そっちのデコード結果を読めば、何をすべきかわかりますよ。 頭のところだけ見るとこんな感じ ?><?php ///////////////////////////////////////////////////////////////////////////////////////////// /// /// リンクフィフティープラス /// /// 名前:WebTrigger /// 作成:2006/07/13 /// Version 1.0.2 /// 文字コード:Shift-JIS /// 修正: ///////////////////////////////////////////////////////////////////////////////////////////// # エラー非表示 error_reporting(0); # Include Files require_once('setup.php');

das_horn
質問者

お礼

ご回答ありがとうございます。 http://okwave.jp/qa3600462.html にて得られたスクリプトは以下になります。 ================================================================ http://www.hp-toolbox.com/source.zip ================================================================ 元々デコードしたいスクリプトは以下になります。 ================================================================ http://www.hp-toolbox.com/admin.zip ================================================================ eval もしてるかもしれません。 やはり元のソースコードに復号するのは無理でしょうか?