Puzzle for Crackers

Oct 06, 2010 21:30


Другие записи: Любимой | Warnning, scrubwoman! | Временная запись для определения стиля (3a7594f7-8766-49f9-9361-5211af773b88 - 3bfe001a-32de-4114-a6 | Люблю я себя такую,хотя тема совсем не обо мне...

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

И так открываем файл в простом текстовом редакторе. Сначало можно открыть в блокноте, но нужен будет hex редактор(можно этот).
Видите в начале файле строчку или две буквы "MZ"? Это идентификатор исполняемого файла, который указывает загрузчику исполнительных файлов, что нужно продолжить поиск в файле наличия других заголовочных данных(не относящихся к данному топику). А если поменять местами буквы, заменить "MZ" на "ZM".
Запустите через командную строчку и посмотрите что получиться.

Если заменить на "ZM" , то управление передаться на досовскую заглушку. Так вот если открыть файл в hex редакторе, то можно увидеть что, куда передается и от куда берется.
Задача состоит в том, что бы заставить программу выводить любую строчку 2, 3, 4, 5 .., Н раз на экран. Используя только hex редактор, при этом не следует использовать ассемблер или другие средства, кроме простого hex редактора.

И главное не забыть, что поменяв назад на "MZ" старая программа запустилась.

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


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

И так вот  дамп файла до модификации:




1я модификация:




1й запуск файла после модификации:



2я модификация. Замечаем вот такую строчку:



Можно спокойно предположить что начало строчки начинается с "The..", потому что при выводе не видно было "!" знака.
Сразу скажу загвозку, которую можно было решить не подготовленному ныряльщику. Знак "$" означает конец строки. Но тогда возникает вопрос, тогда зачем нам нужно еще лишние символы после слова "mode", которых 3 шт.  Так вот символ 0x0D означает возврат каретки, а 0x0A переход на новую строчку. Теперь можно править файл.

3я модификация:



2й запуск файла после модификаций:




Выводит 19раз привет:


Выводит 24раза привет:


Выводит 58 раза привет:


Напоминаю, что использовал все те символы которые доступны в программе. Т.е. никуда не лез в документацию и не смотрел опкоды. Хотя в данном примере до 2-3х опкодов я догадался.

досовскую, продолжить, догадался, установка

Previous post Next post
Up