Всем доброго здоровья! Стоит задача максимально закриптовать mql4-бинарь (*.ex4) от реверсинга. Я так понимаю что это лучше сделать с помощью вынесения основных функций в dll, так как сам ex4 сейчас достаточно легко вскрывать научились. Поделитесь, пожалуйста опытом как лучше криптовать dll-ку: криптером, после вынесения функций в нее или максимально обфусцировать и виртуализировтаь код в самой дллке. Если критпером, то подскажите хороший, недорогой криптер (может и бесплатный ) Кстати, может ктото делал подобное)? Заранее благодарен за ответ
ext4 -> linux -> не сложно спуститься в kernel mode. Уже очень многих отсеет. Обфускация не поможет, а вот свой интерпретатор(своя виртуальная машина) с раскиданными антиотладочными гадостями, кровушки попьёт. Но это вам придется сильно почитать, и настроиться не на один месяц работы до результата. Надежнее физический токен, вроде смарт-карты. А если результат нужен уже сейчас, то ищите уже готовый протектор с автором, т.к. купив в слепую, можно словить не мало трудностей с упаковкой исполняемого файла. Упаковать вы его упакуете, а вот то, что он на разных клиентах встанет и будет работать - далеко не факт. --- Сообщение объединено, 6 дек 2018 --- Сорри за мой бред про линукс, не увидел mql4 и dll. Но, в принципе, да какая разница. Прикиньте, сколько люди будут готовы отдать за взлом, хватит на работу спеца? Если нет, то и протекторы вроде temida (https://www.oreans.com/themida.php) подойдут. Почитайте вот эту ветку, вроде ваш случай https://www.mql5.com/en/forum/130774.
UbIvItS, Это не конкретный термин в данном случае, а общий. Они обычно означают одно и тоже, так как этими понятиями манипулируют без понятия. Он не сможет вам ответить зачем криптовать, а будет ссылаться на исходный пост Вопрос изначально смысла не имеет, так это реверсят далеко не ньюби.
так о чём и речь: если прога реально годная == её расковыряют, а иначе всем пофиг + все си извраты роняют скорость работы той же длл-ки
если у тебя основная часть проги пашет на облаке, то (конечно) реверсинг тут идёт Лесом-де Садом. Но для кучи юзверей очень важно иметь именно офлайн версию. + облачные решения тоже могут сливаться варезниками в паблик и тамо ужо собирают офлайн билды.
UbIvItS, я про оффлайновые апаратные токены. Чип смарт-карты запечатан в разные формы. Это же не hasp ключик первой волны. Вот, кстати, какую часть проги надежнее было бы отдать на откуп такому ключу, интересно мнение, интересно было бы послушать.
ну-так, вся прога опять же в офлайне и при надобности её расковыряют. к тому же, у таких решений может появляться куча косяков при (например) обновление оси == вынька 10 и без того склонна к юмору опосля "оч-ну-ного" апдейта самым лучшим средством борьбы с пиратством является разработка аппаратно-программных комплексов + они могут показывать куда-лучшие скорости работы и быть платформа-фри. То бишь на оси запускается клиент, а основные расчёты идут на со-железке.
Если я не ошибаюсь(гуглить лень) - "mql4-бинарь (*.ex4)" - это какой то псевдокод для метатрейдера - эта такая приложуха для торговле на форексе и прочей лабуде. Вангую, что товарисчъ разработал супер-мега-крутой алгос для частотного трейдинга, который заработает миллиарды своему обладателю, но хочет его продавать за 100$ ^_^
О, вы не знаете эту публику. Это же такой фетиш, иметь кучу индикаторов и играться с их комбинациями. Так что именно такая стратегия и позволит заработать миллиарды, на около бижревых индикаторных фетишистах.
если это какой-то высокоуровневый байт-код типа CLR или JVM байт-кода, то такую вещь одно удовольствие реверсить... в принципе эти байт-коды обфусцируются до какого-то вида, там имена классов и функций переименовываются, константные данные перешифровываются, многие обфускаторы применяют control flow flattening или трансляцию в ВМ... но если нет готового решения для этого MQL4 байт-кода, то свой обфускатор пилить для своего алгоритма - это как из пушки по воробьям стрелять... нативный код реверсить посложнее, так что ценную логику можно вынести туда и накрыть сверху какой-нить защитой... опять же писать свой обфускатор для нативного кода, если нет в этом опыта - бесполезно, куда проще купить какой-нить VMProtect или Themida, если это целесообразно... вывести логику в облако не вариант, если я правильно понял о чем идет речь, погуглив об этом 10 минут...
ну заимбеддить интерпретатор байт-кода в сервак - не такая тривиальная задача обычно... если всю логику реализовать в сервере на другом языке, а потом делать https://docs.mql4.com/ru/common/webrequest - то это наверное возможно, но опять же смысл использовать MQL4 тогда? не проще тогда все вместе сразу запилить на каком-нить питоне, и держать всю логику у себя на сервере, а клиенту предоставлять либо веб-интерфейс, либо гуишку на каком-нить киви или пикьют...
Rel, > ну заимбеддить интерпретатор байт-кода в сервак - не такая тривиальная задача обычно... Так всё сетевое окружение работает ведь на интерпретаторах. Это же скрипты.
Ну да, все исходные данные передаешь пхп-скрипту пост-запросом, а вся логика в нем. Простенько и куда лучше чем любой протектор. Даже авторизацию можно соорудить с лицензиями на определенный срок.
Всем давшим подсказки - благодарю! Сейчас я остановился на выборе протектора - VMProtect, Themida или Enigma. У кого был опыт реверсинга и защиты)) - что сложнее поддается? Да, я тоже это предложил заказчику, это один из наиболее хороших методов защиты, но он в судя по всему, в 95% не спасает от таких вот людей https://8161.uk/vzlom/ Все в конечном итоге упирается в цену конечного продукта. Нужно так ее сбалансировать чтоб проще было купить чем ломать