Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2010, 21:56   #1
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
Смех Кто сломает мою "защиту"

Всем доброго времени суток!!!

Несколько раз видел тут похожие темы и почитав на сайте делфисорс методы защиты сделал прогу и предлагаю вам найти к ней пароль. Слишком сложного ничего не писал, всяких ассемблерных вставок нет и кода совсем мало, так что думаю сломать не сложно, но всё же.

Пароль шестизначный. Если введён неверный пароль - прога закроется, если верный - ничего не произойдёт, так что сообщений типа "Ура товарищ!! Вы взломали мою защиту" не ждите
Вложения
Тип файла: rar FreeWare.rar (171.8 Кб, 37 просмотров)
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 10.04.2010, 12:12   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Я так понимаю, что задачи узнать пароль не стоит? Эта задача сама по себе бессмысленная, т.к. достаточно в exe'шнике хранить не сам пароль, а его хеш, и задача превращается в нерешаемую.
Так что пароля я, естественно, не узнал, но переделал Ваш exe'шник так, что он теперь закрывается только при правильном пароле, а при любом другом продолжает работать. Верно ли я это переделал или нет - проверить можете только Вы, т.к. только Вы знаете пароль.
Исправленный exe'шник прикрепляю.
Вложения
Тип файла: rar CrackFreeWare.rar (171.8 Кб, 13 просмотров)
Arigato вне форума Ответить с цитированием
Старый 10.04.2010, 12:16   #3
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

В таких защитах стоит лишь поменять команду пропуска хода по условию на команду не пропуска по условию(к сожалению не знаю названия команд под большие процики==)
Почитайте Криса.
Levsha100 вне форума Ответить с цитированием
Старый 10.04.2010, 12:24   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Ну так проблема решилась заменой команды jz на jnz, самое главное - это найти нужную команду.
Arigato вне форума Ответить с цитированием
Старый 10.04.2010, 15:30   #5
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Вот моя проверка пароля как реализована, так что Levsha100 тут вы не совсем правы.

Код:
procedure TfrmMain.btnOkClick(Sender: TObject);
label
  A;
begin
  if (lbledtPassword.Text = '') or (Length(lbledtPassword.Text) > 6) then
    Close;
  if not abcd(lbledtPassword.Text) then
    goto A;
  Close;
  A:
end;
Arigato, почему же бессмысленная? Тут уже выкладывали подобные примеры, но у них форма не закрывалась, а сообщение выводилось, а в случае если правильный пароль - тоже сообщение. У меня просто сообщения не выводятся, потому что как я понял перед этим сообщением можно поставить "точку останова"(если я правильно запомнил) и взлом значительно облегчается.

Хотя вы правы, у меня не сам пароль хранится, а его хеш, и тот не в прямом виде.

UPD:

Arigato, вы говорите что если хранить не сам пароль, а его хеш, то подобрать пароль невозможно, но тогда почему нет ниодной некрякнутой программы? Неужнли никто не догадался хранить хеш вместо пароля? Или я чего то не понимаю

UPD:

Arigato, программу вы правильно переделали, закрывается только когда правильный пароль.
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли

Последний раз редактировалось Marsel737; 10.04.2010 в 15:39.
Marsel737 вне форума Ответить с цитированием
Старый 10.04.2010, 15:35   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от Marsel737
Arigato, почему же бессмысленная?
Именно потому, что никакого пароля в самом EXE'шнике может и не быть. А если там будет нормальный хеш пароля, то из него получить пароль обратно не возможно, т.к. хеш-функции не обратимы.

Как я понял, задача мною решена или нет?
Arigato вне форума Ответить с цитированием
Старый 10.04.2010, 15:41   #7
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
а его хеш, то подобрать пароль невозможно, но тогда почему нет ниодной некрякнутой программы?
Так что, обязательно подбирать пароль, что бы обойти защиту? Защиту можно "обойти" именно обойдя ее, извините за каламбур, в упрощенном виде это можно изобразить так:

Код:
;сюда мы впишем jmp END_OF_PROTECT
START_OF_PROTECT:
;здесь ваша проверка пароля и/или иные методы защиты
END_OF_PROTECT:
Очевидно, что пример чересчур примитизирован, если бы все было так просто, то в защите программ не было бы смысла.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 10.04.2010 в 15:44.
ROD вне форума Ответить с цитированием
Старый 10.04.2010, 15:48   #8
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
Радость

Arigato, ну в какой-то мере решена, хотя я надеялся что кто-нибудь пароль узнает, что по вашим словам невозможно. Но всё-таки мою "защиту" вы обощли, а значит - да, задача решена

Кстати, какким образом вы мой экзешник подправили?

ROD, у меня упрашённый вариант, проверка пароля одной процедурой, а если бы она была реализована совсем подругому, со всякими заморочками которые изложены на сайте делфисорс, то найти END_OF_PROTECT: будет довольно сложно, имхо
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 10.04.2010, 15:56   #9
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
Кстати, какким образом вы мой экзешник подправили?
Скорее всего дезасамблирование->модификация->компляция.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 10.04.2010, 16:31   #10
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
Скорее всего дезасамблирование->модификация->компляция.
Скорее просто правка 1 байта в отладчике
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
"система поддержки принятия решений". Кто нибудь знает о ней? myshonok Свободное общение 31 21.12.2009 23:14
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Помогите пожайлуста найти, кто человек "вконтакте", зная его "мэйл" Аксюнька1990 Помощь студентам 1 12.06.2009 06:16