Comments 25
Однажды по плохому стечению обстоятельств был слит движок, закоденный в ионкубе. На этом собственно порыв «хакеров» или заказчиков закончился.
По моему это самый взломостойкий энкодер. Ходили даже слухи, что китайцы эти файлы по 15$ за штуку декодируют)
Всё остальное, что я видел — поддается декодингу. Как сейчас, увы, не знаю.
По моему это самый взломостойкий энкодер. Ходили даже слухи, что китайцы эти файлы по 15$ за штуку декодируют)
Всё остальное, что я видел — поддается декодингу. Как сейчас, увы, не знаю.
Да, действительно слили движок Ioncube версии 6. На данный момент, актуальная версия — 8.
Ioncube — самый качественный и проработанный энкодер, но не самый взломостойкий, если под взломостойкостью понимать 100% восстановление исходного кода.
Текущая цена на декодирование — от $6 за файл до $10 за 100Kb, в зависимости от жадности декодировщика :)
Ioncube — самый качественный и проработанный энкодер, но не самый взломостойкий, если под взломостойкостью понимать 100% восстановление исходного кода.
Текущая цена на декодирование — от $6 за файл до $10 за 100Kb, в зависимости от жадности декодировщика :)
Как на счет Zend Guard по сравнению с Ioncube по качеству?
С точки зрения тех, кто декодирует — двояко: опкоды достаются проще (соответственно, можно всякие пароли в тексте подсмотреть даже без декомпилирования). Зато Zend Guard перед кодированием использует свой optimizer, а это усложняет декомпилирование. Причем, чем сложнее была структура исходного кода (вложенные циклы, switch-и, разветвленные if-ы), тем декомпиляторы больше запутываются.
А приходилось ли сталкиваться с Nu-Coder'ом?
За все время работы я видел только один запрос на декодирование файлов после Nu-Coder'а, это было на одном из форумов.
По-моему, публично доступные декодеры справляются с такими файлами.
А вообще, компания NuSphere мне нравится тем, что они создали свой стэк для PHP-разработки.
По-моему, публично доступные декодеры справляются с такими файлами.
А вообще, компания NuSphere мне нравится тем, что они создали свой стэк для PHP-разработки.
А никто не встречал сервисов по кодированию Zend Guard, по аналогии как на сайте ionCube?
Создатели Zend Guard решили не делать «дешевый» онлайн-энкодер для единичных скриптов. Видимо, больше мороки, чем отдачи.
Про аналогичные пиратские сервисы я ничего не слышал и сомневаюсь, что они существуют.
Один из сайтов по декодированию предлагает за деньги сделать так, чтобы ваши скрипты не могли бы декодировать другие сервисы — очень напоминает шутку про то, как «русский луноход отбирает образцы грунта у американского» :)
Про аналогичные пиратские сервисы я ничего не слышал и сомневаюсь, что они существуют.
Один из сайтов по декодированию предлагает за деньги сделать так, чтобы ваши скрипты не могли бы декодировать другие сервисы — очень напоминает шутку про то, как «русский луноход отбирает образцы грунта у американского» :)
Речь про перевод кода в плохо-декодируемые конструкции такого вида?
switch($eatThis) {
default:
$doNothing = 0;
}
Такие конструкции только затрудняют автоматическое декодирование, а там вроде речь шла о полной защите.
Я ради интереса отправил запрос этому товарищу, о результатах сообщу.
Я ради интереса отправил запрос этому товарищу, о результатах сообщу.
Есть такие товарищи, которые и без обфускатора так напишут, что чтение их кода всегда вызывает реакцию «Поделись травой, которую курил» :(
Кстати с ZendGuard не все так гладко. Пару раз встречался с таким кодом (с весьма обычным на первый взгляд), который по-разному работал в закодированном и не закодированном виде. Сколько я тогда промучился с дебагом…
Это как раз тот случай, когда нужно было отрепортить баг создателям ZendGuard. Хотя, по моему субъективному мнению, только создатели IonCube серьезно относятся к таким запросам — быстро разбираются и исправляют. Могу быть и неправ.
Как декодеры относятся к позднему связыванию?
А к замыканиям?
$var1 = 'Blah' . 'Blah' . 'Blah';
$var2 = new $var1;
А к замыканиям?
$arr = array(1,2,3); $z = 100;
usort($arr, function($x, $y) (use $z) { ... });
Позднее связывание вообще никаких проблем не вызывает. Один из публично доступных декомпиляторов глючит с ключевым словом «new», но это скорее исключение.
Замыкания, как я подозреваю, сейчас вообще никто из декодеров не поддерживает — т.е. корректно не декодирует. Во многом потому, что большинство кода, который приходится декодировать, пишут индусы в худшем значении этого слова :)
Замыкания, как я подозреваю, сейчас вообще никто из декодеров не поддерживает — т.е. корректно не декодирует. Во многом потому, что большинство кода, который приходится декодировать, пишут индусы в худшем значении этого слова :)
Городок в западно-американской степи. Салун. За столом сидят два ковбоя, местный и приезжий, и пьют виски. Вдруг по улице кто-то проносится на огромной скорости, паля во все стороны из пистолетов. В салуне никто и ухом не ведёт. Приезжий местному:
— Билл?
— Да, Гарри?
— Что это было, Билл?
— Это был Неуловимый Джо, Гарри.
— А почему его зовут Неуловимым Джо, Билл?
— Потому что его никто ещё не поймал, Гарри.
— А почему его никто ещё не поймал, Билл?
— Потому что он нафиг никому не нужен, Гарри.
— Билл?
— Да, Гарри?
— Что это было, Билл?
— Это был Неуловимый Джо, Гарри.
— А почему его зовут Неуловимым Джо, Билл?
— Потому что его никто ещё не поймал, Гарри.
— А почему его никто ещё не поймал, Билл?
— Потому что он нафиг никому не нужен, Гарри.
вопрос знатокам PHP: знаете ли вы, почему тут именно print? ;)
Только его и можно так использовать, print возвращает результат и ведёт себя как функция, а echo просто выводит строку на экран.
Можно ещё написать скрипт, который пробежится по всему вашему проекту и заменит все константы и содержимое текстовых переменных с помощью chr(), перед этим пропустив через обфускатор а затем bcompiler. Находил на форуме каком-то тему где человек писал что декодирует любые скрипты, в итоге мне отказал ) так что схема неплохая, рекомендую.
Я бы не сказал, что это удачный подход. Во-первых, массовое использование chr ударит по производительности. Во-вторых, bcompiler — отлично декодируется, тем более, что это проект с открытым исходным кодом. И, к слову, с bcompiler-ом больше мороки тем, кто кодирует, чем тем, кто декодирует :)
Не знаю, почему ваш «человек с форума» отказался декодировать ваш вариант. Возможно, поленился возиться.
Не знаю, почему ваш «человек с форума» отказался декодировать ваш вариант. Возможно, поленился возиться.
Если у вас такой серьезный код на продажу, который требует кодирования — думаю, можно критичные места вынести в extensions.
Столько воды, а как в итоге восстанавливать php из опкодов, так и не ясно…
Sign up to leave a comment.
Кодирование и декодирование PHP кода