電子書籍の厳選無料作品が豊富!

base64でエンコードされたPHPソースをデコードし、
その内容を表示させるスクリプト(base64.php)を
実行すると、ブラウザには decode.txt の様に
文字化けした内容が表示されます。
元のソースを表示させる方法は無いでしょうか?
base64.php、decode.txt は以下よりダウンロードし、
検討して下さい。
================================================================
http://www.hp-toolbox.com/base64_decode.zip
================================================================
宜しくお願い致します。

A 回答 (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以上でないと動作しませんのでその辺ご注意を。

もしこれでもだめならそのとき考えましょう。

この回答への補足

ActivePerl 5.8.8 Build 822 をインストールし、
無事にデコードすることが出来ました。

この度は本当にありがとうございました。
感謝いたします。

補足日時:2007/12/17 02:06
    • good
    • 0
この回答へのお礼

丁寧にご回答ありがとうございます。

早速 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
================================================================

以上、お手数をお掛けし申し訳ありませんが、
宜しくお願い致します。

お礼日時:2007/12/16 23:25

いや、だから 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日無償とかあやしいコメントがあるんですけど、
リバースエンジニアリング(笑)しちゃっていいんですか?

この回答への補足

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

補足日時:2007/12/16 08:57
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
凄いですねっ!尊敬しちゃいます。
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
================================================================
ド素人で申し訳ありません。

ちなみに、このスクリプトは、お金を払って購入しています。
作成者にバグの修正を依頼したところ、
多忙につき対応不可ということだったので、なんとか自分で
修正しようともがいています。

可能ならデコードしたソースを送って頂けると非常に有り難いです。
(自分でしろって?笑)

お礼日時:2007/12/16 08:22

暗号化されたソースをデコードできませんか? -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');
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

http://okwave.jp/qa3600462.html

にて得られたスクリプトは以下になります。
================================================================
http://www.hp-toolbox.com/source.zip
================================================================

元々デコードしたいスクリプトは以下になります。
================================================================
http://www.hp-toolbox.com/admin.zip
================================================================
eval もしてるかもしれません。

やはり元のソースコードに復号するのは無理でしょうか?

お礼日時:2007/12/16 00:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!