+ Ответить в теме
Показано с 1 по 1 из 1
  1. #1
    Аватар для NatriX NatriX Не известно кто Любопытный
    Сообщений
    36
    Поблагодарили 0 раз(а) в 0 сообщениях

    Деобфускация кода

    Данная функция позволяет деобфусцировать код. (Основанный на eval-выполнение)

    PHP код:
    <?php
    /*
     * Автор: NatriX.
     * Функция позволяет деобфусцировать код.
     * Версия: 0.1.
    */
    function xHookCode ($file, &$buffer$fullhook false)
    {
        
    $__iseval = function ($file) use ($fullhook)
        {
            if (!
    $fullhook) return false;

            if (
    file_exists ($file))
                
    $file file_get_contents ($file);
                
            
    $tokens token_get_all ($file);
            if (!
    is_array ($tokens))
                return;
            
            foreach (
    $tokens as $int => $array)
                if (
    is_array ($array) && $array [0] == 260)
                    return 
    true;
                    
            return 
    false;
        };

        
    $__lambdax = function ($string) use ($__iseval$fullhook, &$buffer)
        {
            if (
    $fullhook && $__iseval ("<?php {$string} ?>"))
                
    xHookCode ("<?php {$string} ?>"$buffer$fullhook);
            else
                
    $buffer[] = $string;
                
            return;
        };

        
    $output NULL;
        
        if (
    file_exists ($file))
            
    $file file_get_contents ($file);
            
        
    $tokens token_get_all ($file);
        if (!
    is_array ($tokens))
            return;
        
        foreach (
    $tokens as $int => $array)
        {
            if (
    is_array ($array))
            {
                if (
    $array [0] == 260)
                    
    $array [1] = '$__lambdax';
                elseif (
    $array [0] == 368 || $array [0] == 370)
                    
    $array [1] = NULL;

                
    $output .= $array [1];
            }
            else
                
    $output .= $array;
        }
        
        eval (
    $output);
        return;
    }
    ?>
    Последний раз редактировалось NatriX; 27.06.2018 в 08:31.

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения