제목 그대로 해당 소스로 php 소스를 인코딩 할 경우 그 결과물은 역공학이 불가능하다고 하네요.
전 아직 테스트 해보지 않아 정확한 결과는 보지 못하였으나, 제작자가 그리 말하니 일단은 믿는 수 밖에 ^^;
전 아직 테스트 해보지 않아 정확한 결과는 보지 못하였으나, 제작자가 그리 말하니 일단은 믿는 수 밖에 ^^;
- <?php
- function rstr() //Random String Function
- {
- $len=rand(3,6);
- $chr='';
- for($i=1;$i<=$len;$i++)
- {
- $chr.=rand(0,1) ? chr(rand(65,90)) : chr(rand(97,122));
- }
- return $chr;
- }
- function enjumble($data) //Custom Encoding + Base64 + gzinflate()
- {
- for($i=0;$i<strlen($data);$i++)
- {
- $data[$i]=chr(ord($data[$i])+1);
- }
- return base64_encode(gzdeflate($data,9));
- }
- function striptag($in) //Remove '<?php' from initial code
- {
- $pos = strpos($in,"<?php"); //to do: add support for short_tags
- if(is_numeric($pos))
- {
- for($i=$pos;$i<=$pos+4 && strlen($in) >=5;$i++)
- {
- $in[$i]=' ';
- }
- return $in;
- }
- else
- {
- return $in;
- }
- }
- function makeoutfile($str)
- { $funcname=rstr();
- $varname='$'.rstr();
- $template=
- "<?php function ".$funcname."($varname)
- {
- $varname=gzinflate(base64_decode($varname));
- for(\$i=0;\$i<strlen($varname);\$i++)
- {
- ".$varname."[\$i] = chr(ord(".$varname."[\$i])-1);
- }
- return $varname;
- }eval($funcname(\"";
- $str=enjumble($str);
- $template = $template . $str."\"));?>";
- return $template;
- }
- function main($argc,$argv)
- {
- $banner=
- "\n +-------------------------------------------------------------------+
- |+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|
- |+ +|
- +____ _ _ _ +|
- / __ \ | | | | (_) +|
- | / \/ __ _ _ __ | |__ _ _ | | __ _ _ __ ___ _ _ __ _+|_
- | | / _` || '__|| '_ \ | | | || | / _` || '_ ` _ \ | || '_ \ / _ \
- | \__/\| (_| || | | |_) || |_| || || (_| || | | | | || || | | || __/
- \____/ \__,_||_| |_.__/ \__, ||_| \__,_||_| |_| |_||_||_| |_| \___|
- |+ __/ | +|
- |+ Carbylamine PHP Encoder +|
- |+ v0.1.1 Nightly +|
- |+ +|
- |+ +|
- |+ Coded by Prakhar Prasad +|
- |+ (prakharpd@gmail.com) +|
- |+ +|
- |+ +|
- |+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|
- +-------------------------------------------------------------------+\n\n";
- $usage="$banner Syntax: ".$_SERVER['PHP_SELF']." <file to encode> <output file>\n";
- if($argc==1) {echo $usage ; die();}
- if($argc>1) $file = $argv[1];
- if($argc>2) $outfile = $argv[2];
- if(empty($file) || empty($outfile)) { echo "Input/Output filename not entered!\n\n\x07" ;die();}
- if(!file_exists($file))
- {
- echo "$banner Error: Input file doesn't exist\n\n\x07";
- }
- else{
- $orginal_size=round(filesize($file)/1024,2);
- echo "$banner Encoding : $file ($orginal_size KB) \n\n ";
- $output_filename=$outfile;
- $outfile=fopen($outfile,'w+');
- $file=fread(fopen($file,'r'),filesize($file));
- $outdata=makeoutfile(striptag($file));
- $newsize=round(strlen($outdata)/1024,2);
- echo " Compression : ".@round(100-(($newsize*100)/($orginal_size!=0?$orginal_size:1)),2)."%\n\n";
- if(!fwrite($outfile,$outdata))
- {
- echo " Unable to write to $output_filename\n\n\x07";
- }
- else
- {
- echo " Successfully Encoded! to $output_filename\n\n" ;
- }}}
- main($argc,$argv);
- ?>
'[+] Information > [-] Web' 카테고리의 다른 글
[정리] Malware Hidden Inside JPG EXIF Headers (0) | 2013.07.18 |
---|---|
URL 난독화 (0) | 2011.07.18 |
GoogleDork : 구글 해킹 (12) | 2009.03.08 |
PHPer : 제가 PHP공부할때 잠깐이나마 참고했던 자료입니다. (0) | 2009.01.29 |