Только для образовательных целей! |
|
Автор: | bi0w0rM [AHTeam] |
Уровень: | Для начинающих |
Программа: |
Тип защиты: |
Инструменты: |
"В поисках новой жертвы..."
[ iNTR0 ] Привет усем крякерам мира! :) А в особенности тем, кто это читает сейчас и сумеет прочесть до конца, сделав соответствующие выводы. Сразу скажу, взлом не очень простой, так что познать взлом программ статья вас не научит. Возможно у вас в запасе несколько заломанных программ, а то и штук 10 или вААпще, сотнями у вас на винте кряки валяются :) Как бы то ни было, я начну... В свое время я читал почту АутГлюком. Смотрелся он ни чуть не хуже The Bat! по возможностям, если прикручен к нему FidoLook. Тут с темплейтами возможностей полно и т. д. и т. п.. Я считал, что люди юзаю Bat! из-за ненависти ко всему мастдайному. Так инетчики стараются заменить IE на Opera, Outlook Express на The Bat!. Мне было лениво менять. Но на Оперу пришлось все-таки перейти и оказалось, что Опера рулез, так же, как и The bat!. Причем база писем аутглюка разбухла мегов на 60. Можно было почистить пуржером, но такого там нет, а удалить все тоже боязно, письма важные есть. Вот поэтому я скачал The_Bat!. Не помню, с какого сайта, но помоему это был shareware.ru, частым посетителем которого я являюсь. Ну посмотрите на softodrom.ru, скорее всего эту версию я брал там, да именно там :)
[ PR0tECt ] О зашите можно сказать следующее. Я читал когда-то пресловутый туториал какого-то крякера из какой-то команды, там был способ убрать наг-окно. Я им воспользовался, но видно версия была видно новее и мне выскочил Access Violation :( То же самое писал и Dr. Golova. Где-то на расцвете ASProtect я читал, что The_Bat вообще им запакован. В общем жуть и неразбериха. Разобраться решил сам раз навсегда. Скачал я версию 2.00.6(защиту ее мы именно рассматриваем), посмотрел. Никакого пакера, никакого протектора, чистый делфи-код - копай не хочу. Копать как всегда поможет нам DeDe. Запихиваем прогу туда и жмем Process и ждем. Если у вас мощный комп, засуньте одновременно прогу во w32dasm, хуже не будет(вообще, так и надо). Главное при исследовании кода в DeDe не впадать в крайности. Не надо ползать далеко во всякие процедуры и т.д. Надо настроить себя, что все намного проще(Overlord не даст соврать!). Так я однажды запоролся с заказом, мог бы сейчас денег получить! ;)) Будем считать, что все сдампилось и код пред нами! Итак, млин... Нам при загрузке показывается наг-скрин. This program is provided for evaluation purposes only. Выбираем в DeDe: Procedures и в Unit Name столбце ищем fUnreg, это наговская форма. Смотрим события FormShow и FormCreate. Странно, ничего хорошего.. :( это объясняется тем, что наг окно не оно само вызывает, а кто-то другой. Ладно, забьем на это пока. Когда еще показывается наг-скрин? При Нажатии в меню Accaunt->New. Смотрим Unit MainForm(самая основная форма). Я нашел событие щелчка по это кнопке меню. Зовется mNewAccauntClick. Смотрим его.
===== Выдрано из DeDe ===== 00780F74 55 push ebp 00780F75 8BEC mov ebp, esp 00780F77 83C4F4 add esp, -$0C 00780F7A 8955F4 mov [ebp-$0C], edx 00780F7D 8945FC mov [ebp-$04], eax 00780F80 A148228600 mov eax, dword ptr [$00862248] 00780F85 803802 cmp byte ptr [eax], $02 00780F88 7469 jz 00780FF3 00780F8A A128298600 mov eax, dword ptr [$00862928] 00780F8F 80781700 cmp byte ptr [eax+$17], $00 00780F93 750C jnz 00780FA1 00780F95 8B45FC mov eax, [ebp-$04]
| 00780F98 E88B68EEFF call 00667828 00780F9D 84C0 test al, al 00780F9F 7552 jnz 00780FF3 00780FA1 33D2 xor edx, edx 00780FA3 8B45FC mov eax, [ebp-$04] ................... обрезан код ................... 00780FED E82EFFFFFF call 00780F20 00780FF2 59 pop ecx 00780FF3 8BE5 mov esp, ebp 00780FF5 5D pop ebp 00780FF6 C3 ret ===== DeDe ===== Итак, постараюсь угадать. jnz 00780FA1 просто прыгает через какую-то процедуру, а jz 00780FF3 вообще улетает куда-то нафик, вообще к ret. Можно предположить, что jnz 00780FA1 прыжок через процедуру вызова нага. Смотрим внизу Phyz address и попробуем в HIEW байт 74 по этому адресу сменить на EB(jmp то бишь). Ух ты, работает при нажатии на New->Accaunt. Одно дело сделано. Обратите внимание, как происходит код:
00780F8A A128298600 mov eax, dword ptr [$00862928] 00780F8F 80781700 cmp byte ptr [eax+$17], $00 00780F93 750C jnz 00780FA1 В EAX двигается значение некого 862928. Потом значение eax+17 сравнивается с 0, что решает, выполняться джампу или нет - быть или не быть! Но мы поставили безусловный JMP, значит быть всегда! ОК. Значит в 862928 хранится что-то веселое. Давайте запустим TRW2000(не SoftICE!). Поставим bpm 862928. Ух ты, при загрузке он читается много раз. Во время загрузки сделайте bd *. Когда Bat! запустился, делаем be * и заходим в About. Ага, значит и тут эта мура сравнивается, решил я, когда выскочил TRW. Там будет какой-то условный джамп, можно его обратить и посмотреть, что будет. Нас в About не дразнят нерегнутым юзером больше! Хотя тут надо еще попатчить что-то, но я в это не вникал. Итак, вернемся к нагу. В w32dasm делаем Find и прописываем call 00667828. Это процедура вызова нага, так мы решили интуитивно. Нашлось несколько мест вызова этой процедуры:
===== Выдрано из w32dasm ===== :00669091 80781700 cmp byte ptr [eax+17], 00 :00669095 750C jne 006690A3 << (1) :00669097 8B45FC mov eax, dword ptr [ebp-04] :0066909A E889E7FFFF call 00667828 << Вот он, вызов нага :0066909F 84C0 test al, al :006690A1 750B jne 006690AE
===== W32dasm =====
===== Выдрано из w32dasm ===== :00780F8F 80781700 cmp byte ptr [eax+17], 00 :00780F93 750C jne 00780FA1 << (2) :00780F95 8B45FC mov eax, dword ptr [ebp-04] :00780F98 E88B68EEFF call 00667828 << Вот он, вызов нага :00780F9D 84C0 test al, al :00780F9F 7552 jne 00780FF3
===== W32dasm =====
===== Выдрано из w32dasm ===== :00788848 751C jne 00788866 << (3) :0078884A 8B45FC mov eax, dword ptr [ebp-04] :0078884D E8D6EFEDFF call 00667828 << Вот он, вызов нага :00788852 84C0 test al, al :00788854 7410 jne 00788866 ===== W32dasm ===== У байтов, что я пометил цифрами, надо узнать их физ. адрес и сменить в HIEW с 75 на EB по этим адресам и усе! EB - безусловный переход, то есть в независимости от условия, переход будет выполняться и не даст выскочить нагу. Кстати, таких мест, как видите, три. А значит наг может вызываться: при загрузке, при нажатии Accaunt->New и еще где-то, я даже не знаю где :) Итак, все готово и можно полюбоваться проделанной работой. Что, съели тутор? Кто не проглотил, пробуйте еще. Если вдруг какой косяк, то мои координаты внизу. Спрашивайте - обсудим.
[ iNFO ] bi0w0rM[AHTeam] E-Mail : bioworm@mail.ru ICQ : 257390724 URL : bioworm.narod.ru
|