Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.210.213] |
|
Сообщ.
#1
,
|
|
|
всем привет!
появилась такая проблема: пришёл скрипт который был записан в виде шестнадцатеричных символов ${"\x47\x4c\x4f\x42AL\x53"}["\x65\x74r\x79\x66\x6d"] = "\x62u\x66\x66\x65\x72"; fwrite($this->fh_tmp, "("); ${"\x47\x4cO\x42\x41LS"}["\x75\x63\x70j\x66u\x68\x77\x6c\x67\x6e\x6c"] = "\x6e"; $ljpkvsgylec = "\x66\x69"; раскодировал я его нормально! function escapedHexToHex($escaped) { $ignore = array('fe', 'ff', 'ef', 'bb', 'bf'); if (in_array(strtolower($escaped[1]), $ignore)) { $stop = 1; // это для отладки не используемая переменная } else { $hd = hexdec($escaped[1]); $chr = chr($hd); return $chr; } } $decoded = preg_replace_callback('#\\x([a-f0-9]{2})#im', 'escapedHexToHex', $content); но после оказалось что есть строки в которых присутствуют кавычки (разные и ` и " и ') и они не экранированы подскажите регексп или может код которым можно исправить данную штуку пример (пара строк): $this->lng_list = "<option value="auto">- auto -</opinion>"; .... mysql_query("SELECT * INTO OUTFILE '{$this->JOB['file_buf']}' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY \"'" LINES TERMINATED BY '\\0\\0\\0\\\0' FROM `{$n[1]}`" . (${${"GLOBALS"}["ucpjfuhwlgnl"]}[5] < ${${"GLOBALS"}["etryfm"]} ? "" : " LIMIT {$i}, {$limit}"))or sxd_my_error(); P.S. может быть с такой задачей может справится PHP_Beautifier, тогда какое должно быть правило проверки и расстановки "экранов" |
Сообщ.
#2
,
|
|
|
Выкинуть такой код в помойку. Сразу и без раздумий. Нет, я серьёзно. Это лучшее решение. Выкинуть и написать по-нормальному.
Добавлено Ну т.е. это не придирка, вроде "пришёл на форум, а тебе вместо ответа - критика". Больше времени сэкономишь. А вот последний пример кода - это воообще ................. За такое не то что кастрировать, за такое надо на кол сажать. С провёртом по оси Z Добавлено mysql_... функции вырезаны из языка 10 лет назад, их сейчас вообще там нету и подключить нельзя никак. А `${"GLOBALS"}["ucpjfuhwlgnl"]` - серьёзно? В коде 20-летней давности можно встретить глобалсы, но вот прям так из них сразу в запрос? Ты понимаешь, что это настолько большая дыра в системе, что чёрная дыра галактики Андромеда как капля в океане. Не, нахрен такой трешак. Это... Блин, не школьник писал, это детсадовец с особо извращённым чувством юмора, который решил насрать руководству. Удаляй, просто бери и сжигай. |
Сообщ.
#3
,
|
|
|
куда деваться, приходится работать со всяким "дерьмом"
лучше посоветуйте как быть с отслеживанием экранирования |