Программы защищенные ASPack,Armadillo и т.д. Как узнать средствами АПИ

Тема в разделе "WASM.WIN32", создана пользователем coocky, 29 авг 2007.

  1. coocky

    coocky New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    195
    Привет.Ребята, а как можно узнать о защищенности программ протекторами.Это связано с внедрением длл и перехватом.Естественно он не работает.Вот хотелось бы как-то узнать о защищенности и выдать сообщение о невозможности перехвата. Как ,например это делает утилита APIS32 - выдает сообщение Protection Error Debuger Detected !
    Можно ли сделать это средствами АПИ ,т.е узнать о невозможности перехвата или проблемах?
     
  2. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Все зависит от конкретной ситуации.
    К примеру, ты пытаешься вызвать VirtualProtect для региона памяти, функция возвращает 0 - следовательно инжект не возможен.
     
  3. coocky

    coocky New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    195
    Да,но длл внедряется.. Уж в DllMain я попадаю точно. А внедряюсь через CreateRemoteThread
     
  4. HoBleen

    HoBleen New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    77
    А если поточнее - что неработает, что ты пытаешься сделать?

    Если нужна универсальная проверка на запакованность - вычисляй энтропию. Только это не подойдет для простых криптеров, не пакующих, а только шифрующих программу.
     
  5. coocky

    coocky New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    195
    Вообщем ситуация такова, что у меня есть некоторая программа для мониторинга файловой системы,которая работает методом внедрения длл в процессы и перехвата функций для работы с файлами.Однако на защищенных прогах перехвата нет. Вот и хотелось бы программным путем предупреждать,что перехват невозможен,и для данной программы он работать не будет.Типа этого.
    Я перехватываю с помощью Detours Однако при своей инициализации,все функции возвращают ок.Но функции,естественно,не прехватываются..
    Вот и хотелось бы определять как-то-что перхват работать не будет или не овсем нормально.Вот так.
     
  6. coocky

    coocky New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    195
    Вообщем,даже неважно КЕМ упаковано (хотя было бы неплохо),а важно узнать,что упаковано вообще
     
  7. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    coocky
    энтропия как Вам уже сказали
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    почему это? имхо вполне пойдет и для шифрованных.
     
  9. coocky

    coocky New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    195
    Спасибо, я нашел статью здесь.Понял алгоритм,только не понял,где брать анализируемые байты?
     
  10. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Геморой еще не насидел себе? ;)
    http://wasm.ru/forum/viewtopic.php?id=21813
     
  11. HoBleen

    HoBleen New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    77
    Ну например юзается xor 94 на весь файл - на энтропию это не повлияет.
     
  12. coocky

    coocky New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    195
    Twister
    Спасибо,конечно :)
    Если бы все было так просто:)
    Мне надо востанавливать удаляемые файлы,к примеру.Да и много чего :)
    Ну вообщем-это не то :))
    Гемморой насидел своей прогой.Проблема за проблемой... :dntknw:
    HoBleen и компания-а можно немного по моей теме.Подробней..Я пока разобрался,что такое энтропия (не считая моих знаний по физической химии еще на 2 курсе института),как все делается? Алгоритм нашел.Покажи ЧТО считать надо? Как добыть? Откуда?
    Спасибо :)
     
  13. HoBleen

    HoBleen New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    77
    http://wasm.ru/article.php?article=packers2 , Начиная с "А запакован ли файл?".

    Считать надо энтропию файла процесса, факт пакованности которого ты хочешь выяснить.
     
  14. DMD

    DMD Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2005
    Сообщения:
    56
    Это означает только одно: выбран неверный подход к проблеме перехвата.
    При корректном методе перехвата совершенно не важно: упакован .exe или нет.

    Упреждаю возможные вопросы: Достаточно посмотреть на перехват с другой точки зрения.
     
  15. coocky

    coocky New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    195
    Фух...
    Т хочешь сказать-без проблем перехватыватываются функции,если внедрится в процесс,защищенный Армадилой,к примеру? :)
    А как же защищенные секции? :))
    А защищаю свой код Армадилой,и ОЧЕНЬ часто даже вручную в помошью отладчика фиг ракрутишь функцию...
    Есть проблема,есть...
     
  16. coocky

    coocky New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    195
    HoBleen я за эту статью и говорил..
    Мне непонятно pSegment->Size-что это должна быть за величина или BYTE *pBuff=(BYTE*)Offset? Каким методом ее получить? Тут можно подробней?
    Делал вообще кто-то что-то подобное? Или только теория?
     
  17. coocky

    coocky New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    195
    Случаем pSegment->Size не может быть DWORD modBaseSize;,а BYTE *pBuff=(BYTE*)Offset быть BYTE* modBaseAddr; из структуры MODULEENTRY32 ?
     
  18. HoBleen

    HoBleen New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    77
    Offset - Начало блока данных, энтропию которых ты проверяешь
    pSegment->Size - Размер блока данных

    Да, если ты сканишь в памяти и, если (1) этот модуль еще не распакован и (2) прот не меняет значения этих полей (антидебаг). В случае (2) бери название файла модуля и анализируй его.

    P.S. А вообще и правда - перехватчик, изменяющий переходы на контролируемую функу ненадежен, надо вклиниваться в саму функу - хотя бы сплайсингом.
     
  19. DMD

    DMD Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2005
    Сообщения:
    56
    не стоит мешать в одну кучу все подряд.
    есть вполне конкретно поставленная задача: перехватить апи некого процесса под конкретные нужды.
    И причем тут
    +
    это?

    ps/ как в школьной задаче: 6 спичек - сколько можно собрать равносторонних треугольников? (ломать спички - нельзя).
    Достаточно выйти из ограничений привычных взглядов/рамок/пр...

    pps/ ничего личного, но если что-то заинтересовало но было не понятно - я оставлял контакт - никаких сообщений.

    ppps/ Сомнительно что все столь глабально, поскольку слабо верится, что в офисе народ ломится к security файлам via упакованные приложения. Но если все так - задача явно переходит из разряда "подскажите" в разряд "commerce".