Здравствуйте, CEMb, Вы писали:
CEM>Здравствуйте, kai3, Вы писали:
CEM>>>Всё это до следующего релиза.
K>>Просто если скачают генератор, то и патч для открытого ключа скачать будет не проблема.. Так что впринципе патч + генератор тоже самое что и генератор.
CEM>Нет, не тоже самое. Этот генератор — чужой. Он генерит ключи только для _своего_ открытого, патчем пробитого в код, вместо родного. Кстати, так делают последние гады, дабы продавать твою софту со своими лицензиями
CEM>А вот чтобы перепробить ключ, его надо найти в коде. Если ключ лежит одним куском — это легко сделать, а если его алгоритм модифицируемый собирает — уже нет.
CEM>Потом. Скачать 1 раз генератор _твоих_ ключей — это тоже совсем не то, чтобы качать каждый раз патч+генератор _чужих_ ключей. Ну или один раз чужой генератор и каждый раз патч. Потому что без патча программа будет чужие лицензии посылать нафиг, ибо автор-разработчик, не ведая, что творит — будет собирать софт со своим ключом
K>>а найдут сигнатуру, одинаковую во всех версиях, и сделают универсальный патч для любых версий.
CEM>чё-то мы не допонимаем друг друга…
CEM>задача взломщика не найти одинаковую сигнатуру(зачем?), а найти сигнатуру в целевом файле, чтоб совпадала с тем, что пробито в патче. Это признак того, что ты патчишь правильную версию. Потому что я, к примеру, меняю код в стабах возле блоков проверок. Он меняется и по размеру и по содержанию. Если патч для версии №1 будет пачить версию №2 он просто её запорет. Поэтому добрые хакеры делают проверку на некую хэш-сумму, им одним ведомую, чтобы понять, может этот пачт тут работать или нет. Да, вот там я неверно выразился на счёт сигнатуры-то. Хэш они считают.
CEM>Мою программу так сначала и ломали — выкладывали патчи. Но так как я быстро выпускал новые релизы, пиратов и их поклонников это быстро подзадолбало, и они стали выкладывать сразу патченные версии целиком, так как патчи никогда почти не работали на версиях с моего сайта.
Выпуск новых версий это хорошо, только тут другая проблема, появляются вот такие гении которым это не нравится
http://www.rsdn.ru/forum/shareware/3935108.1.aspxАвтор: Dimonka
Дата: 26.08.10
Вообще лучше использовать онлайн активацию, причем, чтобы, по возможности, если программа позволяет, часть функций выполнялась удаленно на сервере разработчика. В этом случае ключ можно заблокировать, да и сервер не примет чужие ключи.
Зачем найти сигнаруту? Например, не в вашем случае, а вообще, таких ошибок полно, рядом с открытым ключем есть какой нибудь код, одинаковый во всех версиях (будем считать что этот код — сигнатура). Вы выпускате новую версию, выходит патч который ищет в файле открытый ключ, т.к. вы поменяли ключ — патч не сработает, и его генератор тоже. Но любители могут искать не открытый ключ в файле, а эту сигнаруту, и по ее смещению находить новый, измененый открый ключ и патчить его. Таким образом, можно будет сделать более менее универсальный патч.