PDA

Просмотр полной версии : [php] Небольшой набор утилит


BlackSun
25.08.2008, 20:52
0 - base64 encode
1 - base64 decode
2 - url encode
3 - url decode
4 - md5 hash
5 - random str
6 - sha1 hash
7 - DES hash
8 - CRC32
9 - rot13 encode
10 - ASCII -> bin
11 - ASCII -> dec
12 - ASCII -> hex
13 - ASCII -> char()
14 - ASCII -> chr()..
15 - ASCII -> String.fromCharCode()
16 - bin -> ASCII
17 - dec -> ASCII
18 - hex -> ASCII
19 - char() -> ASCII
20 - chr() -> ASCII
21 - String.fromCharCode() -> ASCII
22 - bin -> dec
23 - bin -> hex
24 - dec -> bin
25 - dec -> hex
26 - hex -> bin
27 - hex -> dec
28 - cp1251(&cp1259) -> utf8
29 - /etc/passwd -> login;login
30 - PHP crupt
31 - URL -> IFrame
32 - String lower
33 - String UPPER
34 - ASCII -> 0xHEX
35 - Simple html encrypt
36 - htmlspecialchars
37 - Full urlencode
38 - base64 decode && gzinflate
39 - gzdeflate && base64 encode

Из за странных глюков форума, скрипт разбит на пару частей

<?
// (c) BlackSun [S.T.A.R.S. Team]
// http://stars-team.org.ru

function cp1259_to_utf8(&$str)
{
#This table contains the data on how cp1259 characters map into Unicode (UTF-8).
#The cp1259 map describes standart tatarish cyrillic charset and based on the cp1251 table.
static $trans = array(
"\x80" => "\xd3\x98", #0x04d8 CYRILLIC CAPITAL LETTER SCHWA
"\x81" => "\xd0\x83", #0x0403 CYRILLIC CAPITAL LETTER GJE
"\x82" => "\xe2\x80\x9a", #0x201a SINGLE LOW-9 QUOTATION MARK
"\x83" => "\xd1\x93", #0x0453 CYRILLIC SMALL LETTER GJE
"\x84" => "\xe2\x80\x9e", #0x201e DOUBLE LOW-9 QUOTATION MARK
"\x85" => "\xe2\x80\xa6", #0x2026 HORIZONTAL ELLIPSIS
"\x86" => "\xe2\x80\xa0", #0x2020 DAGGER
"\x87" => "\xe2\x80\xa1", #0x2021 DOUBLE DAGGER
"\x88" => "\xe2\x82\xac", #0x20ac EURO SIGN
"\x89" => "\xe2\x80\xb0", #0x2030 PER MILLE SIGN
"\x8a" => "\xd3\xa8", #0x04e8 CYRILLIC CAPITAL LETTER BARRED O
"\x8b" => "\xe2\x80\xb9", #0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
"\x8c" => "\xd2\xae", #0x04ae CYRILLIC CAPITAL LETTER STRAIGHT U
"\x8d" => "\xd2\x96", #0x0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
"\x8e" => "\xd2\xa2", #0x04a2 CYRILLIC CAPITAL LETTER EN WITH HOOK
"\x8f" => "\xd2\xba", #0x04ba CYRILLIC CAPITAL LETTER SHHA
"\x90" => "\xd3\x99", #0x04d9 CYRILLIC SMALL LETTER SCHWA
"\x91" => "\xe2\x80\x98", #0x2018 LEFT SINGLE QUOTATION MARK
"\x92" => "\xe2\x80\x99", #0x2019 RIGHT SINGLE QUOTATION MARK
"\x93" => "\xe2\x80\x9c", #0x201c LEFT DOUBLE QUOTATION MARK
"\x94" => "\xe2\x80\x9d", #0x201d RIGHT DOUBLE QUOTATION MARK
"\x95" => "\xe2\x80\xa2", #0x2022 BULLET
"\x96" => "\xe2\x80\x93", #0x2013 EN DASH
"\x97" => "\xe2\x80\x94", #0x2014 EM DASH
"\x99" => "\xe2\x84\xa2", #0x2122 TRADE MARK SIGN
"\x9a" => "\xd3\xa9", #0x04e9 CYRILLIC SMALL LETTER BARRED O
"\x9b" => "\xe2\x80\xba", #0x203a SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
"\x9c" => "\xd2\xaf", #0x04af CYRILLIC SMALL LETTER STRAIGHT U
"\x9d" => "\xd2\x97", #0x0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER
"\x9e" => "\xd2\xa3", #0x04a3 CYRILLIC SMALL LETTER EN WITH HOOK
"\x9f" => "\xd2\xbb", #0x04bb CYRILLIC SMALL LETTER SHHA
"\xa0" => "\xc2\xa0", #0x00a0 NO-BREAK SPACE
"\xa1" => "\xd0\x8e", #0x040e CYRILLIC CAPITAL LETTER SHORT U
"\xa2" => "\xd1\x9e", #0x045e CYRILLIC SMALL LETTER SHORT U
"\xa3" => "\xd0\x88", #0x0408 CYRILLIC CAPITAL LETTER JE
"\xa4" => "\xc2\xa4", #0x00a4 CURRENCY SIGN
"\xa5" => "\xd2\x90", #0x0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
"\xa6" => "\xc2\xa6", #0x00a6 BROKEN BAR
"\xa7" => "\xc2\xa7", #0x00a7 SECTION SIGN
"\xa8" => "\xd0\x81", #0x0401 CYRILLIC CAPITAL LETTER IO
"\xa9" => "\xc2\xa9", #0x00a9 COPYRIGHT SIGN
"\xaa" => "\xd0\x84", #0x0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE
"\xab" => "\xc2\xab", #0x00ab LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
"\xac" => "\xc2\xac", #0x00ac NOT SIGN
"\xad" => "\xc2\xad", #0x00ad SOFT HYPHEN
"\xae" => "\xc2\xae", #0x00ae REGISTERED SIGN
"\xaf" => "\xd0\x87", #0x0407 CYRILLIC CAPITAL LETTER YI
"\xb0" => "\xc2\xb0", #0x00b0 DEGREE SIGN
"\xb1" => "\xc2\xb1", #0x00b1 PLUS-MINUS SIGN
"\xb2" => "\xd0\x86", #0x0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
"\xb3" => "\xd1\x96", #0x0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
"\xb4" => "\xd2\x91", #0x0491 CYRILLIC SMALL LETTER GHE WITH UPTURN
"\xb5" => "\xc2\xb5", #0x00b5 MICRO SIGN
"\xb6" => "\xc2\xb6", #0x00b6 PILCROW SIGN
"\xb7" => "\xc2\xb7", #0x00b7 MIDDLE DOT
"\xb8" => "\xd1\x91", #0x0451 CYRILLIC SMALL LETTER IO
"\xb9" => "\xe2\x84\x96", #0x2116 NUMERO SIGN
"\xba" => "\xd1\x94", #0x0454 CYRILLIC SMALL LETTER UKRAINIAN IE
"\xbb" => "\xc2\xbb", #0x00bb RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
"\xbc" => "\xd1\x98", #0x0458 CYRILLIC SMALL LETTER JE
"\xbd" => "\xd0\x85", #0x0405 CYRILLIC CAPITAL LETTER DZE
"\xbe" => "\xd1\x95", #0x0455 CYRILLIC SMALL LETTER DZE
"\xbf" => "\xd1\x97", #0x0457 CYRILLIC SMALL LETTER YI
"\xc0" => "\xd0\x90", #0x0410 CYRILLIC CAPITAL LETTER A
"\xc1" => "\xd0\x91", #0x0411 CYRILLIC CAPITAL LETTER BE
"\xc2" => "\xd0\x92", #0x0412 CYRILLIC CAPITAL LETTER VE
"\xc3" => "\xd0\x93", #0x0413 CYRILLIC CAPITAL LETTER GHE
"\xc4" => "\xd0\x94", #0x0414 CYRILLIC CAPITAL LETTER DE
"\xc5" => "\xd0\x95", #0x0415 CYRILLIC CAPITAL LETTER IE
"\xc6" => "\xd0\x96", #0x0416 CYRILLIC CAPITAL LETTER ZHE
"\xc7" => "\xd0\x97", #0x0417 CYRILLIC CAPITAL LETTER ZE
"\xc8" => "\xd0\x98", #0x0418 CYRILLIC CAPITAL LETTER I
"\xc9" => "\xd0\x99", #0x0419 CYRILLIC CAPITAL LETTER SHORT I
"\xca" => "\xd0\x9a", #0x041a CYRILLIC CAPITAL LETTER KA
"\xcb" => "\xd0\x9b", #0x041b CYRILLIC CAPITAL LETTER EL
"\xcc" => "\xd0\x9c", #0x041c CYRILLIC CAPITAL LETTER EM
"\xcd" => "\xd0\x9d", #0x041d CYRILLIC CAPITAL LETTER EN
"\xce" => "\xd0\x9e", #0x041e CYRILLIC CAPITAL LETTER O
"\xcf" => "\xd0\x9f", #0x041f CYRILLIC CAPITAL LETTER PE
"\xd0" => "\xd0\xa0", #0x0420 CYRILLIC CAPITAL LETTER ER
"\xd1" => "\xd0\xa1", #0x0421 CYRILLIC CAPITAL LETTER ES
"\xd2" => "\xd0\xa2", #0x0422 CYRILLIC CAPITAL LETTER TE
"\xd3" => "\xd0\xa3", #0x0423 CYRILLIC CAPITAL LETTER U
"\xd4" => "\xd0\xa4", #0x0424 CYRILLIC CAPITAL LETTER EF
"\xd5" => "\xd0\xa5", #0x0425 CYRILLIC CAPITAL LETTER HA
"\xd6" => "\xd0\xa6", #0x0426 CYRILLIC CAPITAL LETTER TSE
"\xd7" => "\xd0\xa7", #0x0427 CYRILLIC CAPITAL LETTER CHE
"\xd8" => "\xd0\xa8", #0x0428 CYRILLIC CAPITAL LETTER SHA
"\xd9" => "\xd0\xa9", #0x0429 CYRILLIC CAPITAL LETTER SHCHA
"\xda" => "\xd0\xaa", #0x042a CYRILLIC CAPITAL LETTER HARD SIGN
"\xdb" => "\xd0\xab", #0x042b CYRILLIC CAPITAL LETTER YERU
"\xdc" => "\xd0\xac", #0x042c CYRILLIC CAPITAL LETTER SOFT SIGN
"\xdd" => "\xd0\xad", #0x042d CYRILLIC CAPITAL LETTER E
"\xde" => "\xd0\xae", #0x042e CYRILLIC CAPITAL LETTER YU
"\xdf" => "\xd0\xaf", #0x042f CYRILLIC CAPITAL LETTER YA
"\xe0" => "\xd0\xb0", #0x0430 CYRILLIC SMALL LETTER A
"\xe1" => "\xd0\xb1", #0x0431 CYRILLIC SMALL LETTER BE
"\xe2" => "\xd0\xb2", #0x0432 CYRILLIC SMALL LETTER VE
"\xe3" => "\xd0\xb3", #0x0433 CYRILLIC SMALL LETTER GHE
"\xe4" => "\xd0\xb4", #0x0434 CYRILLIC SMALL LETTER DE
"\xe5" => "\xd0\xb5", #0x0435 CYRILLIC SMALL LETTER IE
"\xe6" => "\xd0\xb6", #0x0436 CYRILLIC SMALL LETTER ZHE
"\xe7" => "\xd0\xb7", #0x0437 CYRILLIC SMALL LETTER ZE
"\xe8" => "\xd0\xb8", #0x0438 CYRILLIC SMALL LETTER I
"\xe9" => "\xd0\xb9", #0x0439 CYRILLIC SMALL LETTER SHORT I
"\xea" => "\xd0\xba", #0x043a CYRILLIC SMALL LETTER KA
"\xeb" => "\xd0\xbb", #0x043b CYRILLIC SMALL LETTER EL
"\xec" => "\xd0\xbc", #0x043c CYRILLIC SMALL LETTER EM
"\xed" => "\xd0\xbd", #0x043d CYRILLIC SMALL LETTER EN
"\xee" => "\xd0\xbe", #0x043e CYRILLIC SMALL LETTER O
"\xef" => "\xd0\xbf", #0x043f CYRILLIC SMALL LETTER PE
"\xf0" => "\xd1\x80", #0x0440 CYRILLIC SMALL LETTER ER
"\xf1" => "\xd1\x81", #0x0441 CYRILLIC SMALL LETTER ES
"\xf2" => "\xd1\x82", #0x0442 CYRILLIC SMALL LETTER TE
"\xf3" => "\xd1\x83", #0x0443 CYRILLIC SMALL LETTER U
"\xf4" => "\xd1\x84", #0x0444 CYRILLIC SMALL LETTER EF
"\xf5" => "\xd1\x85", #0x0445 CYRILLIC SMALL LETTER HA
"\xf6" => "\xd1\x86", #0x0446 CYRILLIC SMALL LETTER TSE
"\xf7" => "\xd1\x87", #0x0447 CYRILLIC SMALL LETTER CHE
"\xf8" => "\xd1\x88", #0x0448 CYRILLIC SMALL LETTER SHA
"\xf9" => "\xd1\x89", #0x0449 CYRILLIC SMALL LETTER SHCHA
"\xfa" => "\xd1\x8a", #0x044a CYRILLIC SMALL LETTER HARD SIGN
"\xfb" => "\xd1\x8b", #0x044b CYRILLIC SMALL LETTER YERU
"\xfc" => "\xd1\x8c", #0x044c CYRILLIC SMALL LETTER SOFT SIGN
"\xfd" => "\xd1\x8d", #0x044d CYRILLIC SMALL LETTER E
"\xfe" => "\xd1\x8e", #0x044e CYRILLIC SMALL LETTER YU
"\xff" => "\xd1\x8f", #0x044f CYRILLIC SMALL LETTER YA
);
return strtr($str, $trans);
}





function GetRandomChar()
{
$rnd = mt_rand(1, 3);
switch($rnd)
{
case 1: $rnd = mt_rand(97, 122);
break;

case 2: $rnd = mt_rand(48, 57);
break;

case 3: $rnd = mt_rand(65, 90);
break;
}
return chr($rnd);
}

function ASCII2($var, $type)
{
/*
type:
0 - ASCII -> bin
1 - ASCII -> dec
2 - ASCII -> hex
3 - ASCII -> char()
4 - ASCII -> chr()..
5 - ASCII -> String.fromCharCode()
*/
$result = '';

$len = strlen($var);
for ($i = 0; $i < $len; $i++)
{
$char = ord($var[$i]);
switch ($type)
{
case 0: $result = $result." ".decbin($char);
break;
case 1: $result = $result." ".$char;
break;
case 2: $result = $result." ".dechex($char);
break;
case 3: $result = $result.",".$char;
break;
case 4: $result = $result."+chr(".$char.")";
break;
case 5: $result = $result.",".$char;
break;
}
}

$result = substr($result, 1);

switch ($type)
{
case 3: $result = 'char('.$result.')';
break;
case 5: $result = 'String.fromCharCode('.$result.')';
break;
}

return $result;
}





function _2ASCII($var, $type)
{
/*
type:
0 - bin -> ASCII
1 - dec -> ASCII
2 - hex -> ASCII
1 - char() -> ASCII
1 - chr() -> ASCII
1 - String.fromCharCode() -> ASCII
*/
$var = strtolower($var);

$var = str_replace('char(', '', $var);
$var = str_replace(',', ' ', $var);
$var = str_replace('chr(', ' ', $var);
$var = str_replace(')', '', $var);
$var = str_replace('string.fromcharcode(', '', $var);

if ($var[0] == ' ')
{
$var = substr($var, 1);
}

$result = '';

$tok = strtok($var, " ");
while ($tok)
{
$char = $tok;
$tok = strtok(" ");
switch ($type)
{
case 0: $result = $result.chr(bindec($char));
break;
case 1: $result = $result.chr($char);
break;
case 2: $result = $result.chr(hexdec($char));
break;
case 3: $result = $result.chr($char);
break;
}
}

return $result;
}

function bindechex($var, $type)
{
/*
type:
0 - bin -> dec
1 - bin -> hex
2 - dec -> bin
3 - dec -> hex
4 - hex -> bin
5 - hex -> dec
*/
$result = '';

$tok = strtok($var, " ");
while ($tok)
{
$char = $tok;
$tok = strtok(" ");
switch ($type)
{
case 0: $result = $result." ".bindec($char); break;
case 1: $result = $result." ".bin2hex($char); break;
case 2: $result = $result." ".decbin($char); break;
case 3: $result = $result." ".dechex($char); break;
case 4: $result = $result." ".decbin(hexdec($char)); break;
case 5: $result = $result." ".hexdec($char); break;
}
}

return $result;
}

function passwd2base($var)
{
$result = '';

$tok = strtok($var, "\r\n");
while ($tok)
{
$tok = strtok("\r\n");
$login = substr($tok, 0, strpos($tok, ':'));
$result = $result."\r\n".$login.";".$login;
}

return $result;
}





function gen_rnd($len)
{
$rnd_text = null;
for ($i = 0; $i < $len; $i++)
{
$temp = rand(1, 3);
if ($i == 0)
{
$temp2 = rand(1, 2);
if ($temp2 == 1)
{
$rnd_text .= chr(rand(65, 90));
} else
{
$rnd_text .= chr(rand(97, 122));
}
} else
{
if ($temp == 1)
{
$rnd_text.=chr(rand(65, 90));
} elseif ($temp == 2)
{
$rnd_text .= chr(rand(97, 122));
} else
{
$rnd_text .= chr(rand(48, 57));
}
}
}
return $rnd_text;
}

function crupt_php_code($code)
{
$start_pos = strpos($code, "<?php");
if ($start_pos === false)
{
$start_pos = strpos($code, "<?");
if ($start_pos !== false)
{
$code = substr($code, $start_pos + 2, strlen($code));
}
} else
{
$code = substr($code, $start_pos + 5, strlen($code));
}
$start_pos = strrpos($code, "?>");
if (is_int($start_pos)) { $code = substr($code, 0, $start_pos); }
$code = base64_encode(gzdeflate($code));
$code = "eval(gzinflate(base64_decode('".$code."')));";
$key_name = '$'.gen_rnd(8);
$key = rand(0, 99);
$code_name = '$'.gen_rnd(8);
$decoded_name = '$'.gen_rnd(8);
$cycle_name = '$'.gen_rnd(4);
$crupted_code = '';
for ($i = 0; $i < strlen($code); $i++)
{
$crupted_code .= chr(ord($code[$i]) ^ $key);
}
$crupted_code = base64_encode($crupted_code);
$unpacker = $code_name.'=base64_decode('.$code_name.'); for ('.$cycle_name.'=0;'.$cycle_name.'<strlen('.$code_name.');'.$cycle_name.'++) { '.$decoded_name.' .= chr(ord('.$code_name.'['.$cycle_name.']) ^ '.$key_name.'); } eval('.$decoded_name.');';
$xcode = "<? \r\n".$key_name.'='.$key.';'."\r\n".$code_name.'="'.$crupted_code.'";'."\r\n".$unpacker.' ?>';
return $xcode;
}





function gpackencode ($content)
{
$str = trim ($content);
$new = "";
for ($i = 0; $i < strlen ($str); $i ++) $new .= chr (ord ($str[$i]) ^ 1);
return '<script language=JavaScript>str = "'.$new.'";str2 = "";for (i = 0; i < str.length; i ++) { str2 = str2 + String.fromCharCode (str.charCodeAt (i) ^ 1); }; document.write (str2);</script>';
}

function fullurlencode($var)
{
$len = strlen($var);
$result = null;
for ($i = 0; $i < $len; $i++)
{
$result .= '%'.dechex(ord($var[$i]));
}
return $result;
}

function __crypt($var)
{
$salt = GetRandomChar().GetRandomChar();
$hash = crypt($var, $salt);
$result = "Hash: ".$hash."\r\nSalt: ".$salt;
break;
}

function bs_convert($var, $type)
{
/*
type:
0 - base64 encode
1 - base64 decode
2 - url encode
3 - url decode
4 - md5 hash
5 - random str
6 - sha1 hash
7 - DES hash
8 - CRC32
9 - rot13 encode
10 - ASCII -> bin
11 - ASCII -> dec
12 - ASCII -> hex
13 - ASCII -> char()
14 - ASCII -> chr()..
15 - ASCII -> String.fromCharCode()
16 - bin -> ASCII
17 - dec -> ASCII
18 - hex -> ASCII
19 - char() -> ASCII
20 - chr() -> ASCII
21 - String.fromCharCode() -> ASCII
22 - bin -> dec
23 - bin -> hex
24 - dec -> bin
25 - dec -> hex
26 - hex -> bin
27 - hex -> dec
28 - cp1251(&cp1259) -> utf8
29 - /etc/passwd -> login;login
30 - PHP crupt
31 - URL -> IFrame
32 - String lower
33 - String UPPER
34 - ASCII -> 0xHEX
35 - Simple html encrypt
36 - htmlspecialchars
37 - Full urlencode
38 - base64 decode && gzinflate
39 - gzdeflate && base64 encode
*/
$result = '';
$var = stripslashes($var);
switch ($type)
{
case 0: $result = base64_encode($var); break;
case 1: $result = base64_decode($var); break;
case 2: $result = urlencode($var); break;
case 3: $result = urldecode($var); break;
case 4: $result = md5($var); break;
case 5: $result = gen_rnd(rand(1,32));
case 6: $result = sha1($var); break;
case 7: $result = __crypt($var); break;
case 8: $result = crc32($var); break;
case 9: $result = str_rot13($var); break;
case 10: $result = ASCII2($var, 0); break;
case 11: $result = ASCII2($var, 1); break;
case 12: $result = ASCII2($var, 2); break;
case 13: $result = ASCII2($var, 3); break;
case 14: $result = ASCII2($var, 4); break;
case 15: $result = ASCII2($var, 5); break;
case 16: $result = _2ASCII($var, 0); break;
case 17: $result = _2ASCII($var, 1); break;
case 18: $result = _2ASCII($var, 2); break;
case 19: $result = _2ASCII($var, 1); break;
case 20: $result = _2ASCII($var, 1); break;
case 21: $result = _2ASCII($var, 1); break;
case 22: $result = bindechex($var, 0); break;
case 23: $result = bindechex($var, 1); break;
case 24: $result = bindechex($var, 2); break;
case 25: $result = bindechex($var, 3); break;
case 26: $result = bindechex($var, 4); break;
case 27: $result = bindechex($var, 5); break;
case 28: $result = cp1259_to_utf8($var); break;
case 29: $result = passwd2base($var); break;
case 30: $result = crupt_php_code($var); break;
case 31: $result = "<iframe src='".$var."' style='visibly:hidden;' width='1' height='1'></iframe>"; break;
case 32: $result = strtolower($var); break;
case 33: $result = strtoupper($var); break;
case 34: $result = '0x'.bin2hex($var); break;
case 35: $result = gpackencode($var); break;
case 36: $result = htmlspecialchars($var); break;
case 37: $result = fullurlencode($var); break;
case 38: $result = gzinflate(base64_decode($var)); break;
case 39: $result = base64_encode(gzdeflate($var)); break;
}
return $result;
}
?>

159932
25.08.2008, 21:11
лучше залей куданить ..

Chaak
25.08.2008, 21:13
http://sourceforge.net/project/downloading.php?group_id=112723&use_mirror=switch&filename=cryptomx-v1.58.zip&37730330

практически тоже самое, но на яваскрипте

BlackSun
25.08.2008, 21:18
лучше залей куданить ..
http://secretsdrive.net/get/01/7db70b63b5/web_tools.php.tar.gz

Zabuldon
06.09.2008, 04:51
где то я наблюдал такой набор утилит..... в каком то Icq Боте видимо.... странно...