+ Reply to Thread
Results 1 to 2 of 2

Thread: На тему деобфускации php или о подлости браузеров .

  1. #1

    Default На тему деобфускации php или о подлости браузеров .

    На днях разбирал один скрипт . Не то чтобы у меня был в этом много опыта . Его вообще нет . Но пых есть пых . Код декриптуется в eval . Старый рецепт - поменял eval на echo - забрал новый код из браузера .
    Новый код был странный .

    Code:
     for($i = 0, $k = 0; $i = strlen($key)) 
            $k = 0;
    	$s[$i] = $s[$i] ^ $key[$k];
      }
      $e = $s;
      for($i=0, $k=0; $i = strlen($key)) 
              $k = 0;
    	  $e[$i] = $e[$i] & $key[$k];
      }
    Вообще это код распаковщика для новой строки с данными .
    Пол дня считал , что автор гуру . Он знает способ заставить цикл for работать без открывающей скобки и третьего условия. Другие пол дня я полагал что скобки есть . Но защита хитро прячет часть кода распаковщика и я не знаю как . Так прошел целый день .
    Оригинальный код был таким .
    Code:
    <?php 
     /* bla bha bha 
     */
     for($i = 0, $k = 0; $i < strlen($s); $i++, $k++) {
    	if ($k >= strlen($key)) $k = 0;
    	$s[$i] = $s[$i] ^ $key[$k];
      }
      $e = $s;
      for($i=0, $k=0; $i<strlen($e); $i++, $k++) {
    	if ($k >= strlen($key)) $k = 0;
    	  $e[$i] = $e[$i] & $key[$k];
      }
    ?>
    Код <?php не отображается браузером тк считается за тег . Вместе с ним из видимости за компанию ушел кусок из середины цикла . Код из вполне нормального стал тем что выше .
    Со строками данных было еще интереснее . Из них удалялись отдельные символы , после чего они переставали расшифровываться даже совершенно рабочим декриптором . Или начинали расшифровываться кусками .
    В итоге из-за браузера я потратил почти столько же времени , сколько на создание деобфускатора .
    Надеюсь этим постом сэкономлю пару часов какому-нибудь чайнику , который решил распаковать скрипт . Eval нужно выводить в файл , а не в браузер .

  2. Пользователь сказал cпасибо:
    Dark Koder (05-06-2013)
  3. #2
    root's Avatar

    Default Re: На тему деобфускации php или о подлости браузеров .

    Eval нужно выводить в файл , а не в браузер .
    А посмотреть в "View => Page Source"? =)))))
    Успех – это путь от провала до провала без потери энтузиазма. (В. Черчиль)

    Не бойся идти медленно, бойся остановиться. (Китайская пословица)

    When you lose fun and start doing things only for the payback, you're dead. (c) TCLH (Phrack 65, Intro)

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:33
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org