рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Полезные советы по криптографии

Полезные советы по криптографии - раздел Программирование, Защита Программ От Копирования.алексей! С Удовольствием Читаю Ваши Странички ...

Защита программ от копирования.Алексей! С удовольствием читаю ваши странички о криптографии и не смогудержаться чтобы не рассказать еще ободном достаточно эффективном способепрограмм от копирования . Сам я пишу программы на Fox и использую этот методсущность которого привожу ниже. Как обычно выглядит запароленная программа? Ее воруют, запускают, и онагордо так спрашивает Пароль Ей отвечают НА ГОРШКЕ СИДИТ КОРОЛЬ joke или что-то в этом роде Программа говорить Password неверен,работать не буду. Зовут хакера.

Говорят, врага видишь. Вижу отвечает. Давай,борись. Хакер достает из кобуры дебагер 38 калибра, и справляется с поставленойзадачей. У меня точно также, только программа после ухода хакера начинает глючить сострашной силой. То процент начисления не тот поставит, то директора поставитзавхозом, а секретарше зарплату начислит повыше директорской и т.д. Причем всеизредка и случайно. Зовут опять хакера, говорят ему - ты программу плоховскрыл.Хакер смотрит еще раз, нет говорит, все нормально.

А она глючит у насговорят ему. А что он им может ответить, прямого образа врага перед ним нет, неможет же он гнать всю программу под отдадкой, он же не программист, он хакер.Если я имея исходники отлаживал прогу полгода, то ему в бинарных кодах сколькопотребуется? А суть метода как ты догадывешся очень проста В одной из менюшек программы,с виду такой-же как и все остальные вводишь пароль, и если он неверен топользуясь генератором случайных чисел выполняешь неверные команды обычно яиспользую свои глюки из ранних версий программ . Работает такая штука у менянесколько лет уже, и достаточно эффективно. То есть сущность идеи заключается втом чтобы не было видно защищена программа или нет. Мне кажется что такимспособом можно криптовать даже тексты, но как, пока до конца не додумал,хотя идеи есть.С уважением, Александр Козлов, программер.Регистрация основанная на серийных ключах.Уважаемый Алексей, посмотрел Вашу страничку о защите программ довольнонеплохо, но у меня есть некоторые замечания.

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

В большинстве случаев достаточно просто поставить breakpoint нафункцию lstrcmp и все дела Упаковка программы,анти-дебаггерные и анти-дизассемблерные примочки помогают слабо.Очень рекомендую заглянуть на http fravia.org там много чего по этому поводу написано.А вот первый метод может быть реализован достаточно неплохо.

Хранить правильные ключи в программе совсем не обязательно можноподчинить их некоторым правилам что-то подобное делает Microsoftсо своими CD-keys, но у них все слишком просто. Алгоритм проверки может бытьдлинным и запутанным, так что его дизассемблирование и разборка ,что же он делает причинит немало головной боли. Именно первый метод я иприменил для защиты своей программы Advanced Disk Catalog старые версии , но и он был сломан хотя, как мне написал ломавшийего хакер, подборка всего двух правильных ключей отняла у него много времени .Тогда мне в голову пришла идея а что, если ключи хранить внутри программы, нозашифрованными? Я сгенерил некоторое количество ключей абсолютнослучайным образом , зашифровал их по отдельности 128-битным ключом поалгоритму RSA и прошил в программу в виде ресурса.

Когда пользователь вводитключ, он шифруется по тому же алгоритму и сравнивается с правильными.

Так каксистема с открытым ключом не позволяет произвести обратное преобразование,базируясь только на открытом ключе а закрытого нет даже у меня -расшифровывать-то не надо , то подобрать ключи невозможно даже теоретически.Есть, впрочем, еще одна проблема хакер или крэкер , еслиугодно может заменить je на jne или что-то в этом роде там, гдепроисходит последняя проверка, и функция IsValidKey будет всегда возвращать TRUE. Останется лишь написать маленький patch Чтобызащититься и от этого, я вычисляю CRC своего exe-файла и сравниваю его справильный, прошитым тоже внутри программы естественно, при вычислении этачасть файла где лежит правильный CRC исключается а прошивается он после компиляции . Кстати, это еще и защита отвирусов.

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

Кроме того, не стоит вслучае несовпадения CRC сразу об этом сообщать, иниче можно будет поставитьhardware breakpoint и найти место, где он вычисляется. И последнее. Если хочетсязащитить программы совсем уж круто , томожно несколько функций всвоей программе те, которые должны вызываться только в зарегистрированнойверсии , зашифровать по тому же алгоритму с открытым ключом.При этом,естественно, часть серийного номера отсылаемого зарегистрировавшимся надосделать статическим , т.е. неизменным для всех пользователей.

Наоснове этой части после регистрации генерируется полный закрытый ключ, которыйдалее используется для расшифровки указанных функций.Таким образом, даже еслибудет написан patch, позволяющий зарегистрироваться с любым произвольным кодом, расшифровка пройдет неправильно, и вместо нормальногокода будет выполняться мусор .Этот способ я применил в другой своей программе Advanced ZIPPassword Recovery , и ее пока не вскрыли. Всего наилучшего, Vladimir KatalovКак написать свой собственный регистратор.

Существует 2 типа написаниярегистратора программы Первый - это так называемые серийные ключи. Они встраиваются впрограмму и совершенно не зависят ни от введенного имени владельца, ни отвведенной организации.Его не желательно использовать по Интернету, т.к. авторуShareware программы необходимо поместить несколько серийных номеров, которыемогут быть просмотрены в exe-шнике и затем легко распостроняться через все тотже Интернет.Второй - это создание своего алгоритма регистрации,зависящего от введенного имени владельца и организации . Вот на нем мыподробно и остановимся.

Такой тип регистрации применяется во многих Sharewareпрограммах, например WinZIP, CutFTP и т.д. Для его написания необходимоиспользовать один и тот же алгоритм дважды вначале в самой программе дляпроверки правильности введенного кода, и в программе генерирования ключей,посредством которой Вы, получив предварительно имя регистрируемого, создаетерегистрационный ключ. Исходник написан на Delphi 2.0В поле NameEd типа TEditвводится имя зависит от регистров букв , а в поле PasswEd тоже типа TEditпоявляется регистрационный ключ. Изменив глобальную константу RegCode можнополучить совсем другой ключ для одного и того же вводимого имени.

Смысл этогоалгоритма в том, что вначале с первым элементом Reg который приравниваетсяRegCod у делается побитовая операция XOR со всеми элементами стринга имени иXOR с длинной этого стринга, затем в цикле XORится текущий элемент спредыдущим, а потом весь полученный массив переводится в 16-разрядную системусчисления и записывается в результирующий стринг PasswEd.Text. const RegCode array 1 5 of integer 3В, 1E, FB, A1, 92 Введите сюда своисобственные значения procedure TMainForm.NameEdChange Sender TObject var Reg array 1 5 of integer z integer Перевод в шестнадцатиричную систему procedure HEXCase HexNm integer begin case HexNm of 0 9 PasswEd.Text PasswEd.Text IntToStr HexNm 10 PasswEd.Text PasswEd.Text a 11 PasswEd.Text PasswEd.Text b 12 PasswEd.Text PasswEd.Text c 13 PasswEd.Text PasswEd.Text d 14 PasswEd. Text PasswEd.Text e 15 PasswEd.Text PasswEd.Text f end end begin Main Приравниваем RegCode Reg For z 1 to 5 do Reg z RegCode z XORим первый элемент Reg 1 Reg 1 XOR Length NameEd.Text XORим его опять со всем Nam ом For z 1 to Length NameEd.Text do XORим его снова с длиной Nam a Reg 1 Reg 1 XOR Ord NameEd.Text z XORим предыдущий с текущим For z 2 to 5 do Reg z Reg z XOR Reg z-1 PasswEd.Clear Переводим Reg в HEX стринг For z 1 to 5 do begin HexCase Reg z div 16 HexCase Reg z mod 16 end end main Если Вы хотите получать за свою Shareware программу деньги, то можете воспользоваться услугами предлагаемыми российской компанией StrongSoftware.

– Конец работы –

Используемые теги: Полезные, советы, криптографии0.059

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Полезные советы по криптографии

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

На заседании Методического совета, Председатель Методического совета, первый проректор СЕМЕЙНОЕ ПРАВО
высшего профессионального образования... Омская юридическая академия... ОДОБРЕНО на заседании кафедры протокол от г Зав кафедрой...

метатрейдер 4. Полезные советы
А действительно, так ли нужны вам эти «Вилы Эндрюса», зигзаги, треугольники, тестеры стратегий и пр. По-моему на первых порах они будут только… Облегчает его визуализацию 8. Авто прокрутка. Даже если вы перейдете на… Показывает направление движения цены. 13. Фибоначчи. Процентные соотношения откатов и коррекции 14. Значки. Можно…

Фишер Марк. ГЛАВА 1, в которой молодой человек приходит за советом к богатому родственнику ЖИЛ да был однажды талантливый молодой человек, которому ужасно
В ТОТ ЖЕ день наш герой отправился в городок где проживал Моментальный Миллионер Интересно думал он в дороге согласится ли миллионер принять... ГЛАВА в которой молодой человек учится рисковать и пользоваться... Ну вот а теперь скажите сколько вы хотели бы заплатить за секрет богатства Вопрос Моментального Миллионера застал...

Полезная книга для подростков
Не позволяйте ревности превратить вас в слепого и покорного раба... Берегите ваши чувства и отношения Ведь так не просто в жизни встретить...

101 мудрый совет неженатым и незамужним
Посвящение... Эта книга посвящается неженатым и незамужним христианам всего мира а также моему возлюбленному сыну Сэмюэлу...

Реферат Геологии и разведки месторождений полезных ископаемых
Федеральное агентство по образованию Российской Федерации... Государственное образовательное учреждение...

Книга может быть интересна и полезна также воспитателям и учителям-дефектологам
КНИГА СКАНИРОВАНА ПОЛНОСТЬЮ... В учебнике написанном в соответствии с Государственным образовательным стандартом курса Основы артпедагогики и...

Геология-строении земной коры и размещённых в ней полезных ископаемых
Геология строении земной коры и размещнных в ней полезных ископаемых... Земля третья от Солнца планета Солнечной системы Форма Земли геоид близка к сплюснутому эллипсоиду Средний диаметр планеты примерно равен...

Научно-методического совета, КОНСПЕКТ ЛЕКЦИЙ ДисциплинаСтатистика для всех экономических специальностей
Федеральное государственное бюджетное образовательное учреждение... Высшего профессионального образования... РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТУРИЗМА И СЕРВИСА...

Решением президиума Совета
вопрос Одобрен... решением президиума Совета... при Президенте Российской Федерации по противодействию коррупции...

0.032
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам