Подскажите, чем защищена программа

Тема в разделе "WASM.RESEARCH", создана пользователем S_Starovoy, 26 янв 2010.

  1. S_Starovoy

    S_Starovoy New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2010
    Сообщения:
    7
    Чем-то необычным накрыта прога - раньше ничего подобного не видел.
     
  2. S_Starovoy

    S_Starovoy New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2010
    Сообщения:
    7
    Собсна файл )
     
  3. S_Starovoy

    S_Starovoy New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2010
    Сообщения:
    7
    http://slil.ru/28548047
     
  4. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    Вроде как простой самопальный декриптор ... попробуй определитель типа Bit Detector. Под ним что-то написанное на VC6..8, внутрь не лазил.

    Осторожнее с запуском :derisive:
     
  5. S_Starovoy

    S_Starovoy New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2010
    Сообщения:
    7
    Слишком уж нетипично для самопала... Просто вначале оно ксорит все секции на число, и передает управление на некое подобие vm. И вываливается из этой vm только на вызовы api и некоторых библиотечных функций c++.
    Вот уже "расксоренный" файл - http://slil.ru/28548869
     
  6. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    Хм. Ну да - как сказал - внутрь я не лазил.

    Тем не менее (мое скромное мнение): вот скажем Themida - так как бы тоже с VM, но она такой ерундой как байт-ксор (на старте по крайней мере) не занимается - сразу декомпрессия. Есть также момент оставленного стаба от HLL (VC6..8 по моему мнению) - также пролог со случайными push imm32, push offset blah, call -> add esp,0Ch. Нафига несамопалу это нужно?

    Не пробовал натравливать определители типа вышеупомянутого на исходный и расксоренный вариант?
     
  7. S_Starovoy

    S_Starovoy New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2010
    Сообщения:
    7
    Занимается сразу после декомпрессии :)

    Пробовал конечно, с этого я начал. Максимум, что они смогли увидеть - куски от сигнатур vc7.

    Все же не думаю я что это самопал - уровень как-то сильно выше защищаемого продукта :)
     
  8. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    Мда. Действительно что-то большее (но странное!) чем самопал. Хотя меня по-прежнему смущает рандом в самом начале:

    Два параметра явно не используются - почему так сделано?

    Немного посмотрел расксоренный модуль. Там вроде как (первая?) маленькая VM занимается расшифровкой следующей порции кода (или просто следующего блока VM?) - что за ней далее?

    А если мониторить реестр и файлы при запуске? Может какие характерные для протектора ключики или что там?
     
  9. S_Starovoy

    S_Starovoy New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2010
    Сообщения:
    7
    Обычный мусор, вставленный для отвлечения внимания, думаю.

    Из vm оно вываливается в "почти нормальный код" по адресу 0x46C720. Фиксит оставшиеся импорты, дорасшифровывает следующую vm и передает ей управление.
    А вот работа этой второй vm по ощущениям смахивает на препарированный код c++ - из нее периодически управление передается на apiфункции и библиотечные функции c++ (setargv, setenvp, cinit, ...).
    И похоже, что в эту vm "портирован" практически весь код программы.

    Создается файл compid.txt :)
     
  10. S_Starovoy

    S_Starovoy New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2010
    Сообщения:
    7
    К слову, сам код под vm тоже достаточно замусорен. Я тут набросал на досуге примитивный декомпилятор, вот, например, одна из самых простых функций (первая):

    Названия опкодов немного кривые, но суть должна быть понятна.
     
  11. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    ну простая стандартная стековая ВМ.
    Можно Push X/Push Y/Op сворачивать в Op(X, Y), тогда всё будет более наглядно.
     
  12. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    Погуглил, нашел 2 ссылки на какие-то BioChecker & PDF to DOC converter, закачал и бегло глянул - вроде не то.

    Счас попробую Bit Detector (http://www.zshare.net/download/5936435459cd09c5) если удасцо качнуть.

    Имхо если писать анпак - там нужно хорошее погружение, за пару дней вряд ли че сделать удастца...
     
  13. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    Не, Bit Detector Облажалсо ;(

    ps А на cracklab спрашивал?
    pps Меня еще что прикололо - в файликах IDA не нашла ни одной строки :) Даже обычного мусора (кода) который она принимает за "строки".