скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Crazy Cow очень простой взлом


Автор: Fess

Российские хакеры взломали бортовой компьютер российского истребителя СУ-27. Теперь боекомплект самолёта пополняется автоматически и у летчика есть шанс выйти на следующий уровень.

Target: Crazy Cow

Tools:

  • Немного мозгов
  • Win32Dasm 8.93
  • Hex-редактор

Пролог

Вступление:

Побудила к взлому слезная прозьба моего друга Satan'a. Мол, чертов скринсавер перестал работать, помоги. Ну что ж не помочь, делать было не- чего и я взялся!

Что за прога:

Скринсавер бешеная корова. Минимальные системные требования: 486-60МГц, 8 Мб оперативки, Win9x.

Предупреждение:

Люди уже умеющие ломать: не читайте этот тьюториал, он предназначен для начинающих.

Начало

Первое, что стоит отметить везде написано, что это фривара и никакой регистрации не нужно?!!! А почему тогда пишет срок вышел? Инфы, что это бета-версия я тоже не нашел. Дизассемблируем файл Crazy Cow. scr и прис- тупим.

Взлом

Ищем в секции строк строку с надписью типа "expired", нашлась. Взлом обещает быть легким.

Смотрим этот участок кода


* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00407343(C)
|
:004073DB 8B0D28F94000 mov ecx, dword ptr [0040F928]
:004073E1 83E101       and ecx, 00000001
:004073E4 85C9         test ecx, ecx
:004073E6 0F84B3000000 je 0040749F
...
:00407457 8945EC       mov dword ptr [ebp-14], eax
:0040745A 6A1D         push 0000001D

* Possible StringData Ref from Data Obj ->"Your screensaver has expired."
                        |
:0040745C 6870F94000   push 0040F970

Здесь видно, что все зависит от значения в 40F928. Посмотрим, где при- сваивают значение этой переменной. Для этого перемещаемся к началу текста, заходим в поиск и набираем 40F928 и вываливаемся здесь.


:004072AA 56             push esi
:004072AB E8B0EEFFFF     call 00406160
:004072B0 85C0           test eax, eax
:004072B2 0F85FD010000   jne 004074B5
:004072B8 833D3005410000 cmp dword ptr [00410530], 00000000
:004072BF 0F85F0010000   jne 004074B5
:004072C5 A128F94000     mov eax, dword ptr [0040F928]
:004072CA 83C001         add eax, 00000001
:004072CD A328F94000     mov dword ptr [0040F928], eax

Так, так, так меня интересует процедура по адресу 406160, ведь если в eax возвращается один, то процедура не выполняется. Заходим в процедуру


* Referenced by a CALL at Addresses:
|:0040646E   , :004066A9   , :004069E9   , :00406EBB   , :00406FF7
|:004072AB   , :00407782
|
:00406160 55             push ebp
:00406161 8BEC           mov ebp, esp
:00406163 833D90F8400000 cmp dword ptr [0040F890], 00000000
:0040616A 7419           je 00406185
:0040616C E8A3210000     call 00408314
:00406171 F7D8           neg eax
:00406173 1BC0           sbb eax, eax
:00406175 40             inc eax
:00406176 A3BC034100     mov dword ptr [004103BC], eax
:0040617B C70590F8400000000000  mov dword ptr [0040F890], 00000000

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040616A(C)
|
:00406185 A1BC034100     mov eax, dword ptr [004103BC]
:0040618A 5D             pop ebp
:0040618B C3             ret

Эта процедура вызывается из многих мест, возможно, что она основная, здесь и будем править. Выделенный переход, едиственное что может помешать, чтобы в eax была 1. Значит надо переход убрать или перенаправить, я пред- почел второе. Перенаправляем переход на 406171. Для этого высчитываем, что должно стоять вместо 19h, смотрите у процедуры длинна байт = 5, а эта строка сразу после процедуры. Значит вместо 19h будет 05h. Заходим в файл и исправляем по адресу 616B 19h на 05h. Все.

Послесловие

Товарищи программисты. Я так и не понял смысл этого временного огра- ничения, если кто знает прошу сообщить.

Господа начинающие крэкеры. Это программа проста для взлома, так что можете смело на ней тренироваться.

Все ругательства отправлять в null
Все остальное на lomovskih@yandex.ru

P.S. Запомните все материалы публикуются только в учебных целях и автор за их использование ответственности не несет!!

P.P.S. Возможно имеют место опечатки, заранее извините!

With best wishes Fess

И да пребудет с вами великий дух bad-сектора.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook