Исследование Masker v2.3
Оформил: DeeCo
Автор: http://www.cracklab.narod.ru
Вот попалась ко мне в руки эта штуковина, которая может шифровать целые
директории средствами RSA. Да так, что больше никто этих папок, кому это
просто не положено, не увидит :)
Да вот досада: эта программа Триальная, срок триала всего 10 дней, ну чтож
будем ломать...
Инструменты:
1) Soft-Ice for Win
2) HexEditor (Hview/Qview)
Итак, при запуске программы мы обнаруживаем большое окно, которое не ловится
ни на CreateWindow, ни на ShowWindow, ни даже на EnableWindow. Наверное
программка написана на VB :) Так и есть, в дирректории программки красуется
файл Msvbvm50.dll
Ну чтож, соберите нервы вместе и поехали:
Скажу сразу, не для протокола, что я помучался с этой программкой довольно
долго, пытался даже найти и осмыслить процедуру проверки, но когда увидел
тонны VBшного кода, то содрагнулся и решил пойти другим путём:
Я пошёл влоб, т.е. ставим бряк:
bpx GetModuleFileNameA
это чтобы очутится где-то в начале программы, но не настолько чтобы очень :)
Запускаем прогу, почти тут-же вываливаемся в айсе, теперь наша задача выйти
(живыми) из всех DLL'ok, делается это просто: жмём F12 около 85 раз, пока не
окажемся в модуле MASKER.????, т.е. где-то тут:
:004308DE 3BC3 cmp eax, ebx
:004308E0 7D12 jge 004308F4
:004308E2 68A0000000 push 000000A0
:004308E7 68FC2D4100 push 00412DFC
:004308EC 57 push edi
:004308ED 50 push eax
теперь трассируем (F10) программку в поисках таких условных переходов
(jz/jnz), которые прыгали бы на длинные растояния, т.е. могли бы каким-то
образом перепрыгивать процедуру создания напоминающего окна и т.д.
Я нашёл первый такой переход вот тут:
:0043FAD5 85C0 test eax, eax <--Проверка
:0043FAD7 0F8446010000 je 0043FC23 <--Если ОК - прыгаем
:0043FADD C7458801000000 mov [ebp-78], 00000001
:0043FAE4 C7458002000000 mov [ebp-80], 00000002
как видите, этот условный переход ведёт далеко от текущего eip, здесь
меняем je 0043FC23 на jmp 0043FC23 и запускаем программу, но напоминающее
окно снова выскакивает, значит нужно найти ещё одну проверку, трассируем
дальше программу с того места, где заменили je на jmp и очень скоро мы
окажемся тут:
:0043FDA7 FF1598A24600 Call dword ptr [0046A298] <--вызываем какую-то проверку
:0043FDAD 6685DB test bx, bx <--если всё ОК
:0043FDB0 0F8412020000 je 0043FFC8 <--то НЕ прыгаем
:0043FDB6 6808224600 push 00462208
:0043FDBB 68FA000000 push 000000FA
здесь нам нужно заменить je 0043FFC8 на je 0043FDB6
Т.е. даже если мы и прыгнем, то на следующую строку :)
Теперь запускаем программу и видим, что окна напоминающего нет и всё пашет
как надо.
ВсЁ!
А для тех, у кого нифига не получилось, готовый крак:
------------вырещать тут----------
MASKER 2.3 crack by vallkor
All Checked :)
masker.exe
0003EED7: 0F E9
0003EED8: 84 47
0003EED9: 46 01
0003EEDA: 01 00
0003EEDC: 00 90
0003F1B0: 0F EB
0003F1B1: 84 04
0003F1B2: 12 90
0003F1B3: 02 90
0003F1B4: 00 90
0003F1B5: 00 90
------------вырещать тут----------
Исследовал и навая туториал:
vallkor //PTDS
e-mail: vallkor@chat.ru
Page: http://vallkor.chat.ru
|