Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизКак сделать так, чтобы мою программу не взломали? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.035 c