Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Блог Exploits

  • запис
    1
  • коментарів
    246
  • перегляду
    1 923

Почему ioncube это зло


Exploits

17 131 перегляд

ioncube зло?  

140 голосів

You do not have permission to vote in this poll, or see the poll results. Будь ласка, увійдіть або зареєструйтеся для голосування в опитуванні.

 

ioncube - это некий способ защиты исходного кода модуля. Но так ли он хорош и есть ли в нем необходимость?

 

К сожалению в наших широтах нет понятия авторского права и его никто не соблюдает.

Что же делать, и как защитить годы работы над модулем от пиратства? Все просто - кодировать код с помощью ioncube, то есть "закубить".

Да, ведь это решение проблемы, но не все так просто и ванильно.

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

Вот оно счастье! Функционал проверки лицензии никто теперь не хакнет. Но, как всегда есть но, и не одно.

 

Почему не стоит использовать ioncube

 

1) Это не защита от пиратства, разве что только от мамкиных хацкеров.

Дело в том что ioncube можно раскодировать и те кто занимается взломами модулей делают это легко.  Толку от такой защиты нет. Да, школьники которые за пару долларов "делают сайты" под ключ конечно не ломанут модуль, но им ничего не стоит найти его уже взломанным на варезе. Понимаете суть - тот кто изначально не нацелен покупать, он не купит.

 

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

 

2) При любом шорохе у покупателя автоматически будут проблемы!

Уважайте своих клиентов. Жизнь магазина зачастую достаточно динамична. Владелец может сменить хостинг, версию php и получить на сайте проблемы. Ему нужно будет вспоминать где и когда он покупал модуль, у кого, и на что именно ругается. Сменили php - надо загружать отдельный дистрибутив под ту версию что у вас. Автор может уйти в загул или быть занятым для оперативного ответа. Также многие разработчики делают обновления достаточно сложными и для получения модуля нужно предьявить чуть ли не паспорт. Номер счета или место покупки могут и не помнить - это нормально.

 

3) Поменять/доработать ваш код нет возможности - это сильно усложняет жизнь коллегам и владельцам сайтов

Буквально вчера мне нужно было подружить мой модуль с другим, который меняет цены. Ок, зашел в код того модуля посмотреть какие данные нужны его функции и увидел там набор символов… Без кодировки моя работа бы заняла 2 минуты. С кодировкой пришлось подставлять данные и смотреть на ошибки, то есть работать в слепую. Итого минут 20-30 у меня ушло. (В такой ситуации еще легко все прошло) Вы думаете там модуль с мега функционалом или с алгоритмами которые уведут из-за уникальности? Не думаю, там просто подсчет чисел (+/- от цены, ну и проценты).

 

Владельцам еще веселее. Допустим есть 2 модуля, их нужно подружить. Коды закрытые у обеих. Авторы как всегда загруженные и не делают такого. Можно найти человека который смог бы сделать связь модулей за пару часов. Но засада, исходники под кубом и ничего сделать невозможно. Приходится делать либо кастом в разы дороже модуля (если не в десятки), либо через костыли что-то мастерить. Как вы понимаете подход так себе.

 

4) Скрытый код - возможные проблемы безопасности

Когда в модуле открытый код многие коллеги туда заходят посмотреть или поправить что-то под заказчика. Так вот одна голова хорошо, но фидбек от коллег еще лучше. К чему я. Вот сделали вы модуль, ок, но где-то ошиблись и допустили баг(и). Сами в силу загрузки или опыта не можете их выявить, но их может увидеть другой разработчик и вам об этом сообщить. Когда приходят багрепорты вы их можете фиксить тем самым улучшить модуль.

 

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

 

Не стоит забывать что магазин это бизнес и в нем должно быть все безопасно. Код модуля под кубом нельзя просмотреть и сказать что в нем. А там может быть дыра, или же критическая ошибка, или же специально оставленный автором "ход" для контроля или еще чего-либо. То есть владелец сайта просто не знает что у него в магазине, плохо спит из-за чего качество его жизни стало хуже. А причина в этом ioncube.

 

------------------------------

 

Все это мое личное мнение и мои наблюдения за года работы с магазинами. Может что забыл, вспомню - дополню.

Буду рад обсуждениям, дополнениям и конструктивной критике. И как было написано что одна голова хорошо, а мнение коллег еще лучше :) 

  • +1 8

246 коментарів


Recommended Comments



Вопрос острый, кубировать или не кубировать.

Менталитет у людей постсоветского пространства такой.

Вареза много, как и разработчиков-разгильдяев модулей/шаблонов.

Немного порассуждаю вслух....

На мой взгляд, есть три вида пользователей вареза.

  • Злостные варёзники-рецидивисты, у которых богатая коллекция модулей/шаблонов. Именно они и создают шаблонные сайты и продают их втридорога, неся вред не только разработчикам модулей/шаблонов, но и самому заказчику.
  • Единичное использование модуля/шаблона  для обучения, саморазвития и тестирования("примерки", подойдёт функционал или нет)
  • Вынужденное использование вареза(даже если есть лицензия) из за полного кубирования модуля, для правок и интеграции с другим модулем

 

Первые идут на преступление, так как это прямо и косвенно воровство.

Вторых на это толкает:

Желание потестировать модуль под нагрузкой, пощупать своими руками.

Проверить функционал, возможности

Отсутствие денег/желания оплачивать свои эксперименты

 

По поводу третьих думаю всё понятно

 

 

Поговорим по поводу покупателей

Бывают адекватные, а бывают, что душу вытрясут за модуль стоимостью 200-600 руб, так, как будто он стоит под 10 тыс.

 

По поводу разработчиков...

Есть разработчики адекватные и понимающие, например разработчик симплы @deeman, есть разработчики, которые забрасывают свои проекты и ни поддержки, ни ответа не дождёшься годами.

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

По тому как знает, что раз попросили на тестовый поддомен ключик, значит купят на основной.

 

Да, защита лицензии у данного модуля на уровне. Да, модуль нужный и важный, при этом стоимость его копеечная.

Хоть он и под кубиком, и у него есть механизм защиты от деобсуфикации,  его уже давным давно взломали. 

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

 

 

Кубик не панацея в защите, это "защита от дураков". 

В открытом платном доступе есть декодеры до php 5.6 включительно, но есть и приватные, работающие с php 7.х

Дело не в механизме шифрования, а в защите модуля ioncube loader для php, эта защита не обновлялась уже лет 5-6 (для линукс)

А так как модуль ioncube loader можно свободно скачать, то и защиты не будет

 

Надіслати
6 часов назад, Zlobny сказал:

Кубик не панацея в защите, это "защита от дураков". 

В открытом платном доступе есть декодеры до php 5.6 включительно, но есть и приватные, работающие с php 7.х

Дело не в механизме шифрования, а в защите модуля ioncube loader для php, эта защита не обновлялась уже лет 5-6 (для линукс)

А так как модуль ioncube loader можно свободно скачать, то и защиты не будет

 

 

Ну ну, расскажите мне. что вы там получите с нормальной защиты?
Список опкодов?

 

Речь ведь идет не о том что ioncube взламывается - не взламывается, а речь о том, что фиг пойми что там под ионкубом, и что делать с этими решениями?
Как поправить ошибки горе-разработчиков?

Ну кодируйте реально какие-то свои уникальные вещи. кодируйте админку, без которой не заведется.
Но кодировать модели критично важной инфрастуктуры, ну идите пианэры лесом!!!!

 

Ни решений бибера, ни решений сосикриаторши у меня нет ни на одном большом серьезном проекте, выжгли как раковую опухоль!
Если марк явно умудряется шеллы внедрять, то на что способна жадная сосикриаторша со своими непонятными бинарниками ?

Надіслати
9 часов назад, Zlobny сказал:

Кубик не панацея в защите, это "защита от дураков". 

 

Вы сильно заблуждаетесь. Боюсь, что даже не представляете насколько.

защита от простачка - это только если вы используете онлайн ионкуб.

Но настоящие пацаны этим средством от лохов (или для лохов?) не пользуются.

 

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

вот прямо начиная с версии 5.6 php можно хорошо защитить.

и если вы делаете под ионкуб лоадер 10,  а он уже более 3-х лет на всех хостингах, и иного вы не найдете.

 

9 часов назад, Zlobny сказал:

В открытом платном доступе есть декодеры до php 5.6 включительно, но есть и приватные, работающие с php 7.х

Дело не в механизме шифрования, а в защите модуля ioncube loader для php, эта защита не обновлялась уже лет 5-6 (для линукс)

 

К чему эти мифы, пропахшие нафталином, а точнее, неверная информация?

Не пора ли поучить матчасть и убедиться, что мир изменился за эти 5-6 лет?

 

 

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

 

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

 

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

А если ключ внешний? Декубатор сделает круглые глаза и попросит дать ему ключ. Думаете вам вместе с ключом на блюдечке закубированный файл подадут, а на ключике будет бирочка "это ключ"? А этим ключом может быть любой файл опенкрт (или НЕ опенкарт), например, любая картинка может быть. Ключом может быть вовсе и не файл. Динамическим ключом может быть вообще что угодно, чего нет, пока не произошло какое-то вычисление в связи с каким-то событием, которое еще знать нужно.

 

Это я вам рассказал лишь детский минимум, которого достаточно чтобы сделать сервис декубирования абсолютно бессмысленным.

Но когда вступают в схватку серьезные хакеры, то и для них много чего припасено. Зубы обломали, но не сломали.  Полгода бились! В итоге выудили какой-то бессмысленный и нерабочий код, и признали, что ничего не могут поделать.

 

@Zlobny , в общем, предлагаю вам почитать документацию к полноценному ионкубу. Появится пища для размышления.  Возможно, что перестанете быть таким категоричным.

 

Тот, кто воспользовался в свое время хотя бы минимальными моими советами, того не ломают.  А совет простой:

1) читайте документацию на ионкуб

 

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

"нажмите на кнопку [закубировать]".

 

Вот взлом закубированного через онлайн кубатор файла настолько же сложен насколько сложна инструкция к онлайн ионкубу. :)

 

Я никого не агитирую, просто констатирую факты.

Надіслати
7 минут назад, sitecreator сказал:

А этим ключом может быть любой файл опенкрт (или НЕ опенкарт), например, любая картинка может быть. Ключом может быть вовсе и не файл. Динамическим ключом может быть вообще что угодно, чего нет, пока не произошло какое-то вычисление в связи с каким-то событием, которое еще знать нужно.

То есть, ваши модули могут внезапно перестать работать от совершенно непредсказуемых событий. Изменение любого файла может оказаться фатально. Понятно, буду иметь ввиду.

  • +1 1
Надіслати
9 минут назад, Shureg сказал:

То есть, ваши модули могут внезапно перестать работать от совершенно непредсказуемых событий.

 

Надеюсь, что вы просто шутите.

я лишь привел возможные варианты для наглядности. и простоты понимания. 

это не значит, что нужно тупо использовать то, что годится как простой пример.

 

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

Их можно использовать, но осторожно - крайне осторожно.

И в профессиональном форуме на сайте ионкуба тоже есть информация на эту тему.

 

Не стоит доводить до степени абсурдности вроде "заставь дурака Богу молиться...", согласны?

 

9 минут назад, Shureg сказал:

Изменение любого файла может оказаться фатально.

 

А вы хотите изменять закубированный файл?

"Понятно, буду иметь ввиду" (с)  :)

 

Надеюсь, что вы поняли эту шутку как намек?

 

В качестве ключей используют такие данные, которые не могут быть просто так изменены.

Надіслати
3 минуты назад, sitecreator сказал:

В качестве ключей используют такие данные, которые не могут быть просто так изменены.

Вот этот вопрос меня как раз и интересует. Какие такие данные в своих модулях вы считаете "не должными" изменяться? Чтобы знать. А то выходит, что в любом месте можно засаду ждать.

  • +1 1
Надіслати

@Shureg , динамический ключ находится как бы "внутри " закубированного файла. Хоть его там и нет если понимать буквально, т.к. он вычисляется в результате определенных действий и в результате определенных последовательности событий.

Он не потеряется, не волнуйтесь.

Надіслати

@Shureg , вы хотите сказать, что у вас возникнет непреодолимое желание изменить что-то в подобном файле?

Сильно сомневаюсь, что вы получите от этого пользу.

А вот неработоспособность - это запросто.

 

lQlJ5jf.png

 

Не стоит все доводить до крайностей и абсурда.

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

 

 

 

Я лишь сделал маленький намек на то, что в ионкуб есть интересные средства. Но любой серьезный инструмент требует аккуратности.

Постарался сделать это наглядно.

Но, то, что годится для наглядного эксперимента, не всегда нужно переносить в готовый релиз.  Для этого голова вроде бы и дана.

 

Надіслати
10 минут назад, sitecreator сказал:

Он не потеряется, не волнуйтесь.

Да я не волнуюсь)
Вы уж определитесь, какой вариант вы считаете для себя правильным

16 минут назад, sitecreator сказал:

динамический ключ находится как бы "внутри " закубированного файла.

или

41 минуту назад, sitecreator сказал:

А если ключ внешний? Декубатор сделает круглые глаза и попросит дать ему ключ. Думаете вам вместе с ключом на блюдечке закубированный файл подадут, а на ключике будет бирочка "это ключ"? А этим ключом может быть любой файл опенкрт (или НЕ опенкарт), например, любая картинка может быть. Ключом может быть вовсе и не файл. Динамическим ключом может быть вообще что угодно, чего нет, пока не произошло какое-то вычисление в связи с каким-то событием, которое еще знать нужно.



И еще вопрос, раз ионкуб такой непробиваемый, авторы всех ломаных модулей - недоумки, не смогли защиту нормальную сделать?

  • +1 1
Надіслати

@Shureg , а еще есть удаленный ключи. Это тоже ВНЕШНИЙ ключ, но до которого при всем желании вам не добраться.

могут находиться на каком угодно "далеком" сервере, передаваться по закрытому протоколу (с сертификатом и т.д.) и практически не отлавливаются (не перехватываются ) на сервере.

 

Это чисто для понимания возможностей.

Я, например, противник привязывания работы любого приложения к серверу разработчика или любому подобному серверу.

 

Я лишь привел как пример.  Этот ключ вы никак случайно удалить тоже не сможете.

Как и ключ внутри другого ключа, например, внутри нативной лицензии ионкуба.

 

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

По разным причинам связь с удаленным сервером может отсутствовать.

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

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

  • +1 1
Надіслати
44 минуты назад, Shureg сказал:

И еще вопрос, раз ионкуб такой непробиваемый, авторы всех ломаных модулей - недоумки, не смогли защиту нормальную сделать?

 

Нет.

Причины разные.

 

Например, одна из самых распространенных.

Автор желает чтобы его модуль работал на древних php , например, на 5.5 или еще более древних.

И автор желает чтобы ионкуб лоадер 6, который встретишь в 1 случае из 500, тоже поддерживался.

 

Люди не хотят покупать, например, "ионкуб про"  за 300 $, да еще и с ограниченным сроком использования, но хотят пока остановиться на ионкуб онлайн.

 

Это не то, что догадки, я просто знаю этих людей, мы обсуждали эти темы.

 

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

 

Разработчики в 95% случаев не желают использовать для генерации лицензионного ключа (не связано с ионкубом никак)  несимметричные криптометоды, а потому в этих 95% случаев хакеры просто выдирают генератор ключа из самой программы.

@Shureg , как вы думаете почему разработчики так поступают? Даже  далеко не новички.

А ведь это намного проще чем использовать грамотно защиту ионкуба. И ничего не стоит в деньгах, не надо никакой коммерческий софт для защиты покупать. Эффективность в том, что хакер не сможет сделать так любимый варезниками KEYGEN.  Хакеру нужно каждый раз заново ломать новую версию программы.

Но не делают же!

Думаю, что просто не знают. Не знакомы с базовыми методами криптографической защиты.

Надіслати

Я примеры привожу лишь для поднятия интереса к теме создания относительно НЕВЗЛАМЫВАЕМОГО софта. Можно также назвать ТЯЖЕЛО ВЗЛАМЫВАЕМОГО софта, т.к. при желании взломать можно, что угодно - было бы время и целесообразность.

Разумеется, что в публичном пространстве никто вам готовых решений не выложит по вполне понятным причинам.

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

 

 

Простой пример. Для тренировки мозга и способностей хакера.

Есть, например, один единственный закубированный файл программы.

И вы точно знаете, что он использует один единственный внешний (удаленный) ключ, получаемый удаленно с тоже известного сервера. Ключ получается по протоколу https.

Кто возьмется взломать? Найдется ли хакер?

 

Кстати, защитить один единственный файл - это намного проще и надежнее. Одна из проблем при защите - это взаимодействие с массой других открытых файлов через публичные функции и т.д. и т.п..

Черный ящичек защитить можно намного сильнее.

 

--------------

чтобы защититься от хакера-пионера, купившего абонемент за 15 евро на взлом закубированных модулей,  достаточно использовать хотя бы один даже очень примитивный динамический ключ внутри программы вида:

 

x = 2 + 2;

 

Надіслати
51 минуту назад, Shureg сказал:

Вы уж определитесь, какой вариант вы считаете для себя правильным

 

Думаете, что я долгие годы мучаюсь в сомнениях что же выбрать?

а подробно писал на эту тему в свое время в тематическом блоге.

не вижу смысла давать здесь подробности.

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

Надіслати
В 18.02.2021 в 07:22, sitecreator сказал:

 

Думаете, что я долгие годы мучаюсь в сомнениях что же выбрать?

а подробно писал на эту тему в свое время в тематическом блоге.

не вижу смысла давать здесь подробности.

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

 

Можно ссылку где Вы все детально описали? Очень заинтересовался данной темой.

Надіслати
58 минут назад, sitecreator сказал:

 

Был ранее блог, теперь его нет.

Жаль. хоть в двух словах. Можете сказать есть смысл покупать версию Bacis. Или брать более дорогую.
Цель: я понимаю что если захотят то взламают, Меня больше волнует когда при покупке для одного домена ставят на все свои сайты. Т.е. нужна какая то примитивная защита, что бы нельзя было ставить на все подряд и нельзя было на 5-10 минут отключить запрос ввода лицензионного номера.
Кодировать планирую только основной функционал (1 файл), контроллер и все модели будут открытые.
 

Надіслати
44 минуты назад, Igor123123 сказал:

Можете сказать есть смысл покупать версию Bacis. Или брать более дорогую.

 

Пр правильном подходе даже Bacis будет достаточно. Ибо это несравнимо более высокий уровень по сравнению с онлайн-кубированием.

Онлайн - это защита от школьника, точнее, от ленивого школьника. А вот в Bacis  уже начинается Защита!  Именно с большой буквы. Конечно, если вы не будете только нажимать на одну кнопку "кубировать", но приложите усилия для изучения документации. Она, правда, сложная, почти без примеров и с... багами местами.

 

47 минут назад, Igor123123 сказал:

Цель: я понимаю что если захотят то взламают

 

Сломают если защита поверхностная. А именно такая будет в 99%, т.к. все рассуждают по вашему же принципу "а зачем серьезно работать над защитой если все равно сломают?".

Вот сами и облегчаете работу для взломщиков.

Меня полгода ломала ломали... ломали ломали... но не сломали. Так и оставили эту затею.

А ведь всем воровским миром деньги собрали на взлом хакеру. Серьезный человек работал.  Но, не получилось!  Доктор сказал, что и не получится вылечить!  Хотя там уже азарт был у взломщиков и на кону был как-бы престиж взломщика, ибо сломанных модулей на его счету очень много.

 

Я с интересом наблюдал за их взломом. Оценивал промежуточные результаты, делал свои выводы. У них даже часть кода получилось восстановить. Но... совсем нерабочего.  Я читал этот код.  

 

52 минуты назад, Igor123123 сказал:

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

 

Самый простой вариант - это использовать версию ПРО. В ней можно легко делать лицензионный файл с привязкой к домену.

Но это можно и средствами php делать, но для этого нужно поработать.

Нативная защита php лицензионным файлом также может быть взломана.

 

Если использовать средства защиты в комплексе, то сломать нереально за вполне ограниченное время и ограниченный бюджет.  Ломают то не ради идеи, а ради денег чтобы вам же продавать ключи для взломанных версий, но по цене раз в 5...10 дешевле.  Взломщики - это не робингуды, а такие же бырыги.   Они свое время тоже ценят.

 

Если хотите хорошей защиты и использовать Bacis ионкуб, то начните с изучения методов асимметричной криптозащиты. Именно с помощью этих методов вы сможете делать надежные ключи с привязкой к домену - такие ключи, для которых невозможно создать keygen. Вот такие ключи - это основа защиты, и пункт № 1 в защите. Ионкуб идет уже на 2 месте.

 

Асимметричные криптометоды - вот, что нужно прежде всего использовать.  Вместо с ионкубом - это очень мощная защита, но даже и без куба это уже серьезная защита.

  • +1 1
Надіслати
8 минут назад, sitecreator сказал:

 

Пр правильном подходе даже Bacis будет достаточно. Ибо это несравнимо более высокий уровень по сравнению с онлайн-кубированием.

Онлайн - это защита от школьника, точнее, от ленивого школьника. А вот в Bacis  уже начинается Защита!  Именно с большой буквы. Конечно, если вы не будете только нажимать на одну кнопку "кубировать", но приложите усилия для изучения документации. Она, правда, сложная, почти без примеров и с... багами местами.

 

 

Сломают если защита поверхностная. А именно такая будет в 99%, т.к. все рассуждают по вашему же принципу "а зачем серьезно работать над защитой если все равно сломают?".

Вот сами и облегчаете работу для взломщиков.

Меня полгода ломала ломали... ломали ломали... но не сломали. Так и оставили эту затею.

А ведь всем воровским миром деньги собрали на взлом хакеру. Серьезный человек работал.  Но, не получилось!  Доктор сказал, что и не получится вылечить!  Хотя там уже азарт был у взломщиков и на кону был как-бы престиж взломщика, ибо сломанных модулей на его счету очень много.

 

Я с интересом наблюдал за их взломом. Оценивал промежуточные результаты, делал свои выводы. У них даже часть кода получилось восстановить. Но... совсем нерабочего.  Я читал этот код.  

 

 

Самый простой вариант - это использовать версию ПРО. В ней можно легко делать лицензионный файл с привязкой к домену.

Но это можно и средствами php делать, но для этого нужно поработать.

Нативная защита php лицензионным файлом также может быть взломана.

 

Если использовать средства защиты в комплексе, то сломать нереально за вполне ограниченное время и ограниченный бюджет.  Ломают то не ради идеи, а ради денег чтобы вам же продавать ключи для взломанных версий, но по цене раз в 5...10 дешевле.  Взломщики - это не робингуды, а такие же бырыги.   Они свое время тоже ценят.

 

Если хотите хорошей защиты и использовать Bacis ионкуб, то начните с изучения методов асимметричной криптозащиты. Именно с помощью этих методов вы сможете делать надежные ключи с привязкой к домену - такие ключи, для которых невозможно создать keygen. Вот такие ключи - это основа защиты, и пункт № 1 в защите. Ионкуб идет уже на 2 месте.

 

Асимметричные криптометоды - вот, что нужно прежде всего использовать.  Вместо с ионкубом - это очень мощная защита, но даже и без куба это уже серьезная защита.

Спасибо. Обязательно почитаю об этих методах более детально.

Надіслати

Здравствуйте, вставлю пожалуй свой минус кубированию на основе реальной истории

 

приобрел я как то на сайт (официально) два модуля, которые судя по описаниям закрывают мои хотелки

это SEO мультиязык / мультирегион 31 Автор markimax и Пошаговый подбор товаров по характеристикам (атрибутам) Автор mazein

вроде все работает красиво, но обнаружился нюанс

-при работе сайта на английском языке, после выдачи фильтром результатов сайт полностью переключается на русский язык

  при отключении модуля SEO мультиязык / мультирегион дефект отсутствует, то есть сайт остается на английском языке

о чем я написал автору markimax

 

здравствуйте, у меня на сайте https://ххххххх.ru помимо вашего модуля установлен фильтр 

и есть такой дефект

-при работе на английском языке, после выдачи фильтром результатов сайт полностью переключается на русский язык

  при отключении модуля SEO мультиязык / мультирегион дефект отсутствует, то есть сайт остается на английском языке

в чем может быть дело? может я что то в настройках модуля не доглядел?

markimax   2 378

А потому что форма у вас вызывается мягко сказать "по тупому" при submit

index.php?route=extension/module/mmfilter_products/category

Т е  без префикса (не оптимизирован под мультиязычные url)
И причем прописано это во внешнем JS скрипте
Т е сам скрипт не заточен
Если бы хотя бы  он был inline то можно было шорткодом изменить url сабмита формы
А так вообще нельзя
Это вам надо обратится к разработчику чтобы он генерировал URL сабмит формы через стандарт opencart $this->url->link  inline кодом

 

после этого обратился к mazein

Вы можете это исправить?

mazein 

Добрый день.

 

 

Смотрим стандартный файлик common.js:

image.thumb.png.ba6057bfcb448c8b54d23f9e4ef4af66.png

Здесь так же, как у меня - внешний скрипт, ссылка прописана.

 

Почему у Вас на странице поиска язык не переключается?

diamante

может вы меня не совсем правильно поняли, происходит следующее

 

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

mazein

Это я понял.

Нужно как-то адаптировать под модуль SEO мультиязык

diamante  3

Цитита: Это вам надо обратится к разработчику чтобы он генерировал URL сабмит формы через стандарт opencart $this->url->link  inline кодом

 

ну видимо да, подсказку вроде дали

mazein

Видимо, теперь Вы меня не так поняли.

Проблем в моём модуле нет.

Выше я привёл пример из штатного файла опенкарт, в котором аналогичный url.

diamante 

вы считаете что товарищ не прав? http://www.screencapture.ru/file/345bC8bA

mazein

Выносите вопрос на всеобщее обсуждение. Я считаю, что он не прав.

diamante

Я решил не торопиться с темой, это всегда успеется, я отправил ему ваши аргументы, вот что дядька ответил

             цитата         markimax

Добавьте в исключения модуля
extension/module/mmfilter_products/category

Но это всего то "костыль"
Лучше пусть автор как то перепишет скрипт
К примеру на ajax чтобы добавлял в hidden формы генерируемую URL через $this->url->link
А потом по сабмиту брал эту URL

 

 собственно у меня вопрос,а вы можете внести правку в модуль как он рекомендует ?

 

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

программиста чтобы это исправить, однако модуль от mazein кубирован, соответственно правки может внести только он сам

все остальные методы считаются нечестными:-)

 

или все таки неправ markimax :huh:

 
Змінено користувачем diamante
  • +1 1
Надіслати
1 час назад, diamante сказал:

Добавьте в исключения модуля
extension/module/mmfilter_products/category

Но это всего то "костыль"
Лучше пусть автор как то перепишет скрипт
К примеру на ajax чтобы добавлял в hidden формы генерируемую URL через $this->url->link
А потом по сабмиту брал эту URL

Можно на лету перехватывать аякс-запросы и подменять на правильную ссылку.

Но ситуация от этого не становится менее показательной

Надіслати

@diamante Создайте отдельную тему, а не тут.. ioncube здесь не причем

не нужно ничего делать   @mazein
Тому есть пример - поиск
 

	$('#search input[name=\'search\']').parent().find('button').on('click', function() {
		var url = $('base').attr('href') + 'index.php?route=product/search';

		var value = $('header #search input[name=\'search\']').val();

		if (value) {
			url += '&search=' + encodeURIComponent(value);
		}

		location = url;
	});

и никаких $this->url->link

 

Это проблема того, кто обрабатывает такой запрос, т.е. мультиязыка
А вот эти добавления в исключения - не серьезно

То что код закрыт, в данном случае несущественно, ведь код @markimax открыт, вот и вносите в него

Надіслати

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.