Как защитить и чем закодировать?

хем...замечу что всякого рода привязки-развязки уже давно были взломаны = Домены, IP, Мак и т.д., Файлы Лицензий - лицензирование, триал, ограничения на соместное исполнение с другими расширениями..и многое другое.:imsorry:
 
хем...замечу что всякого рода привязки-развязки уже давно были взломаны = Домены, IP, Мак и т.д., Файлы Лицензий - лицензирование, триал, ограничения на соместное исполнение с другими расширениями..и многое другое.:imsorry:
да, это аксиома- всё может быть взломано. но всё же хотелось бы как то защитить свою работу и найти оптимальное решение. И не надо пугать людей- часто слышу фразы, типа - абсолютной защиты нет, рано или поздно сломают, а значит парится не надо) ассоциации возникают с тем- что дверь в квартиру тоже закрывать на замок смысла нет, но почему то все закрывают.
Сталкивался пару раз с данной проблемой- но решения пока так и не увидел.

1 Если использовать серверные решения- для меня как для небольшого кодера невыгодно, сложность взлома увеличивается, но количество потенциальных клиентов- падает.
2 Если на уровне пхп - всё ломается в течении дня. Хотя пару раз не мог вскрыть код, появлялись баги которые требовали усилий по решению)

Конечно, нужно руководствоваться стимулом - время\усилия затраченное на крипт << время\усилия затраченное на расшифровку, но проводить анализ тоже как то неблагодарно.
---------------------
так что хотелось бы услышать что-то дельное по защите, хотя я понимаю все трудности- и трудно защитить и вся защита что есть и может работать должна бить в привате, на индивидуальных защитах можно задуматься и забить на решение.
Пока мои мысли, если не использовать спецсерверные решения,

к сожалению, пока данные решения и мысли, кроме относительно небольших неудобств ничего не принесут плохому человеку .
 
Честно говря массовые продукты рано или поздно постигает такая участь, тем более были представлены исходные коды кодировщика, глупо было надеяться, что это в какой то момент не произойдет. В любом случае, это полезное движение вперед, и любая защита должна совершенствоваться, а не стоять на месте, тем более само ядро пхп открытое, симбиоз сосуществования кодировщика и кинвента работал безотказно, всех все устраивало как бы (интернет пестрит ссылками до сих пор куда пойти за решением проблемы). Не было никакой информации, так как сфера пхп, была мало интересна серьезным коммандам RE, так что бить тревогу надо было еще с появлением 1 сервиса по декодингу.
Защита куба на порядок сложнее Зенда и "первопроходцем" в исследованиях был 1 известный парень, давший знания для дальнейших исследований.
Оптимального варианта не может существовать, так как те кто занимаются пхп больше погружены в него, соответственно встает выбор реализации на пхп, либо отдельной либы на др языке программирования, пхп мало подходит (изза уязвимости Eval) и люди автоматом обращают свой взор на кодировщики. На самом деле все остальные существующие кодировщики давно взломаны, и со временем обязательно появятся, так как кроме Eval есть и другие уязвимости. Остается на мой взгляд индивидуальный подход к защите, если вы планируете заниматься пхп долгое время и зарабатывать на этом, тем более щас намного больше становится готовых открытых кодов, так что врядли кто будет работать над вашим модом кодировщика ради нескольких файлов.
 
  • Нравится
Реакции: dmx
Проблема защиты исходника и его изменение - может быть решена грамотным АПИ или архитектурой, включающей в себя переопределения. Но это требует усилий, особенно в документации.
Для крупных проектов можно использовать hiphopphp или подобный транслятор- и скорость увеличивается и можно будет защитить уже как сишный код. Хотя последнее не смотрел, просто предполагаю.
Но я всё тки склоняюсь к защите на стороне пхп чтобы от клиента не требовался мего хостинг и вообще телодвижений. Но всякие eval, верно - относительно легко ломаются, не говоря о там, что могут ещё и тормазить. Так что я пока склоняюсь к запутыванию кода и его защите. Если с первым проблем нет:
PHP:
function main_funct($text, (boolean) $flag){
    $text .= '...';
    for($i=1; $i< 100; ++$i)   {
        //some code... 
    }
}
main_funct('qwerty', true);
после
PHP:
function l01ldlla0l0l0($l00l0, (boolean) $IIKIKIKIIHGFFDSSA, $OLOLOFFF = 100, $BBBOJHJOH = false){
     if($BBBOJHJOH){
          $l00l0 .= '...';
     }else{
        return false;
     }
    for($IILILILI1=1; $IILILILI1< 100 && $BBBOJHJOH; ++$IILILILI1 , ++$OLOLOFFF)  {  
        //some code... 
    }
}
l01ldlla0l0l0('qwerty', true, 100, true);
уже будет над чем подумать. Можно ещё придумать, главное не впасть в кураж и заботится о скорости.
Но вот с защитой- беда напр
до
PHP:
$text = "Great[b]Great[/b]Great";
$text = preg_replace('~\[b\](.*)\[/b\]~', '<b>$1</b>' , $text);
после
PHP:
 // пусть сервер у нас - яндекс - 'yandex.gay'
$text = "Great[b]Great[/b]Great";
switch($_SERVER['SERVER_NAME'][0]){
    case 'y':
    // нормальная обработка
    $text = preg_replace('~\[b\](.*)\[/b\]~', '<b>$1</b>' , $text);    
    case 'a':
    // неверная обработка 
    $text = preg_replace('~\[b\](.*)\[/b\]~', '<b>$1<b>' , $text);
    break;
    break;    
    default:
    // неверная обработка 
    $text = preg_replace('~\[b\](.*)\[/b\]~', '$1<b>$1<b>$1' , $text);
}

--------
как что пока, я не вижу нормальных выходов из проблемы.
 
  • Нравится
Реакции: dmx
Попробуйте Zend Guard на rutracker.org лежит версия 5.0.1 для такой разовой защиты вам хватит за глаза.
 
Назад
Сверху