· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Ultra ISO 7.0

. 1 . 2 . 3 . >>

Посл.отвђт Сообщенiе


Дата: Окт 14, 2004 22:59:10

Не могу разобраться с алгоритмом генерации серийного номера. Научите, кто сможет, пожалуйста.


Дата: Окт 15, 2004 00:52:52

Я тебе заранее развитие событий предскажу - не хуже пророка Хазыра. Никто тебе отвечать не станет. Ты покажи, что что-то делал, в чем-то ковырялся, чего-то достиг, распиши вопросы. Вот тогда, быть может, кто-то что-нибудь и ответит...


Дата: Окт 15, 2004 01:15:01 · Поправил: snatch

8 октября - релиз от ROR. ;)
Обратись к ним. А вдруг помогут... :))


Дата: Окт 15, 2004 21:32:58

volodya
сначала я просто убрал наг при запуске (использовал SoftIce 4.2.7) - во время работы программа выдавала ошибку. Дизассемблировать не смог (распаковал вручную, программа работает, но не дизассемблируется. Х/з почему W32dasm v.10 виснет). В реестре при вводе серийного номера (name: rs, s/n: 1111111111111111) создаются ключи:

[HKEY_CURRENT_USER\Software\EasyBoot Systems\UltraISO\5.0]
@="C:\\Program Files\\UltraISO"
"UserName"="rs"
"Registration"="8ce2aaffb1c28bc48ce2aaffb1c28bc4"

При новой загрузке программы из реестра считывается значение параметра "Registration" и происходит проверка сначала по порядку все нечётные символы, а потов все чётные. Если хоть один символ неверный - jmp на nag. Нахожу всё, забиваю в параметр "Registration" - непротык. Чё делать дальше, в какую сторону копать?

P.S. Во время трассировки программы периодически проскакивают ещё 2 набора символов по 8 и 16 штук подряд, может что-то в них.

snatch

ROR - как наити, у кого спросить?


Дата: Окт 15, 2004 22:15:58

распаковал вручную

У меня стоит 7.22. Никаких упаковщиков я там не примечал. Написана на борландовском С++.

В реестре при вводе серийного номера (name: rs, s/n: 1111111111111111) создаются ключи

Ага.
.text:004474D4 sub_4474D4
boolean __cdecl WritePassword(BYTE *lpData,char *s)
получает на вход имя пользователя и введенный пароль
пароль ксорится много раз в циклах вида:

.text:00447568                 mov     eax, [ebp+s_n_buffer]
.text:0044756B                 mov     edx, dword_58311C[eax*4]
.text:00447572                 mov     cl, [ebp+edx+buffer]
.text:00447576                 mov     eax, [ebp+s_n_buffer]
.text:00447579                 mov     dl, byte_58313C[eax]
.text:0044757F                 xor     cl, dl
.text:00447581                 mov     eax, [ebp+s_n_buffer]
.text:00447584                 mov     [ebp+eax+Data], cl
.text:0044758B                 inc     [ebp+s_n_buffer]
.text:0044758E                 mov     edx, [ebp+s_n_buffer]
.text:00447591                 cmp     edx, 8
.text:00447594                 jl      short loc_447568


Потом вся эта муть записывается в реестр.
Далее
.text:0044770C CheckPassword
int __cdecl CheckPassword(char *s,int)

пароль читается, кстати, во время записи и проверки пароля юзается GetVolumeInformationA и юзается параметр VolumeSerialNumber

пароль проверятся, декриптится и пишется в буферы и по ссылкам:

.text:004479B5                 mov     edx, [ebp+arg_4]
.text:004479B8                 mov     ecx, [ebp+var_C]
.text:004479BB                 mov     byte ptr [edx+ecx], 0
.text:004479BF                 push    [ebp+s]         ; src
.text:004479C2                 push    offset password_buffer2 ; dest
.text:004479C7                 call    _strcpy
.text:004479CC                 add     esp, 8
.text:004479CF                 push    [ebp+arg_4]     ; src
.text:004479D2                 push    offset password_buffer ; dest
.text:004479D7                 call    _strcpy
.text:004479DC                 add     esp, 8
.text:004479DF                 mov     eax, 1


Далее эти буферы проверяются, от пароля считается CRC16, дальше над этим всем еще как-нибудь издеваются и, пардон, мне надоело.

ROR - как наити, у кого спросить?

Гы-гы. Так они тебе и ответят.. На этом люди деньги делают. А ты на халяву (любимое русское слово) хочешь.


Дата: Окт 15, 2004 22:26:23

Вах, как прикольно! Только сейчас заметил. Ребята там решили свою криптографию реализовать. Юзается библиотека Ленстры - LIP - long integer package. Кажется, мне где-то попадалась ее сигнатурка... А в любом случае, полезно тебе будет сделать самому.
1) Компилишь пакет
2) На либу юзаешь FLIRT
3) Пихаешь в иду
4) Смотришь что к чему

Доки на LIP вот:
www.enseignement.polytechnique.fr/profs/ informatique/Philippe.Chassignet/97-98/BIGNUMS/lipdoc.ps

Слить пакет отсюда:
http://student.cs.ucc.ie/~kpr1/lip/lip_C.ZIP

И пиши как успехи. Мне самому немного интереснее стало.


Дата: Окт 15, 2004 22:45:29 · Поправил: volodya

А вот теперь я уже сам ни фига не понимаю. Скомпилил LIP, сделал сигнатурки, запихал в иду -> получил фигу. Причем, знаю на 100%, что там именно LIP юзается... Велик и непонятен сей факт есть... :(


Дата: Окт 15, 2004 22:55:23

volodya
Про упаковку: Peid 0.92 показывает - ASPack 2.12 -> Alexey Solodovnikov.
Про [b]халяву[b]: не хочу, т.к. цель - разобраться самому, точные ответы не нужны, только направление в нужную сторону (по другому не научишься).
Про [b]иду[b]: опыта работы с ней мало, с удовольствием разберусь, но нужен подробный мануал (ссылка, желательно на русском, но не принципиально), а то я на самом деле знаю мало, больше интуиция и догадки.
Про [b]пиши[b]: дай свой адрес

А за ссылки - ОГРОМНОЕ СПАСИБО!


Дата: Окт 15, 2004 22:58:58

Peid 0.92 показывает - ASPack 2.12 -> Alexey Solodovnikov

Какая у тебя версия?

не хочу, т.к. цель - разобраться самому, точные ответы не нужны, только направление в нужную сторону (по другому не научишься).


Предполагаю использование каких-то мат. операций из пакета LIP :)

опыта работы с ней мало, с удовольствием разберусь, но нужен подробный мануал

kpnc.opennet.ru - и читай, пока не позеленеешь
xtin.org - тоже самое

дай свой адрес

Ты сюда пиши. Некогда мне переписку вести.


Дата: Окт 15, 2004 23:06:54

в дополнение: у меня такое ощущение, что в программе происходит проверка на обнаружение отладчика или в этом духе, а далее генерация s/n по ложному пути. В конечном итоге, проверка на серийный номер есть, но и он не верный. Есть мысль поискать в этом направлении.
Версия UltraISO 7.0.0.719.


Дата: Окт 15, 2004 23:17:18

Ну что ж. Ищи. Я рассказал, как искал бы я. Не устраивает - есть много путей :)


Дата: Окт 15, 2004 23:58:57

На самом деле попробую все пути, некоторые по нескольку раз, пока не разберусь до конца. Просто я думаю, что помощь более опытного человека - хорошо, но если ещё есть и свои мысли, то это тоже не плохо.
Что-нибудь наковыряю - обязательно напишу.
P.S. Насчёт Peid 0.92 показывает - ASPack 2.12 -> Alexey Solodovnikov, это есть правда.


Дата: Окт 16, 2004 00:00:43 · Поправил: volodya

Аспак распаковывается с пол-пинка. Методика тут:

http://wasm.ru/article.php?article=packers2


Дата: Окт 16, 2004 01:53:21

А что это хорошая прога? Что умеет?
Я как-то юзал WinISO и то только для того чтоб выдрать Acronis'овский boot сектор с CD диска =)


Дата: Окт 16, 2004 03:08:54

Гы-гы. Так они тебе и ответят.. На этом люди деньги делают. А ты на халяву (любимое русское слово) хочешь.

Хехе... Ну деньги - это вторичное... И вопрос ещё - делают ли они это именно ради денег... Это же 0dayz группа, а там деньги обычно делают либо левые группы, либо хреновы админы...

. 1 . 2 . 3 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.081