9 live by DuoMark SETUP
Оформил: DeeCo
Автор: http://www.cracklab.narod.ru
взят на диске "Хакер №10"
Вот попалась мне эта прога, которая автоматически следит за изменениями в
системных файлах и если эти изменения были зделаны несознательно и это,
недай бог, привело к каким-то проблемам, то эта программка восстанавливает
файлы так, что даже намёка на глюки не будет. Так вот, запустил я инсталяцию
(setup.exe) и увидел душераздирающую надпись: "Извините, но триал этого
сетапа истёк! сорри!". Ну ни хера себе, подумал я. Мало того, что сама прога
триальная, так ещё и установка её триальная. "Я увидел это всё и стал
подругам звонить..." Короче говоря, после недолгих раздумий я решил
установить таки прогу (судя по виду установки - прога не крепкая).
Первым делом я дизассемблировал прогу WDasm'om и начал искать сообщение об
ошибке в String Reference, но ничего дельного там не нашел :( Затем по
привычке открыл айс и ввёл такой вот бряк:
bpx GetLocalTime
и соответственно запустил прогу, послен нажатия ОК в первом окне, а как я
уже говорил, после этого нажатия выскакивает окно о конце триальности, и
выскочил в айсе, после чего нажал F11 (чтобы очутиться не в kernel32.dll,
а в setup.exe) и вот что увидел:
call [kernel32!GetLocalTime]
lea ecx, [esp+00]
push ecx
call [kernel32!GetSytemTime]
mov dx, [esp+0A]
....
....
Это всё не то, и до процедуры реальной проверки ещё нужно скролить и
скролить, поэтому нажимаем F10 до тех пор, пока не увидим это место:
add edx, ecx
cmp edx, -05 ; проверяем результаты проверок
jl 00401589 ; если они негативные - прыгаем
cmp edx, 5A ; опять проверим
jge 00401589 ; опять прыгнем туда же :)
cmp edx, 50 ; ещё проверка
jl 00401517 ; ещё прыжок.
Я сначала хотел убрать эти проверки, после чего у меня выскакивало таки то
окно, но при нажатии ОК, выскакивало другое, что триальная установка ещё
действует, но мне смотреть на эти галимые окна не захотелось и я начал
думать дальше. Потом я снова проделал шаги, описанные выше и обнаружил, что
чуть ниже последнего листинга (около 3 строчек вниз есть четрые подряд
call'a:
call 00405470 ;загрузка текста для первого message
...
...
call 00405670 ;вызов первого сообщения
...
...
call 00405470 ;загрузка текста для второго message
...
...
call 00405670 ;вызов второго сообщения
:0040152C mov bl,01
я подумал и придумал вот что: а если убрать все проверки, о которых я писал
выше, и вместо них зделать прыжок (jmp) сразу за вызовы сообщений об
окончании триальной установки и о его волшебном возобновлении :)
и правда, когда я заменил первую строку проверок (cmp edx, -05)
на (jmp 0040152C), то после этих изменений никаких сообщений не осталось
(кроме приветственного) и потом сразу же начиналась установка.
На таком простом примере я показал, как бороться с "триальными" Setup'aми
(хотя я чесно говоря с таким родом защиты столкнулся впервые, чтобы
триальную прогу да ещё и триальным сетапом :)
А для особо ленивых вот готовый крак:
----------вырезать тут--------
9live's SETUP CRACK by vallkor//PTDS(vallkor@chat.ru)
you can install it when you want!
setup.exe
000008EB: 83 EB
000008EC: FA 3F
000008ED: FB 90
----------вырезать тут--------
исследовал и наваял туториал:
vallkor //PTDS (vallkor@chat.ru)
{Комманда PTDS нуждается в новых членах! Если вы считаете, что способны
на многое и хотите поделиться своими знаниями и взамен получить новые
пишите мне}
|