V.Terentev

Рейтинг
34
Регистрация
26.03.2007
mihan:
а цена

Цена сейчас 499р, есть скидки - подробнее на http://altseotools.com/howtobuy.htm

jorevo:
А можно сделать нормальный лёгкий интерфейс

На интерфейс есть скин, поэтому есть возможность выпустить релиз с изменённым интерфейсом. Можно подробнее о том, что Вы считаете нормальным и лёгким?

jorevo:
в интерфейсе пользователя - 20 символов поля под описание

Почему 20? Там 10000 символов для поля описания - это можно настроить. В форме добавления в интерфейсе пользователя одна строка, потомучто код обычно вставляют из буфера - нет смысла его редактировать там.

jorevo:
Под интерфейс администратора какое нужно разрешение, чтобы таблица влазила на экран целиком

Редактирование этой таблицы из интерфейса администратора - опциональная функция, скорее для исправления ошибок или уточнения формата. Под работу с таблицей приспособлен интерфейс менеджера, где можно настроить отображение, чтобы всё хорошо влезало именно на Вашей машине. А вообще, при разрешении 1280х1024 всё прекрасно влезает.

jorevo:
не надо громоздить гигантские таблицы, есть более элегантные решения

Можно выполнять действия последовательно, не отображая таблицу, но это повышает количество кликов для выполнения действий. Кроме того, это требует более абстрактного мышления от менеджера, чтобы интуитивно работать с данными.

Я руководствовался потребностями нескольких очень загруженных линк-менеджеров. После кратковременного привыкания, интерфейс менеджера позволяет выполнять необходимые действия очень быстро "на автомате".

MrX, я в своих утверждениях разделяю понятия обфускации и прекомпиляции, поэтому в сравнениях я имею в виду, что прекомпилированный файл не был предварительно обфусцирован.

Что именно я имею ввиду:

Есть некоторый относительно крупный исходник. Произвели байт-кодирование этого исходника без элементов обфускации. Независимо произвели обфускацию без байт-кодирования. Я утверждаю, что в первом случае вернуть исходнику прежний вид будет проще, потомучто само байт-кодирование по определению взаимооднозначно.

Я не говорил конкретно о каких-то продуктах и о предварительной обфускации байт-кодированного исходника. Напротив, я говорил, что обфускацию, в частоности PHP UnReader можно использовать совместно с байт-кодированием, как предварительную обработку.

Я понял, что Вы примерно так и делаете. Это хорошо, но в некоторых случаях лучше остановиться только на обфускации, не делая байт-кодирования. Это позволит не использовать серверное ПО.

MrX:
Написать парсер, который обфусцированный код приведёт в более-менее читабельный текст - дело от силы нескольких часов

Это также голословно. Попробуйте на примере (http://www.pilotstudio.ru/download/index.zip).

В чём по сути разница наших позиций: Вы считаете, что для качественной защиты одной обфускации недостаточно, и необходимо дополнительное байт-кодирование обфусцированного кода. Я считаю, что обфускация PHP UnReader даёт максимум защиты, а дополнительное байт-кодирование повышает её уровень лишь на немного.

Думаю, это спор из разряда что лучше C++ или Pascal. Можно приводить много различных примеров, но однозначного ответа дать нельзя - выбор зависит от условий задачи и пристрастий программиста.

У меня другой вопрос. Реализованы ли в используемых Вами продуктах механизмы, подобные этим, и испытываете ли Вы потребность в подобных методах защиты:

V.Terentev:
Кроме различных улучшений/доработок самого кода можно, например, реализовать абсолютно жесткую привязку пользователя к серверу автора скрипта.

К примеру, есть некоторый скрипт, необходимо сделать так, чтобы он был работоспособен только на одной машине. Для этого скрипт должен включать в себя с помощью include(...) некий код с сервера автора скрипта. В этом коде можно собрать данные о выполняющей скрипт машине и разрешить/запретить дальнейшее выполнение. Задача: сделать так, чтобы обращение к серверу автора нельзя было обойти подсунув другой сервер или статический файл.

Можно вынести часть алгоритма, но это увеличит нагрузку на сервер автора.
С помощью обфускатора можно сделать следующее: для каждой переменной создаётся некоторое количество синонимов, карта которых хранится в этом вынесеном коде. Эта карта будет уникальна для каждой обфускации т.е. "ломать" придётся отдельно каждый билд, что повышает защищённость. Таким образом, включение кода будет просто обязательно для работы скрипта.
MrX:
Декомпилируется всё, равно как и деобфусцируется

Здесь очень большая разница: декомпиляция полностью или почти полностью автоматизирована, восстанавливает всю мнемонику. Деобфускация - это только условно, реально разобраться можно только вручную.

MrX:
если человек хочет именно ваш продукт, он найдёт как и где его использовать

Человек, как правило, хочет не продукт, а средство решения стоящей перед ним проблемы. Если Ваш скрипт не решает какую-то очень специфическую задачу, у него есть конкуренты. И это нормально - большинство проблем уже стояли ранее перед кем-то. При наличии конкурентов любой фактор может стать решающим, как принято говорить "при прочих равных условиях".

claygod:
Позвольте, Петерхосте Зенд не поддерживается только на самом дешовом тарифе

Да, это пример неудачный - на этом тарифном плане и PHP нет. Но, тут же на форуме нашёл пример "сложностей" распространения продукта, работающего только под Zend: /ru/forum/143915, самый последний ответ на странице.

kostich:
Стоимость написания среды для деобфускации будет дороже самого скрипта

Вот в этом и есть основная задача. Вообще, задача любого кодирования информации - сделать время взлома больше времени актуальности этой информации.

Unlock:
Так я и забил, ибо было не настолько актуально чтобы писать в службу поддержки по поводу установки зенда

Я думаю таких примеров много. У каждого метода защиты есть свои плюсы и минусы - нужно правильно их использовать. Если скрипт имеет множество конкурентов, то ужесточение "системных требований" может напрочь лешить его пользователей.

claygod:
Мне нравится идея ОПТИМИЗАЦИИ

У меня тоже множество идей по развитию направления. Кроме различных улучшений/доработок самого кода можно, например, реализовать абсолютно жесткую привязку пользователя к серверу автора скрипта.

К примеру, есть некоторый скрипт, необходимо сделать так, чтобы он был работоспособен только на одной машине. Для этого скрипт должен включать в себя с помощью include(...) некий код с сервера автора скрипта. В этом коде можно собрать данные о выполняющей скрипт машине и разрешить/запретить дальнейшее выполнение. Задача: сделать так, чтобы обращение к серверу автора нельзя было обойти подсунув другой сервер или статический файл.

Можно вынести часть алгоритма, но это увеличит нагрузку на сервер автора.

С помощью обфускатора можно сделать следующее: для каждой переменной создаётся некоторое количество синонимов, карта которых хранится в этом вынесеном коде. Эта карта будет уникальна для каждой обфускации т.е. "ломать" придётся отдельно каждый билд, что повышает защищённость. Таким образом, включение кода будет просто обязательно для работы скрипта.

Softex:
Из минусов бы отметил увеличение размера файлов и потерю скорости обработки, если уж на чтение каждой кавычки вызывается функция

Размер файлов особо не важен - он увеличивается не на столько, чтобы создать проблемы при закачке или хранении файлов. Скорость действительно несколько падает, но ТОЛЬКО при замене кавычек .chr(...)., и это падение также не критично - около 10%. В собо критичных участках можно отказаться от этой замены.

MrX:
Одним словом, не пишите говноскрипты, а достойные продукты и люди-покупатели к вам потянутся

Тут не всё так просто. Скрипт может быть очень хорошим, но его конкурент с более мягкими "системными требованиями" получит больше шансов привлечь внимание пользователя.

Unlock:
Например для меня, человека абсолютно не знающего PHP, потратить $30 на такую вещь не жалко, и я скорее всего куплю этот продукт

Я даже предоставлю Вам скидку для укрепления Вашего хорошего впечатления о продукте :)

MrX:
покажите мне хотябы несколько хостингов где ZendOptimizer не установлен

Вот сейчас ткнул на угад в несколько хостингов моих клиентов, которые хостятся не у нас: http://www.atlex.ru, http://peterhost.ru - не говорю за все тарифы, но на тех, которые используются ZendOptimizer.

MrX:
поймите, я не критикую ваш продукт, наоборот, сам всегда использую обфускаторы, но некоторые пункты из вашей аргументации явно притянуты за уши.

Да я не стараюсь специально придумать аргументы - они взяты из реальной работы с клиентами. Лишние системные требования часто сильно мешают распространению продукта. Часто бывает, что готовое решение, которое пакетом ставится на разные хостинги приходится дорабатывать именно под возможности хостингов, а точнее тарифов.

MrX:
есть такое понятие как системные требования.

Системные требования должны быть обоснованы преимуществами для пользователя, а не удобством программиста. Иными словами, требование PHP5 пользователь поймёт с большей охотой, т.к. оно сулит повышение скорости, стабильности и т.д. А вот требование ZendOptimizer ничего не даёт пользователю кроме неудобств.

MrX:
Или вы откажетесь использовать особенности PHP5 только потому, что не на всех хостингах он установлен, а только PHP4?

Да, для определённого спектра задачь конечно откажусь. Например, PHP UnReader работает без PHP5. Мне часто приходится писать продукты для "простых" сайтов и накладывать "системные требования" только потомучто PHP5 даёт преимущества, которые пользователь не заметит было бы просто нелогично.

MrX:
Погодите, разве я где-то сказал что это легко?
я говорил, что сделать это не сложнее чем восстановить исходник из байт-кода.

Тут есть разница - восстановить исходник из байт-кода можно полностью автоматически, а в обфусцированном исходнике автоматически можно только расставить переводы строк и раскрыть кавычки. Убирать мусор и восстанавливать мнемонику всё равно придётся вручную, что делает такое восстановление гораздо более сложным.

MrX:
к тому же для себя я предпочитаю писать сам.

Я тоже, так и был написан PHP UnReader.

Unlock:
V.Terentev, извините за ламерские вопросы, но PHP UnReader нужен только для того, чтобы закодировать файл и выполняться закодированный скрипт будет на любом сервере без дополнительного софта?

Так и есть. В отличие от любого байт-кодирования.

Solmyr:
1. Написать скрипт который выполняет действия описанные топикстартером очень просто. Не понятно, что продавать. Подобный скрипт может написать любой вебмастер, который в состоянии написать скрипт нуждающийся в такой защите.

Вы в этом уверены? Может для языков с менее "гибким" синтаксисом это действительно так, но в PHP, даже замена переменных, которая Вам видимо представляется как eregi_replace(...), на самом деле является весьма сложной задачей. Отчего бы Вам не попробовать сделать что-то подобное?

Solmyr:
2. Написать скрипт, который выполняет обратный процесс (за исключением имен переменных/классов/функций) еще проще. Мой опыт работы с декомпилированной джавой говорит, что отсутствие имен переменных не является препятствием к пониманию кода и его модификации.

Мой опыт модификации, точнее исправления ошибок, в коде, который даже сохранил мнемонику названий говорит о том, что при привышении определённого объёма и при отсутствии указаний, что именно искать вроде $a = "demo"; модификация, а тем более исправление ошибок, становится крайне сложной.

К примеру есть код, который формирует некие статистические выкладки по множеству данный, которые он получает разными способами. Вам необходимо исправить ошибку, которая появляется только в некоторых случаях. Объём кода 2000 строк. Код обфусцирован и замусорен в соотношении 1 к 3. Вы действительно считаете, что сможете это сделать? Думаю, что я бы этого сделать не смог.

Тоже относится к грамотно распределённым ограничениям демо-версии, которые необходимо снять.

Если Вы всё же считаете, что это легко - попробуйте разобраться с примером http://www.pilotstudio.ru/download/index.zip.

DyaDya:
Можете дезендер подкинуть?

Да вобщемто любой поисковик выдаст несколько десятков.

MrX:
Да мы не восстановим исходник, но получить более-менее читабельный код в котором можно будет разобраться - вполне

Для ответов на такие вопросы я выложил пример обработанного исходного кода небольшого проекта (http://www.pilotstudio.ru/download/index.zip). Если Вы так уверены, что возможно легко получить читабильный исходник, поробуйте хотябы снять ограничение на объём закачиваемой страницы, которое я даже не пытался спрятать.

MrX:
я искренне рад за вас и вашу разработку. несомненно она стоит своих денег. только аргументация у вас несовсем сильная

Спасибо за замечания - я постарался более чётко изложить свои аргументы.

123 4
Всего: 33