avva: (Default)
[personal profile] avva
Придумал сюжет для криптофантастического романа или повести. Точнее, не сюжет даже, а завязку.

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


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

Но что-то продолжает его беспокоить, почему-то он всё время возвращается мысленно к коду этой функции. Что-то там было знакомое, хоть даже и в ассемблере... В конце концов через пару дней он открывает опять пропущенный через дизассемблер код программы, находит эту функцию, читает внимательно, тщательно выписывает, что она делает с серийным номером, мучительно пытается вспомнить, где он это видел. Наконец срывается с места, прыгает к книжной полке, хватает изрядно потрёпанное второе издание Applied Cryptography и быстро находит в нём обсуждение MD5. Да, не может быть никаких сомнений! Загадочная функция проверки серийного номера попросту пропускает его через MD5, и сравнивает после этого с фиксированным 128-битным числом. Более того, числом этим оказывается 0x0123456789ABCDEFFEDCBA9876543210 . Герой откладывает книгу в сторону и надолго задумывается, облокотившись на клавиатуру и уставив невидящий взгляд в горящие на мониторе строки ассемблерных команд, составляющих функцию проверки серийного номера...

Date: 2003-11-23 01:01 pm (UTC)
From: [identity profile] dimrub.livejournal.com
Я, скажем, в последний раз занимался взломом software-защиты много лет назад, но могу себе представить, что как-нибудь вернусь к этому разок-другой просто ради прикола.

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

Date: 2003-11-24 08:04 am (UTC)
ext_454496: (Default)
From: [identity profile] alexcohn.livejournal.com
дай ссылку, please

Date: 2003-11-24 12:37 pm (UTC)
From: [identity profile] dimrub.livejournal.com
http://hackergames.net

Здесь их очень много. Лично я рекоммендую:

1. Ma's Reversing http://3564020356.org/ (ОЧЕНЬ крутой сайт. Головоломки в основном на темы крипто и стегано, некоторые безумно сложные, и довольно познавательные).

2. Mod-X http://www.mod-x.co.uk/ Очень нетривиально. Сейчас уже 9 уровней, когда я проходил было 8, 6-й - самый сложный.

3. HackQuest http://www.hackquest.com очень много очень разнообразных задачек (правда, не слишком сложных). Довольно много на dysassembly.

4. Electrica http://www.caesum.com/game/ - тоже отличный сайт. Очень много совсем нетривиальных dysassemblies, включая простенькие packers.

Проблема с тем, что вот эти 4 -основные сайты, после них все остальное будет уже повторением.

Date: 2003-11-24 01:18 pm (UTC)
From: [identity profile] robinbobin.livejournal.com
ya kogda prikolnyj CrakMe napisal... pod Win32.. vrode nikto ne otlomal :)

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
2829 30 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 1st, 2026 09:23 pm
Powered by Dreamwidth Studios