Простой php обфускатор

Discussion in 'PHP' started by WhiteMind, 18 Feb 2016.

  1. WhiteMind

    WhiteMind New Member

    Joined:
    18 Feb 2016
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Простенький обфускатор кода:
    1. Выпрямляет if/switch/for/while/do while
    2. Полностью совместим с php7
    3. Изменяет логические операторы( если они самые верхние )
    4. Заменяет магические константы
    5. Вычисляет выражения с константами

    Если вы видите ошибку, то это может быть следующие:
    1. Не валидный код.
    2. Код слишком длинный.( хостинг фри и поэтому слишком большая вложенность условий и вообще объем кода не может быть ). Макс 10000 символов.

    http://whitemind.freevar.com/

    пс: только не сломайте, это все на фри хостинге висит

    Примеры:
    из
    Code:
    <?php
    if ( $a && $b || ( $c->attr || 1*3*5 ) ) {
        exit;
    } else {
        for($j = 0; $j<20; $j++) {
            echo $j,"\n" . "----\n";
        }
    }
    сделает
    PHP:
    <?php

    if ($a) {
        goto 
    hz2s11;
    }
    goto 
    hz2s13;
    hz2s11:
    if (
    $b) {
        goto 
    hz2s12;
    }
    goto 
    hz2s13;
    hz2s12:
    goto 
    hz2s9;
    hz2s13:
    if (
    $c->attr) {
        goto 
    hz2s14;
    }
    if (
    15) {
        goto 
    hz2s14;
    }
    goto 
    hz2s15;
    hz2s14:
    goto 
    hz2s9;
    hz2s15:
    goto 
    hz2s10;
    hz2s9:
    goto 
    hz2s6;
    hz2s10:
    $j 0;
    goto 
    hz2s5;
    hz2s3:
    echo 
    $j'
    ----
    '
    ;
    $j++;
    hz2s5:
    if (
    $j 20) {
        goto 
    hz2s3;
    }
    goto 
    hz2s7;
    hz2s6:
    die;
    hz2s7:
     
    #1 WhiteMind, 18 Feb 2016
    Last edited: 23 Feb 2016
  2. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    Чето не заметил обффускации, того же банального phpinfo();
     
    _________________________
  3. WhiteMind

    WhiteMind New Member

    Joined:
    18 Feb 2016
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    А зачем это делать. Для этого полно обфусикаторов.
    if/for/while/do while/switch
    вот что он меняет.
     
  4. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    Не увидел обфускатора вообще, для меня тема в оффтоп...
     
    _________________________
  5. WhiteMind

    WhiteMind New Member

    Joined:
    18 Feb 2016
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Пример:
    PHP:
    if ( $p ) {
        for(
    $i=0;$i<100;$i++) {
            for(
    $j=0$j<100$j++) {
                if ( ( 
    $i === $w ) && $j $i  )
                    break 
    2;
            }
        }
    }
    в
    PHP:
    <?php

    if ($p)  goto vkRg6Qsw1mo0jE9E
    goto 
    vkRgCLztoCGSsoAA;
    vkRg6Qsw1mo0jE9E:
    $i 0;
    goto 
    vkRgCb4MuOU3rwHV;
    vkRgu96ZpjCUwFbv:
    $j 0;
    goto 
    vkRgfuuSlonfsyMF;
    vkRg06l7LVdESxyd:
    if (
    $i === $w && $j $i)  goto vkRgV5hDcdVy06aA
    goto 
    vkRgjoWbHdKswR5Q;
    vkRgV5hDcdVy06aA:
    goto 
    vkRgvPHDwT7wEZ7R;
    goto 
    vkRgjoWbHdKswR5Q;
    vkRgjoWbHdKswR5Q:
    vkRgciLeEDUWRSjX:
    $j++;
    vkRgfuuSlonfsyMF:
    if (
    $j 100)  goto vkRg06l7LVdESxyd
    vkRgGhrwR6eYdrmL:
    vkRgvo9IKaykwgQT:
    $i++;
    vkRgCb4MuOU3rwHV:
    if (
    $i 100)  goto vkRgu96ZpjCUwFbv
    vkRgvPHDwT7wEZ7R:
    goto 
    vkRgCLztoCGSsoAA;
    vkRgCLztoCGSsoAA:
     
  6. WhiteMind

    WhiteMind New Member

    Joined:
    18 Feb 2016
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Еще он полностью совместим с переменными переменных и т.д. __LINE__ будет валидно.
    и php7 полностью поддерживает
     
  7. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    Где вывод?
    [​IMG]
     
    _________________________
  8. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Наверное без <?php не выводит
     
    _________________________
    WhiteMind and winstrool like this.
  9. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,414
    Likes Received:
    911
    Reputations:
    863
    Все верно! нужны теги <?php * ?>
     
    _________________________
  10. WhiteMind

    WhiteMind New Member

    Joined:
    18 Feb 2016
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Up. обновил