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

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

Ограничение числа запусков

Ограничение числа запусков - раздел Компьютеры, История хакерства Ограничение Числа Запусков Имеет Много Общего С Защитой По Времени С Момента ...

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

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

Постоянное изменение счетчика позволяет, сравнив протоколы разных запу­сков, найти различия, которых обычно бывает немного. Один из них и будет искомым счетчиком.

Заметим, что защита может использовать очень сложный н неочевидный формат. Продемонстрируем это на примере crack09. Найти пару созданных им счетчиков будет нетрудно. Но вот формат представления данных для нас будет загадкой. Кажется, что оба счетчика меняются произвольным образом, то увели­чиваясь, то уменьшаясь при каждой итерации. Нас даже берет сомнение: а счетчики ли это вообще? Может быть, какие-то другие служебные данные?

Выяснить истину нам поможет отладчик или дизассемблер. В сегменте данных найдем строку:

.data:00403050 aCountI db 'Countl',0 : DATAXREF: Jiain+CB

.data:00403050 ; _liaiin.l22o ...

Перекрестные ссылки помогут нам выяснить, какой код читает или устанав­ливает значение этого раздела реестра. Я не буду приводить здесь его целиком, отмечу только ключевой фрагмент:

.text:0040120F mov еах, [esp+5Ch+var_54] ; Count2

.text:00401213 mov edx, [esp+SCh+var 4C] , Count1

.text:00401217 xor eax,edx

Расшифровываем значение счетчика. Count 1 на самом деле ключ, а Count2 — зашифрованный счетчик. Такой прием позволит надежно скрыть защитный механизм от неквалифицированного пользователя, вооруженного редактором реестра.

.text '.00401219 dec eax

Уменьшаем значенне счетчика на единицу.

.text:00401220 test еах, eax

.text:0040122F jz short loc_0_401296

Очередной промах компилятора. На самом деле инструкция test еах,еах не нужна, так как флаг нуля устанавливается инструкцией dec еах. Как нетрудно догадаться, это и есть тот самый условный переход, который по истечении отведенных запусков приложения прекращает его работу. В качестве тренировки читателю рекомендуется самостоятельно модифицировать его так, чтобы програм­ма работала вечно. Разумеется, можно поступить иначе и удалить инструкцию dec. — кому как нравится.

.text:00401231 push О

.text: 00401233 call ds:time

.text :00401239 push еах

,text:0040123A call ds:sran

.text: 00401240 add esp, В

.text: 00401243 call ds:rand

Генерируем случайное число — меняем ключ шифрования после каждого запуска.

.text :00401249 mov edi, [esp+5Ch+var_54] ; Key

.text:0040124D mov ecx, [esp+5Ch+var_50} ; Real Count

.text:0040125B xor edi, еах

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

Res=4;

RegQueryValueEx (hKey, "Counti", 0, &TYPE, (LPBYTE) sCountI, Sres) ;

RegQueryValueEx (hKey, "Count2", 0, 6TYPE, tLPBYTE) &Count2, &res) ;

Count 2 = Count 2 ^ Count. 1;

Count2--;

printf ("Count %x n", Count 2) ;

if (!Count2) return 0;

srand(unsigned)time (NULL ) );

Counti = (unsigned) rand I ) ;

Count 2 = Count2 ^ Count1;

RegsetValueEx(hKey,"Counti",0,REG_DWORD,(CONST BYTE *) &Countl,4); RegSetVaLueEx(hKeу,"Count2"fO,REG_DWORD,(CONST BYTE *) SCount2,4);

Однако программисты в своем большинстве достаточно ленивы и заняты, чтобы активно использовать подобные приемы. Чаще всего счетчики записаны в реестре "AS IS" и легко могут быть изменены редактором реестра на любое другое значение, ограниченное совестью взломщика.

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

Использовать их могут только беспечные или низкоквалифицированные раз­работчики. Стойкость таких защит очень низка и никак не оправдывает возложен­ных на них надежд.

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

Эта тема принадлежит разделу:

История хакерства

На сайте allrefs.net читайте: "История хакерства"

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

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

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

Все темы данного раздела:

О чем эта книга
"... В моем уме не оставалось места для беспокой­ства об успехе или провале книги. Было лишь желание работать над ее созданием." Ф. Херберт. "Еретики Дюны". Эта

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

Лаборатория искусственного интеллекта в США и PDP-1
"Нет четкой грани между богами и людьми: одни переходят в других." Ф. Херберт. "Мессия Дюны". Персонал, обслуживавший правительственные компьютеры, отн

Си и UNIX
"Легкие мои вдыхают ветер времени. Дующий над мертвыми песками..." Ф. Херберт. "Дюна". В 1969 г. усилиями двух талантливых программистов была создана си

Конец хакеров шестидесятых
"Я не должна бояться. Страх убивает разум. Страх — малая смерть, которая приносит полное уничтожение. Я смотрю в лицо моему страху..." Ф. Херберт. "Дюна".

RSX-11M
"Подсмотреть будущее — значит украсть мисти­ческий огонь от священного костра." Ф. Херберт. "Дюна". В начале семидесятых еще никто не представлял себе,

Бытовой компьютер восьмидесятых
"Наверняка человеческий мозг, в котором особым способом развиты сверхспособности, делающие его живым компьютером, до сих пор находит применение." Ф. Херберт. "

Рождение современных хакеров, или снова INTEL
"...он был пропозойским творением, рождение и смерть которого по сути одновременны." Ф. Херберт. "Дети Дюны". Однажды руководство IBM предприняло попытк

Психологический анализ. Что движет хакером
"Инструменты управления государством всегда должны быть остро отточены и готовы к упот­реблению. Власть держится на страхе." Ф. Херберт. "Мессия Дюны".

Хеши. Односторонние функции
"Ночь — это туннель, — подумала она. — Это дыра в завтра, если только оно наступит, это завтра." Ф. Херберт. "Дюна". Вся современная криптография основа

F(Ai) —P--->Aj
Разумеется, только для одного-единственного р мы получим исходную после­довательность Aj, а для всех остальных р — "мусор". Каким способом можно удостовериться в том, что полученная Aj и

С—f---Z
Такая операция дает нам неограниченную гибкость. Элементами перечислен­ного множества могут быть литеры, группы литер, а также целые слова. Таким образом, предложенный алгоритм позволяет полностью

Простейшие системы шифрования
— Высказана мысль или нет, она существует и имеет свою власть,— сказал Туск. — Ты можешь обнаружить однажды, что грань между жизнью и смертью у Свободных, слишком тонка." Ф. Х

Открытые системы
Приведенные выше подходы по существу никакого отношения к криптографии не имеют, поскольку являются закрытыми. Т.е. система содержит в себе и шифротекст и пароль. Утаить пароль в таком случае прост

Как атаковать шифр
При атаке на шифр считается, что криптоалгоритм известен с точностью до реализации и требуется найти пароль. В качестве примера рассмотрим программу crackmeO.com (file://CD:SOURCEA5M_CCRACKmeOCrack

Первый шаг. От ЕХЕ до CRK
Бесспорно, среди существующих на сегодняшний день дизассемблеров луч­шим является IDA. Особенно идеально он подходит для взлома и изучения защищенных программ. Очевидно, что BreakOO не является так

E call j_??4CString@@QAEABVO@PBD[3Z
Обратим внимание на подчеркнутую строку. Насколько же с первого взгляда неочевидно, куда указывает указатель еах! Попутно замечу, что даже сегодня не каждый компилятор способен генерировать такой к

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

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

F:00401624 E805030000 call 0040192E
  Если мы попытаемся заглянуть в процедуру Ох040192Е, то вероятнее всего утонем в условных переходах и вложенных вызовах. Сложность и витиеватость кода наталкивают на мысль, что это б

Перехват WM_GETTEXT
Довольно часто разработчики защит читают содержимое окна, посылая ему сообщение WM_GETTEXT. Это ставит в тупик неопытных кракеров. Установка точек останова на GetWindowsText и GetDIgItemText ни к ч

Ограничение времени использования
Другим популярным ограничением DEMO-версий является ограниченное вре­мя использования. Бывают по крайней мере два вида ограничений. В первом отсчет времени идет от момента первого запуска, а во вто

C2 jnz loc_4011c0
Найти в листинге дизассемблера его можно двояко — среди перекрестных ссылок на RegCreateKeyExA: 0040200С RegCreateKeyExA dd ? или по ссылке на строку aSoftwareCrackO; 004

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