Бест Звит Плюс(Украина) не могу очистить от мусора

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

  1. kamal

    kamal New Member

    Публикаций:
    0
    Регистрация:
    8 май 2005
    Сообщения:
    4
    Есть такая прога Бест Звит Плюс. Скачать можно с ftp://ftp.bestzvit.com.ua/ (около 30 метров)

    К ней часто выходят обновления и в последнем разработчики извратились с защитой.

    Во-первых, не смог запустить отладку.

    Видит и IceExt и патченный Olly.

    Во-вторых, в некоторых процедурах куча мусора в виде левых джампов, манипуляций со стеком. Может кто может помочь, как этот мусор прривести в нормальный вид. Распаковывать в нормальный вид не обязательно. Главное, чтобы лоадер можно было слепить по-быстрому.

    Посмотреть на екзешник можно здесь (1,3м):

    http://bestzvit.com.ua/downloads/7P_Upd12.exe

    Это архив последнего обновления, внутри еще архив, в котором есть zforever.exe.

    Спасибо.
     
  2. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine




    Наверное никак, PEiD не говорит что за крипротектор?
     
  3. kamal

    kamal New Member

    Публикаций:
    0
    Регистрация:
    8 май 2005
    Сообщения:
    4
    bogrus

    PEiD говорит что упакован Petite 1.4, но я сильно сомневаюсь. Там по-моему 2 упаковщика использовано. Это я по опыту предыдущих версий думаю. Раньше они ExeCryptor юзали.
     
  4. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Там только ExeCryptor (видимо новой версии)
     
  5. _Sysman_

    _Sysman_ Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    50
    Адрес:
    Ukraine
    Я пользуюсь на работе лицензионной версией.

    Мое мнение такое: программа написана очень криво.


    Код (Text):
    1. Сам лицензионный код состоит из 32 символа - цифры
    2. и русские заглавные буквы (!). И этот код действителен на
    3. определённое время, обычно на месяц, хотя везде пишут,
    4. что всё входит в первоночальную сумму стоимости
    5. программы, а дальше платно - только ежемесячное
    6. обновление форм бух.документов. Как бы не так!
     
  6. kamal

    kamal New Member

    Публикаций:
    0
    Регистрация:
    8 май 2005
    Сообщения:
    4
    _Sysman_

    Поэтому и стоит ломать. Разработчики установили жестокую монополию и принудиловку на государственном уровне. В этом месяце они собираются поменять метод генерации ключей. И с каждым обновлением тренируются с защитой. А так как обновления выходят часто, то оптимальный вариант - лоадер.

    bogrus

    Я смотрю, что Вы хорошо разобрались с Execryptor. Вопрос: если в оригинале было:
    Код (Text):
    1.  
    2. test al, al
    3. jz xxxxxxxx
    4.  


    Останется ли после криптования команда test al, al?

    Может у Вас есть ссылки на знания по этому вопросу?
     
  7. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев


    Я не очень хорошо разбираюсь, но этой команды точно не останется :)

    Ссылка на знания - хелп в EXECryptor-у :)
     
  8. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    В принципе мусор можно убрать, если использовать какой-то оптимизирующий алгоритм, например такой кусок:
    Код (Text):
    1. 006D6A07 Main     PUSH    D5DFBC51            ; ESP=0012F890
    2. 006D6A0C Main     POP     EDI                 ; ESP=0012F894, EDI=D5DFBC51
    3. 006D6A0D Main     XOR     EDI,E8A867CC        ; FL=0, EDI=3D77DB9D
    4. 006D6A13 Main     JMP     006D63BD
    5. 006D63BD Main     JMP     006D6EFA
    6. 006D6EFA Main     ROL     EDI,1B              ; EDI=E9EBBEDC
    7. 006D6EFD Main     ADD     EDI,0F9E3294        ; FL=AS, EDI=F989F170
    8. 006D6F03 Main     XOR     EDI,589E4E91        ; FL=PS, EDI=A117BFE1
    9. 006D6F09 Main     PUSH    006D6191            ; ESP=0012F890
    10. 006D6F0E Main     JMP     006D6E6A
    11. 006D6E6A Main     JMP     006D8054
    12. 006D8054 Main     RETN                        ; ESP=0012F894
    13. 006D6191 Main     ADD     EDI,5F55A1BE        ; FL=CP, EDI=006D619F
    14. 006D6197 Main     XCHG    [ESP],EDI           ; EDI=00000018
    Легко "автоматически" сократить до:
    Код (Text):
    1. POP  EDI
    2. PUSH 006D619F
    Потом занятся выкидыванием лишних JMP'ов, или даже будет лучше пересобрать новую прогу из полезного кода, конечно работы тоже ... не на один месяц
     
  9. Relayer

    Relayer New Member

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




    я разбираюсь лучше :) jz тоже не останется :)
     
  10. _BC_

    _BC_ БЦ

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




    Что-то ты как-то не так 'оптимизировал'. Твой фрагмент приводится к
    Код (Text):
    1.     mov   edi, 006D619F
    2.     xchg  [esp], edi




    А pop/push -- это уже следствие (и едва ли полезное для следующего прохода).



    Надо было ещё кода запостить, это похоже часть чего-то.

    А вообще как full-morpher не очень. Я сразу заметил одну слабость у этого полиморфа. Вернее их немало, но одна эта 'слабость' здорово упростит анализатор. Какая -- ХХХ, т.к. we've got hostiles.
     
  11. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Да, полиморф не очень. Подряд идет много кода который можно просто выкинуть.

    Начать анализ следует с выкидывания jmp, благо они здесь легко исключаются, а затем переводить push/ret в jmp и повторять оптимизацию. Ну и анализ всяких rol/ror/xor. После этого от полиморфа мало что останется.
     
  12. captain cobalt

    captain cobalt New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2003
    Сообщения:
    222
    Адрес:
    /ru/perm
    Ну вот, а кто-то говорил "неуловимый Джо". ;)
     
  13. kamal

    kamal New Member

    Публикаций:
    0
    Регистрация:
    8 май 2005
    Сообщения:
    4
    Я так и знал что многие заинтересуются :). Я сравнивал код до криптования и после. Небольшие процедурки примерно в сотню команд он практически не меняет. В IDA очень хорошо все просматривается. Но я думаю, что разработчики скорее всего откажутся от криптования. У них на форуме сильно ругаются из-за глюков Execryptora.