V.Terentev
Новичок
Даже "неумышленную" обфускацию не просто расковырять до вменяемого вида.В общем, самая крутая обфускация
Обфускация - это не кодирование, а осложнение понимания/редакции.
Даже "неумышленную" обфускацию не просто расковырять до вменяемого вида.В общем, самая крутая обфускация
Смотря для чего въезжать. Найти одну место типа $demo_version = true; может будет и можно, но нормально осознать сложный проект или его отредактировать будет очень сложно.фъехать будет не очень трудно
Ну это я так между делом Причём бесплатноIn terms of code protection, it is safe to say that it would be impossible to recreate the exact source code that it was built from, and without the accompanying source code comments. It would effectively be useless to use the bcompiler bytecodes to recreate and modify a class. However it is possible to retrieve data from a bcompiled bytecode file - so don't put your private passwords or anything in it.
К этому же списку можно добавить ещё несколько отсюда: http://www.hotscripts.com/search?q=obfuscator&cat=All&imageField.x=0&imageField.y=0.Причём бесплатно
Что значит БЕЗ. Посмотрите хотябы архив новостей на нашем сайте.без должной поддержки
Какими именно? Есть ограничения методов.такими ошибками
Да, я действительно считаю что хороший продукт должен продаваться - опыт моего общения с бесплатным софтом это подтверждает.только пропитиетарщикам
Ну можно только позавидовать мотивации и рвению . Думаю не все будут этим заниматься, а из тех кто будет у большинства не получится.ну убью денёк второй на растановку всех точег над Ы
Браво! Это как раз то, что вертелось у меня в голове при чтении этой темы. Только я оформить в слова не смогАвтор оригинала: Андрейка
взяли бы и защитили вашу интеллектуальную собственность и выложили её полным скриптом с тем же ограничеием для демки в 500 символов.. у вас ведь хороший продукт и вам нечего опасаться, что вашу интеллектуальную собственность будут незаконно использовать, не так ли?)
bcompiler преобразует ваш код в оп-коды + (увеличение производительности, ибо опкоды), в отличии от вашего варианта, который конструкторы переименует.....Автор оригинала: V.Terentev
К этому же списку можно добавить ещё несколько отсюда: http://www.hotscripts.com/search?q=obfuscator&cat=All&imageField.x=0&imageField.y=0.
kode, попробуйте использовать их для решения реальных задачь и увидите все их недостатки.
Что значит БЕЗ. Посмотрите хотябы архив новостей на нашем сайте.
Какими именно? Есть ограничения методов.
Да, я действительно считаю что хороший продукт должен продаваться - опыт моего общения с бесплатным софтом это подтверждает.
-~{}~ 20.01.08 13:29:
Ну можно только позавидовать мотивации и рвению . Думаю не все будут этим заниматься, а из тех кто будет у большинства не получится.
Да. Вас интересуют данные отчётности?ну и как, продается?
Это очень хорошо, но на данный момент ZendOptimizer установлен не везде, хотя и распространён. Сейчас трудно продавать скрипт, который работает только на Zend-технологиях - как, например, трудно продавать программу, которая не работает на WindowsVista.bcompiler преобразует ваш код в оп-коды
Могу дать Вам свой личный телефон. Поддерджка по Аське почти круглосуточна. Наконец есть юридический адрес, возможность договора.Должная поддержка это когда я могу позвонить вам всё что я о вас думаю
Восстановить прежний вид простоневозможно. Некоторые здесь говорят, что легко воспримут продукт с удалённой мнемоникой имён переменных, функций, классов - помоему, это почти нереально, когда монотонный аглоритм превышает хотябы 500 строк.При достаточном кол-ве усилий можно написать "де-обфускатор" для вашего варианта
bcompiler - не является ZendOptimizer'om, как и APC и опен сурсен.....дело тут в другом - это всё таки раширения для ядра PHP, и ваша правда есть мало где, но есть же APC который более распостранёнАвтор оригинала: V.Terentev
Андрейка и FreeSpace
Это очень хорошо, но на данный момент ZendOptimizer установлен не везде, хотя и распространён. Сейчас трудно продавать скрипт, который работает только на Zend-технологиях - как, например, трудно продавать программу, которая не работает на WindowsVista.
какая проблема его установить!!!Это очень хорошо, но на данный момент ZendOptimizer установлен не везде, хотя и распространён.
ыыыыыыыыыыыыыСейчас трудно продавать скрипт, который работает только на Zend-технологиях - как, например, трудно продавать программу, которая не работает на WindowsVista.
Очевидно вы никогда не разбирали программы в которых самое осмысленное название переменнойМесто вроде $xxxx = 500; Вы конечно найдёте, но понять общий ход или внести более глубокие изменения (например, сделать чтобы переменные парсились не только в двойных кавычках, но и в одинарных) будет очень трудно.
$i
Вот пример обработанного кода:
if(strlen($lll111111l1) <= $lll11l11ll1) { if($lll111111l1 != "") $lll1ll1l1l1 = $lll111111l1; else $llllllll1l1 = chr(202).chr(238).chr(228).chr(32).chr(238).chr(242).chr(241).chr(243).chr(242).chr(241).chr(242).chr(226).chr(243).chr(229).chr(242); } else $llllllll1l1 = chr(202).chr(238).chr(228).chr(32).chr(239).chr(240).chr(229).chr(226).chr(251).chr(248).chr(224).chr(229).chr(242).chr(32).$lll11l11ll1.chr(32).chr(241).chr(232).chr(236).chr(226).chr(238).chr(235).chr(238).chr(226); } if($llllllll1l1 == "") { if($lllll1l11ll) { $lll1ll1l1l1 = chr(32).chr(32).chr(32).chr(32).$lll1ll1l1l1.chr(32); $lll1111l111 = strlen($lll1ll1l1l1); $llll1l111ll = false; $lll1l1ll111 = false; $llll1lll11l = false; $lll1llllll1 = false; $lllll11llll = false; $llll1l11ll1 = ""; for($lll11ll11ll = 4; $lll11ll11ll < $lll1111l111 - 1; $lll11ll11ll ++) { if(!$llll1l111ll) { if($lll1ll1l1l1[$lll11ll11ll] == chr(112) && $lll1ll1l1l1[$lll11ll11ll - 1] == chr(104) && $lll1ll1l1l1[$lll11ll11ll - 2] == chr(112) && $lll1ll1l1l1[$lll11ll11ll - 3] == chr(63) && $lll1ll1l1l1[$lll11ll11ll - 4] == chr(60))
Восстановить прежний вид простоневозможно. Некоторые здесь говорят, что легко воспримут продукт с удалённой мнемоникой имён переменных, функций, классов - помоему, это почти нереально, когда монотонный аглоритм превышает хотябы 500 строк.
if(strlen($a) <= $b)
{
if($a != "")
$n = $a;
else
$j = "Код отсутствует";
}
else
$j = "Код превышает".$b."символов";
}
if($j == "")
{
if($k)
{
$n = " ".$n." ";
$l = strlen($n);
$c = false;
$d = false;
$e = false;
$f = false;
$g = false;
$h = "";
for($m = 4; $m < $l - 1; $m ++)
{
if(!$c)
{
if($n[$m] == "p" && $n[$m - 1] == "h" && $n[$m - 2] == "p" && $n[$m - 3] == "?" && $n[$m - 4] == "<")
Сейчас я посмотрел на хостингах сайтов своих клиентов - на 3х точно нет Такчто... На данный момент нет такой системы раскодирования PHP-кода, которая была бы везде, поэтому есть потребность именно в классической обфускации.есть же APC который более распостранён
Проблема возникает, когда хостинг НЕ Ваш. Когда Вы продаёте скрипт, который должен идти в широкие массы.какая проблема его установить!!!
Где этот пример? Можно конкретнее? Есть 2 ограничения:ваш Обфускатор на наипростейшем примере смог лишь вывести ошибку
Доводилось, но даже когда эффект обфускации стал следствием малого ума программиста, разобраться сложно. Если же код довольно сложный и большой, то разобраться без комментариев и мнемоники имён нереально.Очевидно вы никогда не разбирали программы в которых самое осмысленное название переменной
Вам он понятен? Что делают переменные $n, $l или $g ? А там такого кода ещё пару тысяч строк.А вот необработанная версия
Назовите, пожалуйста более "сообразительный" PHP-обфускатор (не энкодер).скрипт - не отличаеться умом и сообразительностью
Специально для большего осложнения "понимания" обфусцированного кода людьми, всёже способными его осознать, возникла мысль дополнительного кодирования переменных через создание 20-30 синонимов каждой переменной. "Деобфускатор" при этом будет сравним по сложности с парсером кода, что снизет вероятность его создания.
А что Вам собственно не нравится?предлагаю кинуть туда ету проверку строки
пример я приводил...Где этот пример? Можно конкретнее?
а вот об этом я и говорю...Неявные имена переменных, вроде ${$a.func($d).$c}. Это просто невозможно отпарсить без трансляции кода, поэтому ПРЕДУСМОТРЕНА возможность отключить кодирование отдельных переменных, чтобы избежать проблемм.
проблем с Zend Optimiser'om еще вообще не было!!!Проблема возникает, когда хостинг НЕ Ваш. Когда Вы продаёте скрипт, который должен идти в широкие массы.
Как Вам сказать... Ето осложнит создание деобфускатора, но никак не исключит.Обращаясь отдельно к TutanXamoN, как бы Вы оценили такой ананс:
Специально для большего осложнения "понимания" обфусцированного кода людьми, всёже способными его осознать, возникла мысль дополнительного кодирования переменных через создание 20-30 синонимов каждой переменной. "Деобфускатор" при этом будет сравним по сложности с парсером кода, что снизет вероятность его создания.
Мне не нравиться поиск совпадения с <?php и баг, уж не знаю есть он только в демо или в фулл вершион тоже, когда в случае использования <? //here is code скрипт просто не работает.предлагаю кинуть туда ету проверку строки
А что Вам собственно не нравится?
Не совсем:TutanXamoN, Вы считаете расчёт разумным?
Малая доля иронии в нём присутствует.TutanXamoN, я читал Ваше сообщение и не понял иронично оно или нет
Ткнуть на одну галочку - это не проблема. Если предполагатся заменить имя переменной, то надо ожидать что оно всётаки заменится.а вот об этом я и говорю
Вы что продаёте - и главное кому? Есть продукты, которые продаются на хостинги, где нет даже баз данных. Вы можете сказать, что это не профессионально или не серьёзно, но таких случаев много. Среди хостингов сайтов моих клиентов Zend Optimiser'а нет почти нигде.проблем с Zend Optimiser'om еще вообще не было
$n ето собственно переданный в демку код причём ето синоним $a.Вам он понятен? Что делают переменные $n, $l или $g ? А там такого кода ещё пару тысяч строк.