![]() |
|
![]() ![]() ![]() |
|
Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Здравствуйте интересуюсь тем как что-бы уберечь свою программу в какой-то степени от взлома
,а конкретнее у меня следуший вопрос. Имеються-ли какието готовые решения как подвесить отладчик при нажатии кнопки Register в моей проге (конечно не все, но хоть некоторые)? |
|||
|
||||
Matematik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: нет Всего: 50 |
Захотят взломать, не поможет
|
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Ну понятно что софт-айсом можно взять любую прогу. Только все зависит от времени.
Я хочю повысить время взлома. Это сообщение отредактировал(а) Ak47black - 25.9.2006, 21:02 |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
почти!!!! воспользуйся шифрованием , плюс привязка ко времени (и не стацинарного , а разности) -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
Тебе сюда: "Технологии защиты программного обеспечения"
Добавлено @ 21:33 А решение простое. При нажатии кнопки "Register" не делать никаких действий, кроме сохранения кода, а лучше его производной. Абсолютно никаких. Это усложнит задачу - если нет проверки при нажатии кнопки, то совершенно непонятно где ловить. В программе не делать единой точки проверки кода, а разбросать проверку разных частей кода по программе. Вот тогда точно опухнешь искать по всей программе. Найти одно место можно. Искать все... Программа того не стоит. Это не винда и не фотошоп Для большей надёжности - наделать производных от частей ключа. Чем больше, тем проще запутать. Главное не запутаться самому ![]() |
|||
|
||||
Coder |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
Snowy, что значит производная от кода? |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
Любой блок данных, полученный в результате преобразования исходных данных по заранее определённому алгоритму.
Алгоритм может быть любой - свой выдуманный или стандартный. Неизменным должно быть одно - при применении алгоритма к одним и тем же данным, результат всегда должен быть одинаковым. То есть алгоритмы с элементом случайности не подходят. Например у нас часть кода "F0B9". Допустим применим простой только что пидуманный алгоритм: к каждому символу прибавим ещё один на еденицу больше. В результате работы алгоритма получим "F001BC9A". Вот такую преобразованную строку и использовать. Это и есть производная - на входе одни данные - на выходе другие. Результат всегда зависит от входных данных. Можем не выдумывать свой алгоритм, а взять стандартные типа CRC или MD5. То есть цель - использовать не сам серийный номер, а производные от него. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: нет Всего: 329 |
а на кнопку повесь какую-нибудь "левую" введенных данных или даже не обязательно введеных, пусть эта процедура чего-то пишет в реестр или на диск, или какие-либо другие действия делает, ну ты понял..
![]() |
|||
|
||||
ne0n |
|
|||
PlayBoy ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 5.8.2005 Где: Н.Новгород Репутация: 1 Всего: 11 |
VMProtect нафига сделан? Не всякий опытный крякер с ним разберется. Виртуальная машина лутший вариант. Вот тебе и готовое решение.
|
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 1 Всего: 8 |
Главное чтоб система защиту не мешала нормальной работе программы. А то можно так защиту наворотить, что и прога работать перестанет.
В половине случаев хватит простого алгоритма свертки ключа + проверки на режим отладки. Это создаст условия для покупки программы (достаточно продать один ключ и покатилось ...). Если же программа будет пользоваться популярностью то взломают обязательно невзирая на защиту (ReGet к примеру). ИМХО лучший вариант проверва подлинности через инет, но не всегда реализовать можно. Главное помнить, что взлом так или иначе сводится к замене 4-х байт ![]() -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: нет Всего: 158 |
||||
|
||||
BUGOR |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 1 Всего: 16 |
Далеко не панацея, к тому же тормозит программу прилично. Ну и раскошелиться на него придётся.
Чем же он лучший? |
||||
|
|||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: нет Всего: 78 |
Мне кажется, лучший вариант делать программу freeware, если не жадный, либо продавать её не как shareware, а как Demo. Т.е. делаешь демо версию без каких-либо функций, которые в свою очередь будут лежать в плагине, который пришлётся тебе после оплаты.
-------------------- Ll 2 |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 1 Всего: 8 |
практически всегда есть проверка подлинности заключается в принятии решения да/нет вот там и замену надо делать.
до первой проданной. под одним серийником две программы не запустиш. + защита от генераторов серийников. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: нет Всего: 158 |
типовой случай "дурацкой" защиты. как правило заменяется один байт в инструкции(если она двухбайтная) условного перехода - либо 7x на EB, либо смещение на 0. короче, 4 байта - частный случай, причем не самый частый. ![]() если не используется "затычка"(hasp/hl/etc), то по-любому "до первой проданной". кто ж ее в сеть выпустит? в наше "военное" время уже почти любая домохозяйка имеет fw. это вообще, простите, гон маркетолога. или я отстал от жизни? - объясните мне что это. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
Модератор: Перенесено из дельфи
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 1 Всего: 538 |
Отказываться работать в таком случае. Ну и плюс есть класс программ которые просто нельзя не выпускать в интернет, те же прокси сервера. Кстати есть одина программа: Lan2net NAT Firewall, так вот она до сих пор не взломана. Что говорит о том, что защита была адекватна интересу к данной программе со стороны хакеров. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: нет Всего: 158 |
зачастую такой вариант неприемлем. к прогам же, расчитанным на работу с сетью, причем именно с инетом, это, разумеется не относится... ![]() угу. "неуловимый джо". там aspr стоит, и фактически только он и препятствует "залому". |
|||
|
||||
ne0n |
|
|||
PlayBoy ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 5.8.2005 Где: Н.Новгород Репутация: 1 Всего: 11 |
а панацеи и не существует. Нам же нужно защитить только процедуру регистрации, а не весь код программы. Если программа тогоо стоит то все окупиться, а если нет есть же бесплатные релизы. |
|||
|
||||
BUGOR |
|
||||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 1 Всего: 16 |
Ты же сам говорил, что замена проверким всё решает. А кто мешает подделать данные, которые принимаются программой при чеке через интернет? А кто мешает изменить элементырный Jcc(конечно не всегда он есть), при неграмотной реализации проверка через интернет отламывается не сложней, чем if Check(name, key) then ok. Какой выход? Хранить часть критических данных на сервере через который идёт проверка и при тру результате возвращать эти данные в программу? Выход... до первой купленной(а скорее скарженной) версии.
Аспр снять не так сложно, туторов масса и в привате есть унпакеры для всех версий.
Понимаешь, если я напишу простой калькулятор и навешаю туда аспр со всеми функциями, потом выставлю цену 300 уе, то его тоже никогда никто не взломает, точно так же как и не купит.
Ну одну процедуру регистрации всё равно мало протектить, хотя я согласен, что даже две процедуры не слишком замедлят работу. Это конечно подходит для всяких шаровар за 19.99$, но если тебе надо защитить от кражи какой-нибудь уникальный алгоритм программы?
Приведу цитату: "... Ни один готовый протектор не поможет, так как за пару тысяч баксов тебе и вмпрот снимут, и ексекриптор отдеморфят." (с) PE386 |
||||||||||
|
|||||||||||
BUGOR |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 1 Всего: 16 |
Вообще, как показала практика ненужно писать крутейшую защиту, во-первых:
1. Программа не получит распространения. 2. Это может быть вовсе неоправданно. Возьмём тот же WinRAR, его защита ломается исправлением одного байта, и так было наверное с самых первыъ версий, тот же The Bat! тоже никак не защищён, зато это программы с мировым именем и я уверен их разработчики не беднеют с каждым днём, потому что, если у людей есть возможность - они покупают софт(жаль, что в Росии люди имеют такую возможность не часто,, для рядового американца проще вбить номер кредитки и получить ключ, чем вбивать запросы в гугл и тратить время на поиск), если нет возможности - используют крякнутый или не используют ничего, но если используют крякнутый программа постепенно приобретает популярность. Самый лучший вариант выпускать почаще апдейты в которых было бы что-то чувствительно иное в сравнении с другими версиями. |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: нет Всего: 158 |
тут речь о том, что невзломанным lan2net остается только потому, что те, кто хотят - не могут, а те, кто могут - не хотят. опять же, afair снять крипту без валидного ключа нельзя, а чтоб достать его, нужен еще ряд мероприятий... в общем, нельзя не согласиться, что пока "защита" lan2net себя оправдывает. степень "нужности" не превышает степень "защищенности". ![]() так что совет по теме(который, впрочем, уже прозвучал вроде) - нащупать баланс. |
|||
|
||||
RedHat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 28.3.2006 Репутация: нет Всего: нет |
Как сказал Snowy, самые действенное решение это при нажатие кнопки "Register" ни чего с введёными данными ни делать ни выдовать ни какие сообщения о неправельности СН а тупо сохранить их в памяти и запустить таймер который будет ждать определёного момента и начнёт формировать код проверки по кускам то есть код проверки СН разбросан по коду программы и куски начинают проводить определёные действия
Например: После ввода СН окошко закрылось СН сохранён в памяти и пока пользователь работает с программой она потихоньку начинает собирать и проверять серийник ну и если он правельный то сохраняет его! в таком случае крякер устанет патчить программу так как проверок будет очень много ! |
|||
|
||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: нет Всего: 78 |
А если он сразу после введения кода закроет приложение? ![]() -------------------- Ll 2 |
|||
|
||||
RedHat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 28.3.2006 Репутация: нет Всего: нет |
Guedda, ты так когда нить делал?????
ну если даже закроет то придётся регить заново минус и при чём большой!!! можно так же использовать в качестве ключа часть/всю процедуру проверки в зашифрованном виде то есть в ехе отсутствует процедура проверки СН так как она идёт в самом СН и без рабочего СН крякеру практически не возможно будет взломать прогу. |
|||
|
||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: нет Всего: 78 |
Да. Пытался. Испробовал различные варианты, и понял, что нифига не поможет ничего против опытного крякера. У меня есть идея по поводу антикрякинга - это полиморфизм. Добавлено @ 14:29 Но всё-равно и это не поможет ![]() -------------------- Ll 2 |
|||
|
||||
RedHat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 28.3.2006 Репутация: нет Всего: нет |
Guedda,
![]() да против хорошого крякера мало что поможет!!! |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
А он и не будет её ломать. Скардят один ключик, раскриптуют участок и отломают простым патчем, твоя программа останется без всякой защиты. Или же будут распространять вместе с ключиком. Хватит предлагать уже давно известные всем идеи. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Antonimus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 12.1.2007 Репутация: нет Всего: нет |
Если программа стоит, чтобы ее защищать, то ничего из предложенного выше не поможет. Такие защиты снимаются в два счета, даже не хакерами. Если Вы уверены, что Ваша программа попадет в руки хакеру, то нужна крепкая защита, а значит аппаратная. При этом нельзя брать первый попавшийся ключ, так как он наверняка уже взломан и есть эмулятор, а значит защиту снимут за минуту. Есть ключи, для которых само понятие взлома является абсурдным. Мы сейчас их используем, даже хакерам предлагали $1500, чтобы взломали, но у всех ответ один - без вариантов, даже неизвестно с какой стороны подойти. Вобщем USB-ключи серии "LOCK". В инете по ним можно всю информацию найти.
|
|||
|
||||
Gogi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 19.4.2007 Репутация: нет Всего: нет |
VMProtect на сегодняшний день ИМХО самое лучшее решение для защиты кода от взлома. Насчет пары тысяц баксов - это очень сомнительно, т.к. я знаю коммерческий проект, накрытый вмпротом, который ломали несколько профи около полугода. Так что решайте сами ![]() |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Технологии защиты программного обеспечения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |