Здравствуйте, Александр Широков, Вы писали:
АШ>Сейчас все это не нужно. Те два с половиной неудачника что все еще качают кряки все равно не купят.
Зависит от многих факторов. Вот есть у меня продукт для восстановления фоточек после зашифровки ransomware. Уникальный продукт, других таких нет. И как оказалось по факту, что целевая аудитория этого продукта — это всякие индусы и пакистанцы, которые любят качать кряки из всяких сомнительных мест и соответственно часто заражающие свои системы. И они очень хорошо покупали. До тех пор пока не вышел кряк. И сейчас продажи прям вот очень сильно просели. И эти хитрожопые товарищи еще стали продавать взломанную версию свои собратьям. Вот так мои мечты о банкомате на пляжу разбились о простой кряк.
Здравствуйте, Александр Широков, Вы писали:
АШ>Сейчас все это не нужно. Те два с половиной неудачника что все еще качают кряки все равно не купят.
именно так, у меня никогда навесной защиты не было, банальная проверка на старте и вторая внутри основного алгоритма
ломают сразу в день релиза первую проверку, которая выводит сообщение об успешной регистрации и все...
на форумах пишут что нифига не работает
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Как-то очень много.
Я тоже одно время думал, что прибыль не может так сильно проседать из-за простого пиратстсва. Но как говорится, не узнаешь пока не попробуешь. Когда несколько релизов были публично взломаны и выложены, в те месяцы это ощутимо подсаживало продажи. При устранении проблемы, продажи восстанавливались и даже несколько повышались по сравнению с обычными их обьемами.
Если посмотреть существующие исследования по теме распространенности пиратского ПО в мире — получается цифра около 40%. Что полностью соответствует и моей статистике. Но вот чего я раньше не осознавал, так это того, что эта цифра напрямую будет вычитаеться из профита. Кто-то скажет: "очевидно же, это простая арифметика!". С одной стороны да, но нам всем порою кажется, что реальность другая и проблемы не существует, а если и существует, то нас эта проблема обойдет стороною.
ЕМ>Подозреваю, что у Вас достаточно дорогой софт
Достаточно дорогой, поэтому -35% ощущаются очень быстро и очень сильно.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>В какие годы это было? И сколько раз повторялось? А то у меня бывают колебания по продажам и втрое, без каких-либо действий с моей стороны.
2018-2020, приблизительно 3-4 раза, со строгой корреляцией с очередными пиратскими "релизами". Отбиться удалось за счет устранения брешей в коде лицензирования, и с помошью добавления многоступенчатых проверок. Обламывают одну проверку, самую первую, но потом грузно спотыкаются об оставшиеся, которые размазаны по коду, их достаточно много и они не такие явные и детерминированные как первая.
ЕМ>Лет пятнадцать назад я сам, не особо задумываясь, шел на какую-нибудь асталявисту, качал оттуда ключеделку или ломалку, и они, как правило, работали. Последние лет десять под видом "таблэток" почти поголовно идет малварь, поэтому рядовой пользователь, не имеющий выхода на надежные каналы, тупо боится связываться с этой дрянью ради экономии нескольких десятков долларов.
У меня такая же история всегда была, но потом в какой-то момент прицепилось несколько устойчивых кракерских групп, которые поставили "релизы" на промышленный поток.
Из всей этой ситуации сделал вывод, что казуальное пиратство может быть даже полезно как элемент бесплатной рекламы. Но когда оно становится потоковым и таргетированным, с чуть ли ни с пресс-релизами и промышленными масштабами, то начинаются проблемы.
Здравствуйте, Khimik, Вы писали:
K>Посоветуйте, что выбрать из текущих вариантов, если вообще стоит.
Многим кажется, что защита совсем ненужна — от части это так, но только до определенного порога популярности. После которого будете неуспевать отбиваться от желающих ополовинить ваши профиты.
Елинственное, что следуеют помнить — что лицензирование и защита не должны ставить палки в колеса, иначе клиенты будут воспринимать их как обузу, которую легче выкинуть, чем продолжать нести.
Здравствуйте, Aquilaware, Вы писали:
A>Это правильный подход. Делаем то же самое — типичные проверки, но внутри для любителей халявы припрятаны сюрпризы. Они срабатывают в очень интересные моменты работы ПО в ключевых алгоритмах, деградируя и ломая их. Плюс навесная защита для байт-кодовых модулей — потому что есть любящие подсматривать и копировать конкуренты.
тут главное не переборщить — иначе подумают что сама программа кривая и будут негатив писать везде
Здравствуйте, Khimik, Вы писали:
K> Ещё хотелось бы немного ликбеза, что такое проверка контрольной суммы и как это сделать самому. Т.е. в принципе вроде всё понятно — посчитать хеш файла и проверять время от времени, не изменился ли он. Может как раз лучше это сделать самому, без привлечения протектора, поскольку можно контролировать время срабатывания — если программу взломают, пусть она перестанет запускаться через полгода, с сообщением что обнаружен взлом.
Я как-то делал давно, примерно так:
1. В программе делаете глобальную строку вроде MYCHECKSUM или что угодно, главное, чтобы этот текст больше в файле не присутствовал нигде и чтобы длины хватало для хранения контрольной суммы (можно две строки и сумму потом воткнуть между ними).
2. Чтобы прописать — считаете сумму файла без уникальной строки из п.1, пишете в EXE файл в место где та строка. Для проверки нужно также найти эту строку и исключить ее из подсчета контрольной суммы.
3. Нужно учесть что exe файл потом будет подписан и исключить из котрольной суммы секцию с подписью.
Вообще я забил и не использую уже много лет. Это находят и отламывают, причем быстро. Лучше чтобы программа как-то понимала, что ее взломали, и не орать об этом а просто не работать. Причем так, чтобы при обращении в саппорт было понятно, что пишет халявщик.
Купил The Enigma Protector. Подскажите, какие опции в нём включить, чтобы не начались новые проблемы. Стоит ли например включить антиотладчик? Это не вызовет срабатывания антивирусов?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Aniskin, Вы писали:
A>Справедливости ради отмечу, что продукт уже был обработан VMProtect. Но, возможно, это я выбрал неверные настройки защиты. А, возможно, сломали из-за майского слива исходников VMProtect.
Протектор/обфускатор это только дополнительная помощь в защите, но совсем не гарантия того, что в ПО нет своих мест и уязвимостей, за которые можно зацепиться. Плюс найстройки важны — к чувствительным местам применять виртуализцацию или подобное.
В крайнем случае кракер сделает свой испольняемый файл-хост, в котором, например, будет подменять системные вызовы ОС обращения к реестру и счетчику времени на свои заглушки, в которых возвращает то, что ваше ПО хочет увидеть чтобы продолжать работать. Чтобы с таким успешно тягаться, одного протектора уже недостаточно.
Что реально работает — размазанные проверки по коду, которые его ломают, но не так, чтобы это было очевидно кракеру. Например, время необходимое для дешифровки одной зашифрованной картинки может увеличиваться в 10000 раз. Результат работы программы может быть не всегда успешным, может добавляться шум, выпадать пиксели или даже блоки изображений. Протектор же помогает такие места прикрывать, чтобы внешнему обозревателю их было сложно находить, а тем более пытаться модифицировать.
То есть, тут не просто протектор, а целая совокупность мер. По-началу можно начинать с простого, но по мере роста популярности софта лучше не игнорировать возможности взлома, а действовать наперед, превентивно. Иначе может быть как у меня, когда я 1.5 года был на иголках после этих краков, даже музыку перестал слушать — не было ни времени, ни настроения, всё было охвачено пламенем.
Здравствуйте, Aquilaware, Вы писали:
A>Интересно. Выждите какое-то время, может несколько месяцев, может лет, а потом посмотрите на результат. Было бы очень любопытно его узнать.
A>Обычно всё хорошо, но ровно до тех пор, пока не станет плохо. Одна из проблем этой ситуации в том, что это время X узнать наперед невозможно. Как верно подмечено, всё зависит от пристальности внимания заинтересованных групп.
С момента релиза прошло полтора года. Заинтересованности никогда не было, ломали всегда спустя рукава.
Здравствуйте, Aquilaware, Вы писали:
A>Есть очень простое решение.
A>"Thank you for reporting about this issue. Unfortunately, we cannot reproduce it on our side. Please ensure that you use the original software package, the one whose integrity wasn't potentially violated by unknown 3rd parties."
с этим понятно, просто лучшим вариантом оказалось не выдавать ошибку, а тупо не выполнять работу
в этом случае уже пишут что кряк кривой, а не программа
Здравствуйте, Aquilaware, Вы писали:
A>до определенного порога популярности. После которого будете неуспевать отбиваться от желающих ополовинить ваши профиты.
Чтоб в нынешние времена профиты серьезно пострадали из-за пиратства, нужно или за дерьмовый софт просить неадекватно много, или за приличный софт просить совсем уж неприлично много, предлагая только классическую вечную лицензию, без возможности временной подписки.
В остальных случаях большинство предпочитает купить лицензию (если стоит вменяемо) или подписку, нежели рисковать под видом крэка/ключеделки получить зловред, без которых найти лечилку уже почти невозможно.
M>>Т.е. программа будет требовать периодического подключения к интернету для проверки лицензии (как MS VisualStudio например)?
АШ>Те, кто будут заморачиваться кряками, блокировать программе доступ в инет — они не клиенты, денег от них все равно не будет. Забить на них да и все.
В таком случае от кого эта защита с онлайн-активацией и отзывом ключа?
Здравствуйте, falcoware, Вы писали:
f> R>Штука в том, что если не понимаешь, что, как и от чего защищать, то протектор не поможет. А если понимаешь, то он не нужен
f> На словах мы все Лев Толстой — а на деле — *** простой. Это все равно что Путин без охраны будет ходить по улице.
А с чем ты не согласен, Валера? Если ты не понимаешь, как тебя будут ломать, то ты не сможешь принять адекватные меры и будешь с навесным протектором, как та мартышка с очками. То есть, в тему защиты и реверса погрузиться придется в любом случае. Если действительно есть смысл связываться со сложной защитой.
Здравствуйте, Aquilaware, Вы писали:
A>потери профитов от взломов будут.
Я их оцениваю, как ничтожные. У Вас есть данные, которые говорили бы об обратном?
A>Есть даже целые рынки, где приторговывают ломаными версиями
Вопрос не в том, во скольких местах продают, а в том, сколько человек их реально покупает, или даже скачивает бесплатно.
A>отношение к ПО во многом зависит от региона.
Да, китайцы традиционно ищут левые копии/лицензии, но оттуда и не покупают почти ничего. Если заблокировать им возможность использовать левое, они до последнего будут искать другие альтернативы, но сколько-нибудь дружно покупать не пойдут, если софт должным образом не локализован, не продвигается на китайских же площадках и т.п.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Подозреваю, что это и есть ключевая особенность. Достаточно редкая, чтобы распространять модель на более типовые конфигурации.
В более типовой конфигурации чпокнут раз — и готово -20-40% на несколько лет, без осознавания авторов продукта что они тоже в этом участвуют. Но это можно и по косвенным маркерам понять.
Например, когда есть обилие писем в поддержку с множеством сложных, вовлеченных багов, но от людей, у которых нет и никогда не было лицензии. Если с вашим продуктом такое есть — с большой вероятностью присутствует и фоновый процесс, который к этому приводит, но о котором вы пока что не знаете. При этом вас будут уверять, что эти баги — это просто результат "тестирования" пробной версии вашего продукта, и если вы исправите эти ошибки, у вас непременно купять. Но, сопоставляя контекст проявления таких багов с подобными утверждениями, у вас будут закрадываться подозрения. Это сигнал о том, что есть кулуарная эксплуатация вашего труда за бесплатно. Конечно эту ситуацию можно использовать и с пользой для себя — т.е. устранять ошибки в продукте, которые вы без таких вот "клиентов" никогда бы не нашли. Это работа на будущее. Но в какой-то момент может прийти понимание, что такой баланс более не уместен и вы должны получать еще и деньги, а не просто баг репорты вместо них.
Здравствуйте, flаt, Вы писали:
ЕМ>> нежели рисковать под видом крэка/ключеделки получить зловред, без которых найти лечилку уже почти невозможно.
F>Вот это — факт или просто художественное преувеличение? А то ru-board ещё жив, не говоря уж про rutracker, да и на 4pda зловредов никто не подсовывает.
Ну вот тут чуть выше даже человек имеющий противоположный опыт пишет "Уловка в том, что 99% "краков" таковыми являться не будут, это будут просто упакованые вирусы."
И это так и есть, опять же выше только что погуглили.
Вот и попробуйте найти рабочий кряк в таких условиях. Автор программы или, как тут предлагают, наемный рабочий может и будет искать черную кошку в темной комнате, но потенциальный покупатель — нет. Человек, который готов в виртуалке проверять десятки "кряков" — не наш клиент (ну только если вы не админам что-то продаете).
Здравствуйте, Aquilaware, Вы писали:
A>Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>>Подозреваю, что это и есть ключевая особенность. Достаточно редкая, чтобы распространять модель на более типовые конфигурации.
A>В более типовой конфигурации чпокнут раз — и готово -20-40% на несколько лет, без осознавания авторов продукта что они тоже в этом участвуют. Но это можно и по косвенным маркерам понять.
Я в последнем большом обновлении убрал всю защиту и мою программу вероятно "чпокнули", лень проверять. Результат: на продажи не влияет.
А пассаж про то, что программой пользуются, а автор не знает вызывает искреннее удивление. Сделайте хоть базовую телеметрию что-ли.
Здравствуйте, Aniskin, Вы писали:
A>Зависит от многих факторов. Вот есть у меня продукт для восстановления фоточек после зашифровки ransomware. Уникальный продукт, других таких нет. И как оказалось по факту, что целевая аудитория этого продукта — это всякие индусы и пакистанцы, которые любят качать кряки из всяких сомнительных мест и соответственно часто заражающие свои системы. И они очень хорошо покупали. До тех пор пока не вышел кряк. И сейчас продажи прям вот очень сильно просели. И эти хитрожопые товарищи еще стали продавать взломанную версию свои собратьям. Вот так мои мечты о банкомате на пляжу разбились о простой кряк.
Тут очевидно надо сразу делать сервис по подписке, с полностью или частично вынесенным на сервер функционалом.
Здравствуйте, Khimik, Вы писали:
K>Я вот подумал. А кто-нибудь пробовал полностью удалить из триальной версии некоторые фичи? Не просто встроить проверку, а закомментировать код, чтобы крякерам самим пришлось это писать. А когда юзер купит лицензию — присылать ему ссылку на полноценную версию
Пробывали. Нормальный и правильный подход. Часто удаляется функция сохранения проекта или экспорта в один из конечных форматов. Если ПО позволяет ввести подобные оганичения в своей триальной версии без ущерба для конверсий, то это очень хороший вариант дополнительной защиты.
Если позволяет протектор, то такое можно сделать и его штатными средствами без необходимости иметь несколько скомпилированых дистрибутивов ПО. (Код остаётся зашифрованным пока не будет введен правильный ключ. Поскольку у кракера нет ключа, то доступ к коду он получить не может, и тот участок кода остается зашифрованным и криптографически недоступным для кракера)
Здравствуйте, Khimik, Вы писали:
K>У меня тогда заодно вопрос по программированию в Delphi: если я правильно понимаю, можно не комментировать код, а сделать булеву константу, и этот код поместить в блок if константа then begin end, тогда это будет эквивалентно комментированию, т.е. если константа=false, то в экзешник этот код не пойдёт. Всё правильно?
Это поведение зависит от конкретного компилятора и от режима компиляции (debug/release). Лучше всего проверить это поведение на практике. Например, разместить в условно-выполняемом блоке кода уникальную строку, а затем пытаться находить эту строку в исполняемом файле с помощью поиска по файлу. Если компилятор поддерживает удаление неиспользуемого кода и оптимизации включены, то по идее, такой код никогда не должен попадать в релизный исполняемый файл.
I>тут главное не переборщить — иначе подумают что сама программа кривая и будут негатив писать везде
Никто негатив про ломаные версии в обычных форумах и дискуссиях не пишет. Это всё байки. Все прекрасно понимают, что они пользуются сломаным софтом со всеми вытекающими.
Здравствуйте, wantus, Вы писали:
W>Никто негатив про ломаные версии в обычных форумах и дискуссиях не пишет. Это всё байки. Все прекрасно понимают, что они пользуются сломаным софтом со всеми вытекающими.
еще как пишут, и на форуме и в поддержку жалуются
ну и крякерские форумы в выдаче тоже встречаются, я по одному мониторю успешность взлома
Здравствуйте, icezone, Вы писали:
I>именно так, пищут что в новой версии баг, после того как я меняю проверки в коде I>они же не знают, что код ошибки их выдает
Есть очень простое решение.
"Thank you for reporting about this issue. Unfortunately, we cannot reproduce it on our side. Please ensure that you use the original software package, the one whose integrity wasn't potentially violated by unknown 3rd parties."
Здравствуйте, drVanо, Вы писали:
K>>Купил The Enigma Protector. Подскажите, какие опции в нём включить, чтобы не начались новые проблемы. Стоит ли например включить антиотладчик? Это не вызовет срабатывания антивирусов?
V>Есть у меня один могильничек простейший тест дизассемблера, который энигма все никак не может пройти. Передайте аффтару при случае — пусть поправит это позорище: V>1. Дизассемблер шурует до упора, затирая при этом что-то полезное. NORETURN функции? Нет не слышали. V>2. Дизассемблер умудряется находить х64 код в х32 файле. А ну да — это же я сам дурак, просто загрузил х32 файло в энигму для х64 бит.
Между прочим, я бы купил ваш протектор, если бы вы не хамили.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Посоветуйте, что выбрать из текущих вариантов, если вообще стоит. Я могу ошибиться, но есть подозрение, что от шифрования кода сейчас больше вреда (ложные срабатывания антивирусов), чем пользы; может быть, лучше ограничиться простой защитой вроде отслеживания дебаггеров или как это называется?
Мой проект постоянно обновляется, у ниши есть специфика что постепенно пользователям приходится переходить на новые версии (не то что Total commander какой-нибудь, который работает 20 лет без проблем). Ещё думаю встроить в программу собственную защиту — какие-нибудь пасхальные яйца, т.е. срабатывание защиты не сразу (когда это видит хакер), а через два года после релиза, чтобы юзер таки купил новую версию. Но это пока смутная идея, скорее интуитивная, как реализовать конкретно — подайте идеи.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Khimik, Вы писали:
K>Посоветуйте, что выбрать из текущих вариантов, если вообще стоит. Я могу ошибиться, но есть подозрение, что от шифрования кода сейчас больше вреда (ложные срабатывания антивирусов), чем пользы; может быть, лучше ограничиться простой защитой вроде отслеживания дебаггеров или как это называется? K>Мой проект постоянно обновляется, у ниши есть специфика что постепенно пользователям приходится переходить на новые версии (не то что Total commander какой-нибудь, который работает 20 лет без проблем). Ещё думаю встроить в программу собственную защиту — какие-нибудь пасхальные яйца, т.е. срабатывание защиты не сразу (когда это видит хакер), а через два года после релиза, чтобы юзер таки купил новую версию. Но это пока смутная идея, скорее интуитивная, как реализовать конкретно — подайте идеи.
ИМХО нафиг не нужна, если не уникальная вещь, нативный код и нет ноухау.
Здравствуйте, Khimik, Вы писали:
K>Посоветуйте, что выбрать из текущих вариантов, если вообще стоит. Я могу ошибиться, но есть подозрение, что от шифрования кода сейчас больше вреда (ложные срабатывания антивирусов), чем пользы; может быть, лучше ограничиться простой защитой вроде отслеживания дебаггеров или как это называется? K>Мой проект постоянно обновляется, у ниши есть специфика что постепенно пользователям приходится переходить на новые версии (не то что Total commander какой-нибудь, который работает 20 лет без проблем). Ещё думаю встроить в программу собственную защиту — какие-нибудь пасхальные яйца, т.е. срабатывание защиты не сразу (когда это видит хакер), а через два года после релиза, чтобы юзер таки купил новую версию. Но это пока смутная идея, скорее интуитивная, как реализовать конкретно — подайте идеи.
Сейчас все это не нужно. Те два с половиной неудачника что все еще качают кряки все равно не купят.
Очевидной проверки ключа сразу плюс парочки отложенных проверок вполне достаточно. Если и будут вообще ломать, то только очевидную проверку. Нет смысла заморачиваться, если кряк мало кто качает. Тут нужно брать количеством, а не качеством. А то что потом программа перестала работать, так кого это волнует когда троян уже подсажен.
P.S. Само-собой нужна онлайн активация и возможность в любой момент отозвать ключ (чтобы не думать о рефандах).
Здравствуйте, Александр Широков, Вы писали:
АШ>P.S. Само-собой нужна онлайн активация и возможность в любой момент отозвать ключ (чтобы не думать о рефандах).
Без нормального шифрования, любая защита коту под хвост.
У Ивана что хорошо, это мутация и виртуализация.
За вечерок с пивком не ломается, сам проверял
А наломал в свое время программ предостаточно, потому и купил.
До это использовал свою защиту, но время самый дорогой ресурс.
А на счет срабатываний, хоть с шифрованием, хоть без шифрования все равно будут.
Антивирусников письмами долбить надо.
И если делать защиту, то делать нормальную, или вообще не делать.
Здравствуйте, m2user, Вы писали:
M>Т.е. программа будет требовать периодического подключения к интернету для проверки лицензии (как MS VisualStudio например)?
Зачем требовать? Просто проверять в фоне периодически. Наверняка программа все-равно стучится домой, обновления там проверить, какой-то функционал полезный может быть завязан на сеть, вот и лицензию проверять заодно. Те, кто будут заморачиваться кряками, блокировать программе доступ в инет — они не клиенты, денег от них все равно не будет. Забить на них да и все.
Здравствуйте, AWSVladimir, Вы писали:
AWS>Без нормального шифрования, любая защита коту под хвост.
Оно вообще не надо сейчас, в 2023 году. У меня была неплохая самописная защита всю дорогу, сломать толком никогда не могли. Но в последнем большом обновлении я все выкинул и полностью доволен.
Здравствуйте, m2user, Вы писали:
M>>>Т.е. программа будет требовать периодического подключения к интернету для проверки лицензии (как MS VisualStudio например)?
АШ>>Те, кто будут заморачиваться кряками, блокировать программе доступ в инет — они не клиенты, денег от них все равно не будет. Забить на них да и все.
M>В таком случае от кого эта защита с онлайн-активацией и отзывом ключа?
Это не защита, это удобство и решение проблемы с рефандами.
Здравствуйте, rm2, Вы писали:
rm2>Здравствуйте, Александр Широков, Вы писали:
АШ>>P.S. Само-собой нужна онлайн активация и возможность в любой момент отозвать ключ (чтобы не думать о рефандах).
rm2>во всех нормальных конторах онлайн активация не доступна, т.к. у внутренней сети предприятия нет доступа во внешний мир
Здравствуйте, Александр Широков, Вы писали:
АШ>Так что это должен быть очень специфический софт, чтобы клиенты были сплошь из сбербанка и хотели пользоваться им именно на рабочем месте.
все среднее и выше производство, все банки, все научно технические предприятия — имеют закрытые сети.
А что там остается? магазинчики, малый бизнес, торговля?
Здравствуйте, rm2, Вы писали:
rm2>Здравствуйте, Александр Широков, Вы писали:
АШ>>Так что это должен быть очень специфический софт, чтобы клиенты были сплошь из сбербанка и хотели пользоваться им именно на рабочем месте.
rm2>все среднее и выше производство, все банки, все научно технические предприятия — имеют закрытые сети. rm2>А что там остается? магазинчики, малый бизнес, торговля?
Так там и установить ничего нельзя, так что до активации и дело то не дойдет. А если устанавливать будет админ, то он и активирует.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>В остальных случаях большинство предпочитает купить лицензию (если стоит вменяемо) или подписку, нежели рисковать под видом крэка/ключеделки получить зловред, без которых найти лечилку уже почти невозможно.
Это так, но коммерчески имеет смысл только для онлайн подписок, для которых и так подразумевается обязательная авторизация на сервере, иногда с выносом части функциональности ПО на сервер. Для классических же лицензий и квази-оффлайнового режима работы таких широких возможностей нет, поэтому потери профитов от взломов будут. Есть даже целые рынки, где приторговывают ломаными версиями за деньги без особых смущений по поводу зловредов, т.к. отношение к ПО во многом зависит от региона.
Опять же, все упирается в уровень популярности. Пока продукт только развивается, многое сходит с рук. Но если он становится популярным в народе, например, де-факто стандартом в своей нише, тут начинается интересное.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>У Вас есть данные, которые говорили бы об обратном?
Если бы у меня не было данных, я бы здесь ничего не говорил вообще. Я бы тогда вопросы задавал, что я иногда и делаю. К сожалению, далеко не все следуют такому примеру.
ЕМ>Вопрос не в том, во скольких местах продают, а в том, сколько человек их реально покупает, или даже скачивает бесплатно.
Зависит от специализации, в моей нише — это около 35% месячной коммерческой аудитории в денежном исчислении.
Здравствуйте, icezone, Вы писали:
I>ломают сразу в день релиза первую проверку, которая выводит сообщение об успешной регистрации и все... I>на форумах пишут что нифига не работает
Это правильный подход. Делаем то же самое — типичные проверки, но внутри для любителей халявы припрятаны сюрпризы. Они срабатывают в очень интересные моменты работы ПО в ключевых алгоритмах, деградируя и ломая их. Плюс навесная защита для байт-кодовых модулей — потому что есть любящие подсматривать и копировать конкуренты.
Здравствуйте, Aquilaware, Вы писали:
ЕМ>>сколько человек их реально покупает, или даже скачивает бесплатно.
A>в моей нише — это около 35% месячной коммерческой аудитории в денежном исчислении.
Как-то очень много. Подозреваю, что у Вас достаточно дорогой софт, а все эти люди почему-то не боятся подцепить вредоносов вместе с крэками/ключеделками.
Здравствуйте, Aquilaware, Вы писали:
A>Когда несколько релизов были публично взломаны и выложены, в те месяцы это ощутимо подсаживало продажи.
В какие годы это было? И сколько раз повторялось? А то у меня бывают колебания по продажам и втрое, без каких-либо действий с моей стороны.
A>Если посмотреть существующие исследования по теме распространенности пиратского ПО в мире — получается цифра около 40%.
Она очень сильно плавает как по странам, так и по типам софта (пользовательский/профессиональный).
A>Достаточно дорогой, поэтому -35% ощущаются очень быстро и очень сильно.
Судя по всему, Ваш софт — узкопрофессиональный, и большинство этих профессионалов имеет выходы на надежные источники пиратских версий (например, сидят в закрытых профильных сообществах). В таких условиях описанная ситуация правдоподобна.
Но для недорогого софта "для среднего пользователя" она неправдоподобна. Лет пятнадцать назад я сам, не особо задумываясь, шел на какую-нибудь асталявисту, качал оттуда ключеделку или ломалку, и они, как правило, работали. Последние лет десять под видом "таблэток" почти поголовно идет малварь, поэтому рядовой пользователь, не имеющий выхода на надежные каналы, тупо боится связываться с этой дрянью ради экономии нескольких десятков долларов.
Здравствуйте, Aquilaware, Вы писали:
A>У меня такая же история всегда была, но потом в какой-то момент прицепилось несколько устойчивых кракерских групп, которые поставили "релизы" на промышленный поток.
A>Из всей этой ситуации сделал вывод, что казуальное пиратство может быть даже полезно как элемент бесплатной рекламы. Но когда оно становится потоковым и таргетированным, с чуть ли ни с пресс-релизами и промышленными масштабами, то начинаются проблемы.
В общем очень специфическая ситуация, есть прям целое коммунити построенное вокруг кряка. Одно смущает, неужели условная версия 5.3 настолько лучше предыдущей сломанной 5.2, что народ массово бежит раскошеливаться да еще и приличной суммой? А если она настолько лучше или на существенные изменения ушли годы, то может и не в кряке было дело?
Здравствуйте, Александр Широков, Вы писали:
АШ>Одно смущает, неужели условная версия 5.3 настолько лучше предыдущей сломанной 5.2, что народ массово бежит раскошеливаться да еще и приличной суммой?
Когда ваше ПО имеет интеграцию со сторонним ПО, которое постоянно меняется, то условная версия 5.3 вашего ПО будет всегда более желанна, чем предыдущая 5.2. Именно это обстоятельство и помогло конкретно нам, так как если бы не такая особенность, то единожды крякнутой версией нашего ПО можно было бы пользоваться практически вечно.
Здравствуйте, Евгений Музыченко, Вы писали:
A>>Когда ваше ПО имеет интеграцию со сторонним ПО, которое постоянно меняется
ЕМ>Подозреваю, что это и есть ключевая особенность. Достаточно редкая, чтобы распространять модель на более типовые конфигурации.
На типовой конфигурации один раз крякнут и всё, пропал продукт. Разве не? Почему его ситуация объясняет, по твоему мнению, что защита не нужна?
Здравствуйте, Aquilaware, Вы писали:
A>Из всей этой ситуации сделал вывод, что казуальное пиратство может быть даже полезно как элемент бесплатной рекламы. Но когда оно становится потоковым и таргетированным, с чуть ли ни с пресс-релизами и промышленными масштабами, то начинаются проблемы.
А как узнать, такой ли случай у меня?
Набрал programname crack в Google, смотрю первые ссылки: первая с русским текстом, наверно плевать, шестая некий odownloadx.com, восьмая некий downloadfreecracks.com и испаноязычный текст, может это уже опасно?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
ЕМ> нежели рисковать под видом крэка/ключеделки получить зловред, без которых найти лечилку уже почти невозможно.
Вот это — факт или просто художественное преувеличение? А то ru-board ещё жив, не говоря уж про rutracker, да и на 4pda зловредов никто не подсовывает.
Здравствуйте, Khimik, Вы писали:
K>А как узнать, такой ли случай у меня? K>Набрал programname crack в Google, смотрю первые ссылки: первая с русским текстом, наверно плевать, шестая некий odownloadx.com, восьмая некий downloadfreecracks.com и испаноязычный текст, может это уже опасно?
Большинство подобных сайтов распространяет малварь под видом крака. Но всё это нужно методично перепроверять на виртуальной машине, отключенной от сети.
Уловка в том, что 99% "краков" таковыми являться не будут, это будут просто упакованые вирусы. Из-за этого бдительность притупляется и становится очень легко пропустить тот 1%, который действительно будет представлять опасность. Обычно такие рабочие взломанные версии и генераторы ключей лежат на профильных форумах по тематике вашего продукта, либо всякие форумы где тусуются кракеры с высокой репутацией, например, nulled.to.
Сложность еще и в том, что у самих отцов-создателей ПО всегда возникают мешающие эмоции при проверке краков на работоспособность, поэтому многое игнорируется и отбрасывается еще на этапе беглого взгляда, без всякой практической проверки. И это ошибка. Поэтому наилучшим вариантом является просить кого-то найти и протестировать для краки для вас. Например, наёмного работника. У него будет намного меньше эмоций и предубеждений, поэтому качество проверки и поиска будет в разы лучше.
Здравствуйте, flаt, Вы писали:
ЕМ>>рисковать под видом крэка/ключеделки получить зловред, без которых найти лечилку уже почти невозможно.
F>Вот это — факт или просто художественное преувеличение?
Для стран, наиболее активно покупающих "глобальный" софт (США, Канада, Германия, Англия, Австралия, Япония) — факт.
F>А то ru-board ещё жив, не говоря уж про rutracker, да и на 4pda зловредов никто не подсовывает.
Если софт продается "по миру", а не локально в РФ/СНГ, то доля покупателей из РФ/СНГ очень мала (единицы процентов). Они не делают погоды.
Здравствуйте, Aquilaware, Вы писали:
A>когда есть обилие писем в поддержку с множеством сложных, вовлеченных багов, но от людей, у которых нет и никогда не было лицензии.
Ну вот полную версию моего основного продукта всегда было нетрудно найти на пиратских сайтах, но чтоб сколько-нибудь часто и настойчиво писали нелицензированные, не было никогда. Более того, многие лицензированные периодически покупают вторую-третью лицензии просто потому, что забыли, что у них уже есть, или поменяли компьютер, переустановили систему. Конечно, в таких случаях просят и восстановить лицензию, но покупают новую сильно чаще.
Здравствуйте, Marty, Вы писали:
M>На типовой конфигурации один раз крякнут и всё, пропал продукт.
Щаз. Большинство пользователей искренне полагает, что нужно иметь самую последнюю версию.
M>Почему его ситуация объясняет, по твоему мнению, что защита не нужна?
Ему-то как раз нужна, коли его продукт целенаправленно ломают одни и те же группы, имеющие широкую сеть покупателей.
Здравствуйте, Александр Широков, Вы писали:
АШ>Я в последнем большом обновлении убрал всю защиту и мою программу вероятно "чпокнули", лень проверять. Результат: на продажи не влияет.
Интересно. Выждите какое-то время, может несколько месяцев, может лет, а потом посмотрите на результат. Было бы очень любопытно его узнать.
Обычно всё хорошо, но ровно до тех пор, пока не станет плохо. Одна из проблем этой ситуации в том, что это время X узнать наперед невозможно. Как верно подмечено, всё зависит от пристальности внимания заинтересованных групп.
Здравствуйте, Aquilaware, Вы писали:
A>Обычно всё хорошо, но ровно до тех пор, пока не станет плохо. Одна из проблем этой ситуации в том, что это время X узнать наперед невозможно.
Ну вот я уже не раз описывал, как без каких-либо телодвижений с моей стороны все вдруг становится плохо. Потом лучше, потом хуже, потом зашибись, потом чуть хуже, и так далее. Сильнее всего коррелирует с показами в поиске гугла. Меньше — с обновлениями продукта, дизайном/наполнением сайта и прочим. А спираченных версий на профильных сайтах хватало всегда.
Здравствуйте, Александр Широков, Вы писали:
АШ>Человек, который готов в виртуалке проверять десятки "кряков" — не наш клиент
Не стоит забывать, что есть еще и сарафанное радио. Когда что-то рабочее выходит, сначала оно гуляет по подвалам, но потом всё выше и выше всплывает на поверхность, и в определенный момент начинает заметно отгрызать ваш профит. Дело даже не в самом конкретном краке, сколько в группе, которая за этим стоит и обеспечивает публикацию этих краков. Если это полукоммерческая группа с высокой репутацией, то такие поделки начинают довольно высоко ранжироваться в поисковой выдаче по имени продукта, делая их доступными всем желающим за символические деньги, либо за регистрацию на форуме.
Если из развитых стран люди на такое почти не ведуться, то из остальных частей мира — легко. Особенно подростки и студенты — а это значимая часть платежеспособной клиентуры.
Здравствуйте, Aquilaware, Вы писали:
A>Не стоит забывать, что есть еще и сарафанное радио. Когда что-то рабочее выходит, сначала оно гуляет по подвалам, но потом всё выше и выше всплывает на поверхность, и в определенный момент начинает заметно отгрызать ваш профит. Дело даже не в самом конкретном краке, сколько в группе, которая за этим стоит и обеспечивает публикацию этих краков. Если это полукоммерческая группа с высокой репутацией, то такие поделки начинают довольно высоко ранжироваться в поисковой выдаче по имени продукта, делая их доступными всем желающим за символические деньги, либо за регистрацию на форуме.
Ну вот вопрос в наличии таких "последователей". Очень прям не типичная ситуация как по мне. Я бы прям начал серьезно думать как извлечь пользу из этого коммунити. Коммунити это всегда хорошо.
Здравствуйте, Евгений Музыченко, Вы писали:
M>>На типовой конфигурации один раз крякнут и всё, пропал продукт.
ЕМ>Щаз. Большинство пользователей искренне полагает, что нужно иметь самую последнюю версию.
Спорное утверждение.
Отдельно, кстати, спорное утверждение о том, что пользователи бояться кряков из-за вирусов. Когда в системе начинает явная хрень происходить, обычные пользователи просто переставляют систему (с пиратского диска на десктопе, или с раздела восстановления на ноуте), а до тех пор даже и не парятся по поводу вирусни.
Не, некоторые конечно парятся, но обычно именно что прям вот в бравзере, и то там постоянно что-то хватают.
А кто попродвинутей — скачать кряк на рутрекере, например — вообще не проблема
M>>Почему его ситуация объясняет, по твоему мнению, что защита не нужна?
ЕМ>Ему-то как раз нужна, коли его продукт целенаправленно ломают одни и те же группы, имеющие широкую сеть покупателей.
Его постоянно ломали потому, что очень нужна именно актуальная версия. Что-то другое будут просто пореже ломать. И если защита самописная на говне, то кряк от 1.22 вполне вероятно подойдёт и к 1.25, а если не подойдёт, то и 1.22 нормас, потому что там различие только в оттенках розового на главной иконке приложения.
А ещё мне кажется, что те, кто считает, что сейчас кряками никто не пользуется — хорошо обеспеченные люди 40+, которым жалко терять инфу на своих компах ради сэкономленных на кряках копейках. И они почему-то думают, что все такие
Здравствуйте, AWSVladimir, Вы писали:
AWS>Без нормального шифрования, любая защита коту под хвост. AWS>У Ивана что хорошо, это мутация и виртуализация. AWS>За вечерок с пивком не ломается, сам проверял
Мне вот что-то интересно стало, как Вы будете "за вечерок с пивом" ломать самодельную защиту, которая, например, из введенного ключа, путем достаточно громоздких преобразований, генерит приличный (от нескольких килобайт) блок данных, разные элементы которого проверяет в разных местах в случайном порядке, а список скомпрометированных ключей тоже хранит в "размазанном" виде, и проверяет его так же?
Здравствуйте, Marty, Вы писали:
M>Отдельно, кстати, спорное утверждение о том, что пользователи бояться кряков из-за вирусов. Когда в системе начинает явная хрень происходить, обычные пользователи просто переставляют систему (с пиратского диска на десктопе, или с раздела восстановления на ноуте), а до тех пор даже и не парятся по поводу вирусни.
Это характерно для жителей СНГ, китайцев и подобных товарищей, которые привыкли жить своим умом и не слишком думать о последствиях. Англосаксы, немцы, западные европейцы в массе уже давно слишком ленивы и осторожны, чтобы рисковать ради экономии суммы, которую ежедневно тратят в продуктовом магазине. За несколько сотен, возможно, и рискнут.
M>Его постоянно ломали потому, что очень нужна именно актуальная версия.
Которая прочно завязана на другой актуальный софт. С одной стороны, такая востребованность позволяет зарабатывать, а с другой — она постоянно держит в напряжении, заставляя все время догонять. Компании такой режим может быть и комфортным, а одиночка в нем рискует быстро выгореть.
M>если защита самописная на говне
А если самописная, но не на говне?
M>кряк от 1.22 вполне вероятно подойдёт и к 1.25, а если не подойдёт, то и 1.22 нормас, потому что там различие только в оттенках розового
Если софт плотно завязан на другой софт, главное отличие обычно в "работает" и "не работает".
M>те, кто считает, что сейчас кряками никто не пользуется — хорошо обеспеченные люди 40+, которым жалко терять инфу на своих компах ради сэкономленных на кряках копейках. И они почему-то думают, что все такие
Здравствуйте, Aniskin, Вы писали:
A>Здравствуйте, Александр Широков, Вы писали:
АШ>>Сейчас все это не нужно. Те два с половиной неудачника что все еще качают кряки все равно не купят.
A>Зависит от многих факторов. Вот есть у меня продукт для восстановления фоточек после зашифровки ransomware. Уникальный продукт, других таких нет. И как оказалось по факту, что целевая аудитория этого продукта — это всякие индусы и пакистанцы, которые любят качать кряки из всяких сомнительных мест и соответственно часто заражающие свои системы. И они очень хорошо покупали. До тех пор пока не вышел кряк. И сейчас продажи прям вот очень сильно просели. И эти хитрожопые товарищи еще стали продавать взломанную версию свои собратьям. Вот так мои мечты о банкомате на пляжу разбились о простой кряк.
Справедливости ради отмечу, что продукт уже был обработан VMProtect. Но, возможно, это я выбрал неверные настройки защиты. А, возможно, сломали из-за майского слива исходников VMProtect.
Здравствуйте, Александр Широков, Вы писали:
АШ>Тут очевидно надо сразу делать сервис по подписке, с полностью или частично вынесенным на сервер функционалом.
Постфактум это конечно очевидно. А на первоначальном этапе это не было столь очевидно.
Здравствуйте, Александр Широков, Вы писали:
АШ>Ну вот вопрос в наличии таких "последователей". Очень прям не типичная ситуация как по мне. Я бы прям начал серьезно думать как извлечь пользу из этого коммунити. Коммунити это всегда хорошо.
Некоторые последователи даже музыкальные клипы делали посвященные продукту, со своим пением и игрой на инструментах. Другие иногда вставляли название продукта в свои ники. Вообщем, коммунити и допустимые уровни пиратства — тонкие вопросы. Если сильно перекручивать гайки — подобного коммунити никогда не будет, но если их недокручивать и делать это слишком долго, игнорируя саму возможность возникновения проблемы — будет падение профита. Мой пример, наверное, показательный из-за версионной специфики продукта. Получилась такая себе демонстрация всей ситуации в ускоренном режиме, в которой видно то, что другим продуктам обычно трудно увидеть из-за их более растянутой во времени каденции версий.
Я вот подумал. А кто-нибудь пробовал полностью удалить из триальной версии некоторые фичи? Не просто встроить проверку, а закомментировать код, чтобы крякерам самим пришлось это писать. А когда юзер купит лицензию — присылать ему ссылку на полноценную версию
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Aquilaware, Вы писали:
K>>Я вот подумал. А кто-нибудь пробовал полностью удалить из триальной версии некоторые фичи? Не просто встроить проверку, а закомментировать код, чтобы крякерам самим пришлось это писать. А когда юзер купит лицензию — присылать ему ссылку на полноценную версию
A>Пробывали. Нормальный и правильный подход. Часто удаляется функция сохранения проекта или экспорта в один из конечных форматов. Если ПО позволяет ввести подобные оганичения в своей триальной версии без ущерба для конверсий, то это очень хороший вариант дополнительной защиты.
У меня тогда заодно вопрос по программированию в Delphi: если я правильно понимаю, можно не комментировать код, а сделать булеву константу, и этот код поместить в блок if константа then begin end, тогда это будет эквивалентно комментированию, т.е. если константа=false, то в экзешник этот код не пойдёт. Всё правильно?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Khimik, Вы писали:
K>Delphi: если я правильно понимаю, можно не комментировать код, а сделать булеву константу, и этот код поместить в блок if константа then begin end, тогда это будет эквивалентно комментированию
В общем случае — не будет. Это плохой, негодный способ. Ищите в Delphi условную трансляцию/компиляцию, которая по условию включает или не включает в исходный текст определенные блоки (не только операторы, но и определения, объявления, управляющие конструкции вроде var/const/procedure и т.п.). То есть, аналог сишного препроцессора.
Здравствуйте, Евгений Музыченко, Вы писали:
K>>Delphi: если я правильно понимаю, можно не комментировать код, а сделать булеву константу, и этот код поместить в блок if константа then begin end, тогда это будет эквивалентно комментированию
ЕМ>В общем случае — не будет. Это плохой, негодный способ. Ищите в Delphi условную трансляцию/компиляцию, которая по условию включает или не включает в исходный текст определенные блоки (не только операторы, но и определения, объявления, управляющие конструкции вроде var/const/procedure и т.п.). То есть, аналог сишного препроцессора.
Эти ifdef-ы я в Delphi никогда не любил, потому что пока не знаю, как их поменять одой строкой в другом модуле. Я объявляю константами разные параметры компиляции вроде включения сборщика мусора; а тут ведь нельзя, если я правильно понимаю, скормить булеву константу директиве ifdef? Что ей вообще можно кастомного указать?
И ещё вопрос: если я скомпилирую две версии — триальную и окончательную, и буду присылать ссылку на окончательную после покупки, насколько велика возможность, что хакер купит программу и уже окончательную версию начнёт ломать. Если это актуально, может вообще компилировать отдельный билд для каждого покупателя индивидуально (моя программа относительно дорогая, так что может и сойдёт).
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Khimik, Вы писали:
K>Я вот подумал. А кто-нибудь пробовал полностью удалить из триальной версии некоторые фичи? Не просто встроить проверку, а закомментировать код, чтобы крякерам самим пришлось это писать. А когда юзер купит лицензию — присылать ему ссылку на полноценную версию
Блин, это делается 3-мя строчками
{$IFDEF FULLWORK}
{$ELSE}
{$ENDIF}
но не защищает от скрамеров, рефрандов, покупки на шару (если нет привязки к HardId и без привязки проверок онлайн лицензий).
И другой вопрос, как в триале юзер проверит функционал, если его не будет?
Здравствуйте, Khimik, Вы писали:
K>Эти ifdef-ы я в Delphi никогда не любил, потому что пока не знаю, как их поменять одой строкой в другом модуле.
Не понял. В чем именно сложности?
K>нельзя, если я правильно понимаю, скормить булеву константу директиве ifdef?
Булеву — нельзя, можно лишь абстрактный идентификатор, определяемый в $Define. Убого, конечно, но хоть что-то. Вместе с {$MACRO ON} можно подставлять строки, определенные $Define.
K>Что ей вообще можно кастомного указать?
В $IfDef — ничего. Там проверка только на то, определен ли макрос.
K>насколько велика возможность, что хакер купит программу и уже окончательную версию начнёт ломать.
Если ему надо, то купит и начнет.
K>компилировать отдельный билд для каждого покупателя индивидуально
Здравствуйте, AWSVladimir, Вы писали:
AWS>Блин, это делается 3-мя строчками AWS>{$IFDEF FULLWORK} AWS>{$ELSE} AWS>{$ENDIF}
В данном случае FULLWORK это что? Это не константа которую объявляет программист в своём коде?
AWS>И другой вопрос, как в триале юзер проверит функционал, если его не будет?
Бывают варианты функционала, которые и так понятно что делают, специально показывать не надо. А у меня это наверно будет утилита, которую можно посмотреть в выложенном мной на youtube видео.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Khimik, Вы писали:
K> У меня тогда заодно вопрос по программированию в Delphi: если я правильно понимаю, можно не комментировать код, а сделать булеву константу, и этот код поместить в блок if константа then begin end, тогда это будет эквивалентно комментированию, т.е. если константа=false, то в экзешник этот код не пойдёт. Всё правильно?
Дефайн TIRAL можно задать, как в коде (будет действовать только локально), так и через директиву компиляции или настройки проекта (будет доступен глобально).
Здравствуйте, Aquilaware, Вы писали:
A>Если позволяет протектор, то такое можно сделать и его штатными средствами без необходимости иметь несколько скомпилированых дистрибутивов ПО. (Код остаётся зашифрованным пока не будет введен правильный ключ. Поскольку у кракера нет ключа, то доступ к коду он получить не может, и тот участок кода остается зашифрованным и криптографически недоступным для кракера)
Скардят разок, и все дела. Самый 100% способ тогда уж просто вынести функционал на сервер. Или всю прогу как SaaS.
Здравствуйте, Khimik, Вы писали:
AWS>>Блин, это делается 3-мя строчками AWS>>{$IFDEF FULLWORK} AWS>>{$ELSE} AWS>>{$ENDIF}
K>В данном случае FULLWORK это что? Это не константа которую объявляет программист в своём коде?
Определение Define, делается несколькими способами
1. в модуле
unit MyUnit
{$Define FULLWORK} // действует на юнит
2. ч/з include // действует где подключен include
{$I mydefine.inc}
файл mydefine.inc
{$Define FULLWORK}
3. В проекте
Options->Delphi Compiler->Conditional Defines // действует на все файлы в проекте
Здравствуйте, icezone, Вы писали:
I>Здравствуйте, wantus, Вы писали:
W>>Никто негатив про ломаные версии в обычных форумах и дискуссиях не пишет. Это всё байки. Все прекрасно понимают, что они пользуются сломаным софтом со всеми вытекающими.
I>еще как пишут, и на форуме и в поддержку жалуются
На что жалуются? На побочные эффекты от плохого взлома?
Ещё хотелось бы немного ликбеза, что такое проверка контрольной суммы и как это сделать самому. Т.е. в принципе вроде всё понятно — посчитать хеш файла и проверять время от времени, не изменился ли он. Может как раз лучше это сделать самому, без привлечения протектора, поскольку можно контролировать время срабатывания — если программу взломают, пусть она перестанет запускаться через полгода, с сообщением что обнаружен взлом.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, JustPassingBy, Вы писали:
JPB>Я как-то делал давно, примерно так: JPB>1. В программе делаете глобальную строку вроде MYCHECKSUM или что угодно, главное, чтобы этот текст больше в файле не присутствовал нигде и чтобы длины хватало для хранения контрольной суммы (можно две строки и сумму потом воткнуть между ними). JPB>2. Чтобы прописать — считаете сумму файла без уникальной строки из п.1, пишете в EXE файл в место где та строка. Для проверки нужно также найти эту строку и исключить ее из подсчета контрольной суммы. JPB>3. Нужно учесть что exe файл потом будет подписан и исключить из котрольной суммы секцию с подписью.
Я сходу не понял, какой в данном случае принцип?
Я вижу защиту так. При нажатии какой-то спрятанной кнопки в программе с кодом, она считает контрольную сумму собственного экзешника, и сохраняет её в файл настроек. Через полгода она начинает проверять эту контрольную сумму, если что сразу закрывается.
Ещё вопрос, что такое вообще контрольная сумма. Я этим никогда не интересовался, но могу предположить что это например массив из ста байт, программа суммирует его с каждыми последующими ста байтами в файле до конца файла. Или это скорее хеш? В чём разница между хешем и контрольной суммой?
И ещё вопрос, не могут ли быть ошибки, если программа про запуске открывает собственный экзешник, чтобы посчитать его контрольную сумму.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Здравствуйте, Khimik, Вы писали:
K> Я сходу не понял, какой в данном случае принцип? K> Я вижу защиту так. При нажатии какой-то спрятанной кнопки в программе с кодом, она считает контрольную сумму собственного экзешника, и сохраняет её в файл настроек. Через полгода она начинает проверять эту контрольную сумму, если что сразу закрывается. K> Ещё вопрос, что такое вообще контрольная сумма. Я этим никогда не интересовался, но могу предположить что это например массив из ста байт, программа суммирует его с каждыми последующими ста байтами в файле до конца файла. Или это скорее хеш? В чём разница между хешем и контрольной суммой? K> И ещё вопрос, не могут ли быть ошибки, если программа про запуске открывает собственный экзешник, чтобы посчитать его контрольную сумму.
Целостность файла контролировать нет смысла, будут патчить в памяти и твои проверки ничего не дадут.
Ты такие вопросы задаешь... детские. Купи лучше протектор. Но перед этим почитай, как вообще ломают софт (не тонкости работы с отладчиками, а именно, где и что отламывают). Иначе получится, как с деликером — вроде и протектор хороший, а защита отламывается на раз.
Здравствуйте, Khimik, Вы писали:
K>Я вижу защиту так. При нажатии какой-то спрятанной кнопки в программе с кодом, она считает контрольную сумму собственного экзешника, и сохраняет её в файл настроек. Через полгода она начинает проверять эту контрольную сумму, если что сразу закрывается.
Это полная фигня. Чем делать так — лучше вообще не делать, или купить готовый протектор, который это уже умеет. О чем я вам писал выше — это делается на этапе релиза, после компиляции и до подписи exe и создания инсталлятора. В принципе, можете проверять саму электронну подпись, но там довольно замороченное API и, опять же, это быстро отломают.
K>Ещё вопрос, что такое вообще контрольная сумма. Я этим никогда не интересовался, но могу предположить что это например массив из ста байт, программа суммирует его с каждыми последующими ста байтами в файле до конца файла. Или это скорее хеш? В чём разница между хешем и контрольной суммой? K>И ещё вопрос, не могут ли быть ошибки, если программа про запуске открывает собственный экзешник, чтобы посчитать его контрольную сумму.
Проблем с подсчетом суммы не будет. Как и не будет проблем у хакеров все это отломать.
Контрольной суммой может быть что угодно, но лучше взять готовый алгоритм, md5 или хоть crc. Главное понимать размер контрольной суммы, чтобы заготовить под нее место в exe файле. В вашем случае я бы рекомендовал просто купить готовое решение. Если и делать свое, то в качестве упражнения по программированию. Помните, что защита не должна мешать пользователю, который купил. Если плохо сделать и программа начнет тупить у нормальных пользователей — это в тысячу раз хуже кряков.
Здравствуйте, Khimik, Вы писали:
K>Купил The Enigma Protector. Подскажите, какие опции в нём включить, чтобы не начались новые проблемы. Стоит ли например включить антиотладчик? Это не вызовет срабатывания антивирусов?
Есть у меня один могильничек простейший тест дизассемблера, который энигма все никак не может пройти. Передайте аффтару при случае — пусть поправит это позорище:
1. Дизассемблер шурует до упора, затирая при этом что-то полезное. NORETURN функции? Нет не слышали.
2. Дизассемблер умудряется находить х64 код в х32 файле. А ну да — это же я сам дурак, просто загрузил х32 файло в энигму для х64 бит.