Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

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

 
Chaser ©   (2004-12-10 13:40) [0]

Здравствуйте!

Хотел прокунсультироваться на счет защиты программ от взлома: как сделать так, чтобы мою программу не взломали?
Где-то читал, что если использовать много безусловных переходов "go to" (в местах проверки пароля), то взломать программу просто не реально.
Сам лишь делаю примерно так: создаю строку типа

s:="doiyrewdhimnbvyxzwghlomu6se56cn8p09nu7yc56zw4ex4jlicgs4w5dnklu9klnmlfgx3q4awvu";
if Edit1.Text=s[19]+s[22]+s[1]+s[43]+s[51]+s[68]+s[68]+s[75]
then
 begin
  ... заходим в программу
 end;

Вопрос:
1). На сколько мой метод прост для взлома?
2). Какие еще существуют методы для затруднения взлома программы (типа проверки контрольной суммы и т.д.)?
3). Ваши мысли по поводу "go to".
4). Если можно ответы с прмерами кода, или высылайте на chaser@front.ru.

Заранее благодарен.


 
Reindeer Moss Eater ©   (2004-12-10 13:44) [1]

Никто не будет подбирать твои s[xx].
Все изменят один условный переход на безусловный.


 
Reindeer Moss Eater ©   (2004-12-10 13:48) [2]

Как сделать так, чтобы мою программу не взломали?

Никому не отдавать её


 
Zilog ©   (2004-12-10 13:49) [3]

пиши на ассемблере


 
Reindeer Moss Eater ©   (2004-12-10 13:52) [4]

Ассемблер-то здесь чем поможет?


 
Александр Иванов ©   (2004-12-10 13:53) [5]

Сотри программу, диск отформатируй, а компьютер утопи, тогда ее никто не взломает.


 
DiamondShark ©   (2004-12-10 13:53) [6]


> 1). На сколько мой метод прост для взлома?

Как два пальца.


> 3). Ваши мысли по поводу "go to".

А ты напиши, и посмотри полученный код.
Оптимизатор оставит от твоих goto рожки да ножки.
Нет, конечно, можешь писать на асме, но поверь, такое запутывание мало кого остановит.


 
Ega23 ©   (2004-12-10 13:54) [7]

Самое главное - написать такую программу, чтобы она была хоть кому-то нужна. Как показывает моя личная прктика, я заказчику даже исхолники оставлял. Потому, что всё равно другому человеку в чужих исходниках достаточно сложно разобраться. Легче самому написать.


 
Digitman ©   (2004-12-10 13:55) [8]


> 1). На сколько мой метод прост для взлома?


он просто примитивен. до безобразия примитивен.
бедняге-взломщику  придется аж целый байт изменить в твоем файле


 
Amoeba ©   (2004-12-10 13:59) [9]

Анектот про Неуловимого Джо помнишь?
А если серьезно, то чтай вот это:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=66


 
TUser ©   (2004-12-10 14:09) [10]


> Оптимизатор оставит от твоих goto рожки да ножки.

Можно отключить оптимизатор. Но, я сомневаюсь, что эти goto вообще на что-то влияют.

PS. Как показывает опыт крупных компаний, которые делают действительно хорошие и нужные программы, где работают программисты очень высокого уровня, где деньги на защиту найдутся обязательно и в большом количестве - защита от взлома это или глюк, или иллюзия. Ее невозможно сделать.


 
Amoeba ©   (2004-12-10 14:13) [11]

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


 
Anatoly Podgoretsky ©   (2004-12-10 14:35) [12]

А программе очень ценная для мирового сообшества?
Может наоборот надо деньги заплатить, тому кто ее будет использовать, ну или по крайней мере деньги за взлом.


 
Chaser ©   (2004-12-14 10:18) [13]

Вообщем понятно, что в итоге придеться копать самому...
Ну и на том спасибо.


 
Andrey V. ©   (2004-12-14 15:34) [14]


> Вообщем понятно, что в итоге придеться копать самому...
> Ну и на том спасибо.

Надо изменить формулировку вопроса.
Как ЗАТРУДНИТЬ взлом , например.
По сети гуляет статья Зайцева Олега "Защита программ от взлома"
Если не найдешь вот ее краткая выжимка:
Совет _0. Старайтесь как можно меньше применять стандартные функции (особенно API-шные) и компоненты VCL. Так что Assembler, Assembler и еще раз Assembler ...
Совет _1. Применяйте нестандартный способ ввода пароля
Совет _2. Не храните введенный код в одном месте !
Совет _3. Не храните введенный код открытым текстом !
Совет _4. Ни в коем случае не анализируйте код сразу после его ввода.
Совет _5. Не проверяйте код только в одном месте и не пишите для проверки функцию.
Совет _6. Не проверяйте пароль одним алгоритмом.
Совет _7. Ни в коем случае не предпринимайте никаких действий после проверки.
Совет _8. Отвлекающие маневры.
Совет _9. Не храните результатов проверки в переменной и не используйте ее для явного ограничения функций незарегистрированной программы.
Совет _10. (вытекает из 9) Не храните результатов проверки на диске или в реестре.
Совет 13. Не определяйте дату и время стандартными способом !!
Совет 14.Не стоит хранить что-либо секретное в файлах или реестре.
Совет 15.Не храните ничего важного открытым текстом, особенно сообщения типа "Это незарегистрированная версия ...", "Введенный пароль не верен ...".


 
Erazzser   (2004-12-14 17:48) [15]

Используй упаковщика типа ASPack (сейчас уже ASProtect) их довольно много. От 90% крякеров тебя это спасёт, а остальные всёравно взломают ;))) (советую ASPack- к нему и кряк есть и использовать легко, правда и ломается не сложно, но на счёт этого я уже говорил ;)))


 
maxz ©   (2004-12-14 18:22) [16]

Надежность системы определяется надежностью самого слабого звена. Я недавно разговаривал с одним своим другом (сам он почти профессиональный крякер) насчет того, как мне лучше защитить свою прогу, которую он до этого уже успел благополучно поломать. Я для этой проги писал проверку CRC, и еще половину того, что наговорил Andrey V. ©   (14.12.04 15:34) [14]. Так этот знакомый сказал, что для того, чтобы поломать мою прогу, нужно было сменить всего пару байт. Сам он описал процесс так - где-то что-то с чем-то сверяется и от этого летит вся остальная защита...причем сам он даже не знает, где это :) А скрыть проверку значений нельзя.
На мой взгляд лучше программу распространять в демо версиях. Полные версии, конечно, тоже разойдутся по сети, но, как показывает практика, их найти труднее, чем найти кряк для триал версии.

Erazzser   (14.12.04 17:48) [15]
//к нему и кряк есть
ну раз есть кряк к ASPack (наверняка упакованную и круто защищенную), то чего уж говорить про наши проги


 
alekc   (2004-12-14 19:14) [17]

ИМХО, один из самых простых вариантов: если в программе используются какие-либо константы (типизированные), то просто в дополнение к проверке пароля IF"ом переxorь их (константы) с символами пароля. Если в таком случае кто просто тупо изменит команду перехода, то как грится - сам виноват... Только пароль не храни в открытом виде.


 
TUser ©   (2004-12-14 20:53) [18]


> alekc   (14.12.04 19:14) [17]

Как только взломщик это просечет - он расшифрует пароль, используя правильные и зашифрованные константы.


 
TUser ©   (2004-12-14 20:54) [19]

Знаю одну программу, которую принцыпиаально нельзя было взломать. Она рулила девайсом - через свою специальную плату.


 
alekc   (2004-12-14 21:21) [20]


> > alekc   (14.12.04 19:14) [17]
>
> Как только взломщик это просечет - он расшифрует пароль,
> используя правильные и зашифрованные константы.

Можно их xorить не паролем, а его хешем, причём только частью - пусть подбирает... :) Потом, чтобы получить правильные константы их сначала надо раскодировать при помощи пароля...
И вообще - это всё уже детали. Главное идея =)


 
TTWW_Ant ©   (2004-12-15 00:37) [21]

Я засовывал мусор в прогу )))



Страницы: 1 вся ветка

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.031 c
4-1100011302
Arnold
2004-11-09 17:41
2004.12.26
Изменение теста потомка TEdit


14-1102352897
Cheater
2004-12-06 20:08
2004.12.26
Как засекретить пароль?


1-1102143951
Viktop
2004-12-04 10:05
2004.12.26
Перемещение с PageControl на Frame2


14-1102357929
SteelMan
2004-12-06 21:32
2004.12.26
Корень n-й степени и среднее геометрическое на Паскале


1-1102912976
Владимир С.
2004-12-13 07:42
2004.12.26
Как изменить текстовой файл?