Ultra ISO 7.0

Тема в разделе "WASM.RESEARCH", создана пользователем rs_ir, 14 окт 2004.

  1. rs_ir

    rs_ir New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2004
    Сообщения:
    30
    Адрес:
    Russia
    Не могу разобраться с алгоритмом генерации серийного номера. Научите, кто сможет, пожалуйста.
     
  2. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Я тебе заранее развитие событий предскажу - не хуже пророка Хазыра. Никто тебе отвечать не станет. Ты покажи, что что-то делал, в чем-то ковырялся, чего-то достиг, распиши вопросы. Вот тогда, быть может, кто-то что-нибудь и ответит...
     
  3. snatch

    snatch New Member

    Публикаций:
    0
    Регистрация:
    27 июл 2003
    Сообщения:
    27
    Адрес:
    Belarus
    8 октября - релиз от ROR. ;)

    Обратись к ним. А вдруг помогут... :))
     
  4. rs_ir

    rs_ir New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2004
    Сообщения:
    30
    Адрес:
    Russia
    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 - как наити, у кого спросить?
     
  5. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    распаковал вручную



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



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



    Ага.
    Код (Text):
    1.  
    2. .text:004474D4 sub_4474D4
    3. boolean __cdecl WritePassword(BYTE *lpData,char *s)
    4. получает на вход имя пользователя и введенный пароль
    5. пароль ксорится много раз в циклах вида:
    6.  
    7. .text:00447568                 mov     eax, [ebp+s_n_buffer]
    8. .text:0044756B                 mov     edx, dword_58311C[eax*4]
    9. .text:00447572                 mov     cl, [ebp+edx+buffer]
    10. .text:00447576                 mov     eax, [ebp+s_n_buffer]
    11. .text:00447579                 mov     dl, byte_58313C[eax]
    12. .text:0044757F                 xor     cl, dl
    13. .text:00447581                 mov     eax, [ebp+s_n_buffer]
    14. .text:00447584                 mov     [ebp+eax+Data], cl
    15. .text:0044758B                 inc     [ebp+s_n_buffer]
    16. .text:0044758E                 mov     edx, [ebp+s_n_buffer]
    17. .text:00447591                 cmp     edx, 8
    18. .text:00447594                 jl      short loc_447568
    19.  




    Потом вся эта муть записывается в реестр.

    Далее


    Код (Text):
    1.  
    2. .text:0044770C CheckPassword
    3. int __cdecl CheckPassword(char *s,int)
    4.  
    5. пароль читается, кстати, во время записи и проверки пароля юзается GetVolumeInformationA и юзается параметр VolumeSerialNumber
    6.  
    7. пароль проверятся, декриптится и пишется в буферы и по ссылкам:
    8.  
    9. .text:004479B5                 mov     edx, [ebp+arg_4]
    10. .text:004479B8                 mov     ecx, [ebp+var_C]
    11. .text:004479BB                 mov     byte ptr [edx+ecx], 0
    12. .text:004479BF                 push    [ebp+s]         ; src
    13. .text:004479C2                 push    offset password_buffer2 ; dest
    14. .text:004479C7                 call    _strcpy
    15. .text:004479CC                 add     esp, 8
    16. .text:004479CF                 push    [ebp+arg_4]     ; src
    17. .text:004479D2                 push    offset password_buffer ; dest
    18. .text:004479D7                 call    _strcpy
    19. .text:004479DC                 add     esp, 8
    20. .text:004479DF                 mov     eax, 1
    21.  




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



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



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

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Вах, как прикольно! Только сейчас заметил. Ребята там решили свою криптографию реализовать. Юзается библиотека Ленстры - 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



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

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    А вот теперь я уже сам ни фига не понимаю. Скомпилил LIP, сделал сигнатурки, запихал в иду -> получил фигу. Причем, знаю на 100%, что там именно LIP юзается... Велик и непонятен сей факт есть... :dntknw:
     
  8. rs_ir

    rs_ir New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2004
    Сообщения:
    30
    Адрес:
    Russia
    volodya

    Про упаковку: Peid 0.92 показывает - ASPack 2.12 -> Alexey Solodovnikov.

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

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

    Про пиши: дай свой адрес



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

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Peid 0.92 показывает - ASPack 2.12 -> Alexey Solodovnikov



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



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





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



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



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

    xtin.org - тоже самое



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



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

    rs_ir New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2004
    Сообщения:
    30
    Адрес:
    Russia
    в дополнение: у меня такое ощущение, что в программе происходит проверка на обнаружение отладчика или в этом духе, а далее генерация s/n по ложному пути. В конечном итоге, проверка на серийный номер есть, но и он не верный. Есть мысль поискать в этом направлении.

    Версия UltraISO 7.0.0.719.
     
  11. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Ну что ж. Ищи. Я рассказал, как искал бы я. Не устраивает - есть много путей :)
     
  12. rs_ir

    rs_ir New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2004
    Сообщения:
    30
    Адрес:
    Russia
    На самом деле попробую все пути, некоторые по нескольку раз, пока не разберусь до конца. Просто я думаю, что помощь более опытного человека - хорошо, но если ещё есть и свои мысли, то это тоже не плохо.

    Что-нибудь наковыряю - обязательно напишу.

    P.S. Насчёт Peid 0.92 показывает - ASPack 2.12 -> Alexey Solodovnikov, это есть правда.
     
  13. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
  14. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    А что это хорошая прога? Что умеет?

    Я как-то юзал WinISO и то только для того чтоб выдрать Acronis'овский boot сектор с CD диска =)
     
  15. snatch

    snatch New Member

    Публикаций:
    0
    Регистрация:
    27 июл 2003
    Сообщения:
    27
    Адрес:
    Belarus
    Гы-гы. Так они тебе и ответят.. На этом люди деньги делают. А ты на халяву (любимое русское слово) хочешь.



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

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Asterix



    Ultra ISO корректнее работает с boot-sector.

    WinISO на некоторых образах просто вываливается,

    после редактирования образа пропадает загрузка,

    а иногда и образ становится нерабочим



    volodya

    Версия 7.2 тоже упакована aspack. Она

    зарегистрирована на конкретное имя(у меня).

    7.22 возможно по другому ломали, да и

    для такой популярной программы возможны

    разные варез-варианты. А может вообще

    для экономии упаковали.
     
  17. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Ну скачал я этот релиз от ROR, там нужно подменить exe'шник чтоб их кейген работал, так что видимо не всё так просто :derisive:

    лучше юзать имеющиеся ключи, благо на просторах сети ещё водятся такие,

    кардить проще чем ломать :derisive:
     
  18. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    там нужно подменить exe'шник чтоб их кейген работал



    Подобная тема немного обсуждалась на reng.ru. Я думаю, что UISO юзает криптографию с открытым ключом (на базе LIP). Обычно файл падчат для того, чтобы поменять ключик. Я приведу цитату:



    "Классический пример: ключ основанный на критухе с открытым ключом, когда публичный ключ зашит в прогу, а секретный есть только в приватном кейгене у разработчиков. Такую прогу не закейгенишь в чистом виде, но подменив в теле программы публичный ключ на свой (для которого секретный ключ известен) можно с успехом делать ключи, которая прога не отличит от "настоящих". Замечу, что патчится не код программы (все проверки остаются нетронутыми), но ее данные."



    И тут также. Или потратить кучу времени, факторизуя число, находя квадратичный невычет или дискретный логарифм (или что у них там) или так, как предложил Relf. Снять Aspack, сделать падч + кейген.
     
  19. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    > Подобная тема немного обсуждалась на reng.ru.



    Да я это всё читал, и TheBat так когда-то патчили, но как сказал Dmit, что-то типа патч есть патч, т.е. патч+keygen ничем не отличается от патча, ибо этот публичный ключ можно защитить хитрой проверочкой и обнаружив подмену делать гадости в виде различных глюков в проге :derisive:
     
  20. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Верно, но, как сказал Рельф, иногда - падч - это единственное решение.