Xcache баг-трекер декомпилятора

Статус
В этой теме нельзя размещать новые ответы.

case баги (оригинал)
полностью разваливается код, дублируется, вместо break - label
PHP:
switch($Object->getSeverity()) {
                    case E_WARNING: $severity = 'E_WARNING'; break;
                    case E_NOTICE: $severity = 'E_NOTICE'; break;
                    case E_USER_ERROR: $severity = 'E_USER_ERROR'; break;
                    case E_USER_WARNING: $severity = 'E_USER_WARNING'; break;
                    case E_USER_NOTICE: $severity = 'E_USER_NOTICE'; break;
                    case E_STRICT: $severity = 'E_STRICT'; break;
                    case E_RECOVERABLE_ERROR: $severity = 'E_RECOVERABLE_ERROR'; break;
                    case E_DEPRECATED: $severity = 'E_DEPRECATED'; break;
                    case E_USER_DEPRECATED: $severity = 'E_USER_DEPRECATED'; break;
                }
///also the same error with this code
switch (true) {
                        case $ord_var_c == 0x08:
                            $ascii .= '\b';
                            break;
                        case $ord_var_c == 0x09:
                            $ascii .= '\t';
                            break;
                      case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)):
                            // characters U-00000000 - U-0000007F (same as ASCII)
                            $ascii .= $var{$c};
                            break;
                        case $ord_var_c == 0x0A:
                            $ascii .= '\n';
                            break;
                }
//
switch(true)
{
case preg_match('/\\\u[0-9A-F]{4}/i', substr($chrs, $c, 6)):
// single, escaped unicode character
$utf16 = chr(hexdec(substr($chrs, ($c + 2), 2)))
  . chr(hexdec(substr($chrs, ($c + 4), 2)));
$utf8 .= $this->utf162utf8($utf16);
$c += 5;
break;
}
печатается только 1 остальные пустые
PHP:
switch($Type) {
                case self::DUMP: // only this was decompiled
                case self::LOG:
                    return $msg->log($Object);
                case self::INFO:
                    return $msg->info($Object);
                case self::WARN:
                }
 
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Далеко не все слеши нужно экранировать, только те, которые используются в комбинации со спец-символами (\n,\r, \t, \$ и т.п.), с остальным посмотрю.
 
Далеко не все слеши нужно экранировать, только те, которые используются в комбинации со спец-символами (\n,\r, \t, \$ и т.п.), с остальным посмотрю.
Там как раз используется служебный символ, "обратный слеш" =). Смотрел в опкодах - строка передается "правильная" - а уже сам класс ее "портит"
Код:
32 7 CONCAT t@6 'C:\\xampp\\php\\FExec.exe C:\\xampp\\php\\php.exe "'cv%3 EX:0
 
Там как раз используется служебный символ, "обратный слеш" =). Смотрел в опкодах - строка передается "правильная" - а уже сам класс ее "портит"
Код:
32 7 CONCAT t@6 'C:\\xampp\\php\\FExec.exe C:\\xampp\\php\\php.exe "'cv%3 EX:0
Он её не портит, он её оптимизирует =)
Можешь попробовать сделать:
PHP:
<?php
 
echo "C:\\xampp\\php\\FExec.exe C:\\xampp\\php\\php.exe";
echo "C:\\xampp\php\FExec.exe C:\\xampp\php\php.exe";
и найти 2 отличия в выводе
 
извлеченный из ионкуб декодера на основе кеша класс декомпилятора, как и предполагалось класс php чуть модифицированный, возможно кто-нить скрестит сее творение с классами топика, или найдет ему применение;)
 

Вложения

  • dumped decompiler.rar
    17 KB · Просмотры: 130
возможно кто-нить скрестит сее творение с классами топика
Для просмотра ссылки Войди или Зарегистрируйсянекоторые места с классом из топика, вылез баг со свичами, но для теста можно посмотреть и поправить. Вообще нужно бы поискать тесты, для которых там стоят такие хитрые костыли.
 
Ап по просьбе!!!
Ибо доработки имеются!

Иначе через 2-3 дня под снос!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху