Вопрос такой что это за кодировка? Я так понимаю десятиричьная Code: %uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178 И как средствами PHP первести кодировку такого вида Code: \x29\xc9\x83\xe9\xb8\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x8e в вышеупомянутую?
Прошу объяснить конкретней с примером на PHP по примеру из первого топика Функция: iconv('исходная кодировка', 'нужная кодировка', 'строка')
ВОщем вот это Code: %uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178 есть UTF-16, а это Code: \x29\xc9\x83\xe9\xb8\xd9\xee\xd9 ну просто обычьный hex дык вот как из hex-а замутить UTF-16 на PHP мож так понятней. У меня чёт функция "iconv" не пашет. Хотя наверное у меня руки просто кривые Ж-). ГЫ Ну чё нет вариантов?
У тебя в двух разных вариантах записаны числа, которые какая-либо программа должна толковать как "записать такие-то числа, выделив под них столько-то места", к кодировке это отношения не имеет
Числа здесь просто как пример. Это куски кода разных bind-shell кодов, то есть мне необходимо формат одного shell-кода записанного в hex-e преобразовать в другой вид, записанный в utf-16 вот и всё.
%uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178 -> \xE8\xFC\x00\x44\x00\x00\x45\x8B\x8B\x3C\x05\x7C\x01\x78 PHP: <? function pervoe_vo_vtotor($str){ $str = str_replace('%', '', $str); $i = 0; while(isset($str[$i+1])){ @$retval .= '\\x'.$str[$i].$str[$i+1]; $i+=2; } return $retval; } function vtoroe_v_pervoe($str){ $str = str_replace('\\x', '', $str); $for = 4 - strlen($str) % 4; if($for != 4) for($i = 0; $i < $for; $i++) $str = '0'.$str; while(isset($str[$i])){ @$retval .= '%'.substr($str[$i], $i, $i+4); $i+=4; } return $retval; } ?> Не проверял функции, но смысл понятен
Функция Pochk'и отображает алгоритм, но содержит логические ошибки. Функция массам не понадобится - пусть товарищ AoD доделает сам. Причина та же, по какой делают неслучайные ошибка в сплоях.
Точнее preg_replace Code: [color=#00AA00][color=#0000FF]<?[/COLOR] $str[color=#0000FF]=[/COLOR][/COLOR][color=#FFFF00]'%uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178'[/COLOR][color=#00AA00][color=#FF0000];[/COLOR] $str[color=#0000FF]=[/COLOR][color=#00FF00]preg_replace[/COLOR][color=#0000FF]([/COLOR][/COLOR][color=#FFFF00]'[color=#FF0000]/[/COLOR]%u[color=#00FF00]([[/COLOR]a[color=#00FF00]-[/COLOR]f0[color=#00FF00]-[/COLOR]9[color=#00FF00]][/COLOR]{2}[color=#00FF00])([/COLOR][color=#00FF00][[/COLOR]a[color=#00FF00]-[/COLOR]f0[color=#00FF00]-[/COLOR]9[color=#00FF00]][/COLOR]{2}[color=#00FF00])[/COLOR][color=#FF0000]/i[/COLOR]'[/COLOR][color=#00AA00][color=#0000FF],[/COLOR][/COLOR][color=#FFFF00]'\\\\x$1\\\\x$2'[/COLOR][color=#00AA00][color=#0000FF],[/COLOR]$str[color=#0000FF])[/COLOR][color=#FF0000];[/COLOR] [color=#00FF00]echo[/COLOR] [/COLOR][color=#FFFF00]"[color=#00AA00]$str[/COLOR]<br/>"[/COLOR][color=#00AA00][color=#FF0000];[/COLOR] $str[color=#0000FF]=[/COLOR][color=#00FF00]preg_replace[/COLOR][color=#0000FF]([/COLOR][/COLOR][color=#FFFF00]'[color=#FF0000]/[/COLOR][color=#FFFFFF]\x5C[/COLOR]x[color=#00FF00]([[/COLOR]a[color=#00FF00]-[/COLOR]f0[color=#00FF00]-[/COLOR]9[color=#00FF00]][/COLOR]{2}[color=#00FF00])[/COLOR][color=#FFFFFF]\x5C[/COLOR]x[color=#00FF00]([[/COLOR]a[color=#00FF00]-[/COLOR]f0[color=#00FF00]-[/COLOR]9[color=#00FF00]][/COLOR]{2}[color=#00FF00])[/COLOR][color=#FF0000]/i[/COLOR]'[/COLOR][color=#00AA00][color=#0000FF],[/COLOR][/COLOR][color=#FFFF00]'%u$1$2'[/COLOR][color=#00AA00][color=#0000FF],[/COLOR]$str[color=#0000FF])[/COLOR][color=#FF0000];[/COLOR] [color=#00FF00]echo[/COLOR] $str[color=#FF0000];[/COLOR] [color=#0000FF]?>[/COLOR][/COLOR]