![]() |
|
![]() ![]() ![]() |
|
xvr |
|
||||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Сдедайте свою программу shareware. Это более надежно ![]()
Можно изменить условный переход на безусловный.
Но тут еще наверное остались люди, которым это может быть интересно ![]() Добавлено через 2 минуты и 19 секунд
Хакер не будет ничего искать - он просто оттрасирует прогу и найдет тот условный переход, который ломает программу при неверном ключе. Потом подправит пару байтов в exe'нике, и все ![]() |
||||||||||||
|
|||||||||||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Так в данном случае если сделать из моего условного перехода - безусловный, ниче не выйдет, насколько я понимаю. У меня идет проверка if (код != код) {выход из программы}. А дальше идет обычный код. Если из этого условного перехода сделать безусловный и переходить без всяких сравнений к {выход из программы}, то получается лажа. А еще я поставил в приложении таймер, в событии которого OnTimer через каждые пять минут прописал снова проверку. Это тоже бесполезный трюк с моей стороны? |
|||
|
||||
Damp1L |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Ну раз уж пошла такая катавасия, то почему не сделать просто навесную защиту? К примеру armadillo. Один чёрт взломают, а так хоть защита от дурака, ну и время не надо терять на её разработку =)
|
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
ИМХО с таким же успехом взломают. И будет ваш таймер "вертеться" впустую. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 13 Всего: 191 |
||||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Ваш конкретный условный переход забьют NOP'ами В любом случае условный переход транслируется в операцию сравнения и команду типа je blablabla. Хакер может превратить ее в jmp blablabla или в пару nop (в зависимости от того, должен переход исполняться или нет)
|
||||
|
|||||
SVN74 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 5.5.2008 Где: Комсомольск на Дн епре Репутация: 11 Всего: 18 |
А если заранее "подпортить" – изменить код без всяких if конструкций то бишь привести программу в нерабочее состояние (правда в таком случае try версии не получиться), а потом отдельной программой (ключом) восстановить данные в основной программе?
|
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Кому не влом, попробуйте поломать эту защиту.
Суть ее такова. Если программа не зарегистрирована - она выдает исходящий код, который вы высылаете разработчику (то есть мне), а даю вам на основе этого кода уже входящий код, который будет записан в файле Reg.txt. С правильным кодом программа будет работать. Это сообщение отредактировал(а) Нитонисе - 8.1.2010, 13:40 Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 13 Всего: 191 |
Пофиксил следующим образом. Нашел вызов первого FileExists в обработчике формы OnCreate. Заменил его на прыжок в конец обработчика. Результат - программе все равно на Reg.txt, существует он или нет.
Добавлено @ 17:25 Ах да, еще таймер отключить надо. Это совсем просто - по аналогии. ![]() Присоединённый файл ( Кол-во скачиваний: 4 ) ![]() |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
И вся "защита"?)
Добавлено через 2 минуты и 29 секунд а выложите поломанную программу, которой бы все могли пользоваться. |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 13 Всего: 191 |
Выложил
![]() |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Это была моя самая надежная защита)) Однако поменялся размер файла. Можно же отследить размер, сравнивать его с эталонным и если размер отличается - не запускать программу? Добавлено через 1 минуту и 2 секунды а, не поменялся.. это просто текстового файла в архиве не было |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Можно разобрать эту ВМ. Либо сэмулировать её имея один валидный ключ. PS Защита предложенная автором фигня, в своё время ломал такие за 3 минуты. ![]() Добавлено через 47 секунд
Ну найдут это сравнение и "убьют" его точно так же как проверку твоего ключа. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 13 Всего: 191 |
||||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Так а взломщик может затирать лбюбые фрагменты кода, которые посчитает нужным? Или как бы обходить их вставкой какого-то безусловного перехода? Например перед проверкой регистрации вставить что-то типа "go to" и указать на первую команду после проверки? Добавлено через 1 минуту и 9 секунд Ну я понимаю что лечится вообще все. Мне бы лишь бы программа продержалась хотя бы часов 10 против пусть не мегавзломщика, но против сильного хакера. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |