Themida 1.0.0.5 Kernel Driver Analyse To IDA

Тема в разделе "WASM.RESEARCH", создана пользователем KernelKiller, 19 апр 2005.

  1. KernelKiller

    KernelKiller New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2005
    Сообщения:
    3
  2. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    использовалась слишком старая версия IDA,

    мне лениво патчить новую чтоб эту базу открыть,

    старую ставить тоже не хочется
     
  3. volodya

    volodya wasm.ru

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



    Update your IDA. This one is a little bit too old ;)
     
  4. Sergey_R

    Sergey_R Member

    Публикаций:
    0
    Регистрация:
    9 янв 2005
    Сообщения:
    138
    Проблема не столько в старой версии IDA, сколько в забанненом ключе. Судя по ключу, использовалась IDA 4.5.1 с ключом 'Michael Wolski'. Смена версии ничего не даст, все равно, чтобы прочитать базу, потребуется патч даже новой версии...
     
  5. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2002
    Сообщения:
    348
    Ну да, Ильфик регулярно вносит левые ключи в свою базу. IDA 4.80 говорит upgrading -> corrupted

    Нужно или вычистить из базы подпись, или патчить свою ИДУ.

    Может проще выкатить просто .asm ?
     
  6. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576




    Конечно, в этом никто и не сомневался, вот только

    патчить ида.влл влом







    Если сменить на такую же? :derisive: У меня правда нет именно такой



    ЗЫ: а для 9x драйвер темиды такой маленький, ну буквально

    несколько строк, не сравнить с nt'шным :)
     
  7. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Dr.Golova





    А что есть метода как это сделать?

    Может тогда можно получить по мылу эту ценную инфу?
     
  8. reverser

    reverser New Member

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


    Я так думаю нужно найди netnode с ключом и кильнуть. У меня была как-то идея написать плагин IDB explorer, но как-то не дошли руки.
     
  9. Sergey_R

    Sergey_R Member

    Публикаций:
    0
    Регистрация:
    9 янв 2005
    Сообщения:
    138
    reverser



    "Кильнуть" нельзя. В противном случае IDA при открытии базы не найдет нужного узла и закроется.
     
  10. KernelKiller

    KernelKiller New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2005
    Сообщения:
    3
    Сожалейте. I токовое издание IDA 4.5.
     
  11. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    Интересно, какие цели он преследует, засылая информацию по themida на "иностранный" форум. Тем не менее похвально... побольше б таких китайцев было. ;)



    2 KernelKiller Nice work !
     
  12. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    Может я и заблуждаюсь... но если пропатчить блэклист в IDA -- препятствие, то лучше эту idb и не смотреть (всё равно толку не будет).



    Ну а для просто ленивых...

    Распаковываете ida.wll (на нем aspack). Находите в нем функцию, возращающую информацию с ключ. файла. В ней такой фрагмент:
    Код (Text):
    1. .text:0128BE3D ok1:                                    ; CODE XREF: get_regis
    2. .text:0128BE3D                 push    7Fh             ; n
    3. .text:0128BE3F                 push    ebx             ; src
    4. .text:0128BE40                 push    esi             ; dest
    5. .text:0128BE41                 call    _memcpy
    6. .text:0128BE46                 add     esp, 0Ch
    7. .text:0128BE49                 mov     ebx, esi
    8. .text:0128BE4B                 mov     byte_130AEE8, 7
    9. .text:0128BE52                 mov     ida_641, 1
    10. .text:0128BE5C                 lea     eax, [ebx+14h]
    11. .text:0128BE5F                 call    search_in_blacklist
    12. .text:0128BE64                 test    al, al
    13. .text:0128BE66                 jz      short return_reginfo
    14. .text:0128BE68                 xor     eax, eax
    15. .text:0128BE6A                 jmp     short return


    Ну а в самой функции search_in_blacklist...
    Код (Text):
    1. compare_loop:               ; CODE XREF: search_in_blacklist+59j
    2.         push    10h     ; n
    3.         mov eax, ebx
    4.         shl eax, 4
    5.         add eax, offset black_list ; hashes (each 10h bytes)
    6.         push    eax     ; s2
    7.         lea edx, [ebp+dest]
    8.         push    edx     ; s1
    9.         call    _memcmp
    10.         add esp, 0Ch
    11.         test    eax, eax
    12.         jnz short next
    13.         mov al, 1
    14.         jmp short done
    15.  
    16.  
    17. next:                   ; CODE XREF: search_in_blacklist+4Fj
    18.         inc ebx
    19.         cmp ebx, 0Dh
    20.         jb  short compare_loop
    21.         xor eax, eax
    22.  
    23. done:                   ; CODE XREF: search_in_blacklist+53j
    24.         pop ebx
    25.         mov esp, ebp
    26.         pop ebp


    Можно пропатчить код или забить массив хэшей дерьмом.



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