![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
ASGDeveloper |
|
|||
developer ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 1.4.2006 Репутация: 1 Всего: 1 |
Все никак не могу доехать, как же проверить факт упакованности exe-шниника. Каких-то универсальных функций (типа как в ольке) не вижу, вижу только решение в лоб - коллекционирование сигнатур упаковщиков.
|
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
самая простая проверка упакованности - попытка упаковать и оценить степень сжатия.
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
dumb, а может перенесенная в конец файла точка входа? Или не все упаковщики крепятся в конец?
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Упаковщики как раз никуда не крепятся - они и есть программа.
Сама программа - данные. Одной из особенностью упаковщиков можно считать использование первых 100h байт. У обычных программ там DOS секция. Упаковщики обычно на неё плюют и используют под собственные нужды. Также в секции импорта упакованных программ находятся только LoadLibraryA и GetProcAddress. Но это всё признаки. Гарантию даст только знание сигнатур. Которые, впрочем меняются. Но по признакам можно определить с вероятностью 95% и выше. Добавлено @ 23:55 И dumb прав. На худой конец можно попробовать и сжать. Обычные программы (> 4кб) хорошо жмутся. А упакованные процентов на 5 - не больше. |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 13 Всего: 158 |
alexeis1, брр.. причем тут EP? просто оцениваем степень сжатия любым упаковщиком - хоть winrar'ом: упакованные/покриптованные данные практически не жмутся.
простейший упаковщик можно и в конец секции какой-либо запихать, но насчет нормальных ты прав - все в конце(те, что видел во всяком случае). теоретически можно в любое место, но практически никто не парится... ![]() |
|||
|
||||
ASGDeveloper |
|
||||
developer ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 1.4.2006 Репутация: 1 Всего: 1 |
Добавлено @ 00:08 Осталось только придумать как их вычислять. ![]()
Странно, но сейчас в упакованной проге нашел весьма солидную import table с кучей функций. ![]() |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Так я так и понял, что речь идет о программной проверке. Т.е. чтоб это работало быстро. А проверить указатель на точку входа и сравнить ее с размером файла можно быстро. Распаковщики (сори за очипятку) же занимают обычно не более 1кб. Если к EP добавить 1кб то для упакованой программы эта величина должна превышать размер экзешника на диске.
Это сообщение отредактировал(а) alexeis1 - 6.9.2006, 00:13 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
ExitProcess можно не считать. Обычно там больше функций, если упаковщик поддерживает защиту - обычно он для этого импортирует функции advapi. UPX легко определить. У него обязательно в первых 220h байт находятся сигнатуры UPX0 и UPX1. Пожалуё это один из немногих упаковщиков, не использующих первые 100h байт. Можно ygbcfnm небольшую эвристику на анализ первых 100h байт. Если процент нулей меньше 80% - упакован. Если эвристика и наличие UPX не обнаружены - пробовать пожать первые 32 кило. Жать весь файл незачем. Коэффициэнт слабый - пожат. Добавлено @ 00:30 alexeis1, к примеру, UPX так не отличишь - он выглядит вполне честно. Никаких смещений. Добавлено @ 00:31 Опять же повторю - упаковщик не приклеивается к программе - он сам программа. |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
а что энтропию проверить нельзя?
-------------------- SST 465555 icq 200-512-712 |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Это я знаю, имел ввиду распаковщик. Что у UPX распаковщик не крепится в конец экзешника? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
oleg1973, вопрос как найти быстрое решение.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
проще пошитать циферки в файлике чем собирать сигнатуры
-------------------- SST 465555 icq 200-512-712 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |