Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка упакованности 
V
    Опции темы
ASGDeveloper
Дата 5.9.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


developer
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 1.4.2006

Репутация: 1
Всего: 1



Все никак не могу доехать, как же проверить факт упакованности exe-шниника. Каких-то универсальных функций (типа как в ольке) не вижу, вижу только решение в лоб - коллекционирование сигнатур упаковщиков.
PM MAIL   Вверх
dumb
Дата 5.9.2006, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



самая простая проверка упакованности - попытка упаковать и оценить степень сжатия.
PM MAIL   Вверх
Alexeis
Дата 5.9.2006, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



dumb, а может перенесенная в конец файла точка входа? Или не все упаковщики крепятся в конец?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 5.9.2006, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Упаковщики как раз никуда не крепятся - они и есть программа.
Сама программа - данные.
Одной из особенностью упаковщиков можно считать использование первых 100h байт. У обычных программ там DOS секция. Упаковщики обычно на неё плюют и используют под собственные нужды.
Также в секции импорта упакованных программ находятся только LoadLibraryA и GetProcAddress.
Но это всё признаки. Гарантию даст только знание сигнатур. Которые, впрочем меняются.
Но по признакам можно определить с вероятностью 95% и выше.

Добавлено @ 23:55 
И dumb прав. На худой конец можно попробовать и сжать. Обычные программы (> 4кб) хорошо жмутся. А упакованные процентов на 5 - не больше.
PM MAIL   Вверх
dumb
Дата 5.9.2006, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



alexeis1, брр.. причем тут EP? просто оцениваем степень сжатия любым упаковщиком - хоть winrar'ом: упакованные/покриптованные данные практически не жмутся.

простейший упаковщик можно и в конец секции какой-либо запихать, но насчет нормальных ты прав - все в конце(те, что видел во всяком случае). теоретически можно в любое место, но практически никто не парится... smile
PM MAIL   Вверх
ASGDeveloper
Дата 6.9.2006, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


developer
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 1.4.2006

Репутация: 1
Всего: 1



Цитата(dumb @  5.9.2006,  23:21 Найти цитируемый пост)
самая простая проверка упакованности - попытка упаковать и оценить степень сжатия.
А если файл большой? Ведь паковка в тот же зип займет несколько секунд времени.

Добавлено @ 00:08 
Цитата(Snowy @  5.9.2006,  23:53 Найти цитируемый пост)
Гарантию даст только знание сигнатур.

Осталось только придумать как их вычислять.  smile 

Цитата(Snowy @  5.9.2006,  23:53 Найти цитируемый пост)
Также в секции импорта упакованных программ находятся только LoadLibraryA и GetProcAddress.

Странно, но сейчас в упакованной проге нашел весьма солидную import table с кучей функций.  smile 
PM MAIL   Вверх
Alexeis
Дата 6.9.2006, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Так я так и понял, что речь идет о программной проверке. Т.е. чтоб это работало быстро. А проверить указатель на точку входа и сравнить ее с размером файла можно быстро. Распаковщики (сори за очипятку) же занимают обычно не более 1кб. Если к EP добавить 1кб то для упакованой программы эта величина должна превышать размер экзешника на диске.

Это сообщение отредактировал(а) alexeis1 - 6.9.2006, 00:13


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 6.9.2006, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(ASGDeveloper @  6.9.2006,  00:03 Найти цитируемый пост)
Странно, но сейчас в упакованной проге нашел весьма солидную import table с кучей функций.
Я написал только? Я имел ввиду обычно только.
ExitProcess можно не считать.
Обычно там больше функций, если упаковщик поддерживает защиту - обычно он для этого импортирует функции advapi.
UPX легко определить. У него обязательно в первых 220h байт находятся сигнатуры UPX0 и UPX1.
Пожалуё это один из немногих упаковщиков, не использующих первые 100h байт.
Можно ygbcfnm небольшую эвристику на анализ первых 100h байт. Если процент нулей меньше 80% - упакован.
Если эвристика и наличие UPX не обнаружены - пробовать пожать первые 32 кило. Жать весь файл незачем.
Коэффициэнт слабый - пожат.

Добавлено @ 00:30 
alexeis1, к примеру, UPX так не отличишь - он выглядит вполне честно. Никаких смещений.

Добавлено @ 00:31 
Опять же повторю - упаковщик не приклеивается к программе - он сам программа.
PM MAIL   Вверх
oleg1973
Дата 6.9.2006, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



а что энтропию проверить нельзя?


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 6.9.2006, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Snowy @  6.9.2006,  00:29 Найти цитируемый пост)
Опять же повторю - упаковщик не приклеивается к программе - он сам программа. 

Это я знаю, имел ввиду распаковщик. Что у UPX распаковщик не крепится в конец экзешника?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 6.9.2006, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(alexeis1 @  6.9.2006,  01:17 Найти цитируемый пост)
Это я знаю, имел ввиду распаковщик. Что у UPX распаковщик не крепится в конец экзешника?
Нет конечно.
Он в самом начале сидит - там, где и положено находиться нормальной программе - по адресу 100h.
PM MAIL   Вверх
Alexeis
Дата 6.9.2006, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



oleg1973, вопрос как найти быстрое решение.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
oleg1973
Дата 6.9.2006, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



проще пошитать циферки в файлике чем собирать сигнатуры


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Snowy
Дата 6.9.2006, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(oleg1973 @  6.9.2006,  01:14 Найти цитируемый пост)
а что энтропию проверить нельзя?
А что это даст?
PM MAIL   Вверх
Alexeis
Дата 6.9.2006, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Snowy @  6.9.2006,  01:26 Найти цитируемый пост)
А что это даст? 

Та же фигня что и упаковка, только в профиль smile 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
oleg1973
Дата 6.9.2006, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



как что это даст?
Цитата

как же проверить факт упакованности exe-шниника



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
dumb
Дата 6.9.2006, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



Цитата(Snowy @  6.9.2006,  01:19 Найти цитируемый пост)
Он в самом начале сидит - там, где и положено находиться нормальной программе - по адресу 100h. 

это вы так шутите, да? smile
PM MAIL   Вверх
ASGDeveloper
Дата 6.9.2006, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


developer
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 1.4.2006

Репутация: 1
Всего: 1



Цитата(oleg1973 @  6.9.2006,  01:14 Найти цитируемый пост)
а что энтропию проверить нельзя?

Вопрос только как  smile 
PM MAIL   Вверх
Alexeis
Дата 6.9.2006, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Как я понимаю для существования максимальной энтропии в файле не должно быть повторяющихся последовательностей + не должно существовать алгоритма определяющего связь (по значению и взаиморасположению) между любыми двумя байтами в файле. 

Если первую часть определить трудоемко, то вторую сверхтрудоемко.
Так по крайней мере определяется максимум энтропии с физической точки зрения.

Это сообщение отредактировал(а) alexeis1 - 6.9.2006, 09:03


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
BUGOR
Дата 6.9.2006, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



у UPX точка входа вообще всегда указывает в последнюю секцию. 

Энтропия: http://www.wasm.ru/print.php?article=packers2#4

Это сообщение отредактировал(а) BUGOR - 6.9.2006, 09:03


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 6.9.2006, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



BUGOR, а теперь я докажу что способ расчета энтрапии указаный в Wasm.ru не верный
Рассмотрим последовательность
0 2 4 6 8... 254 1 3 5 7 9...255 - всего 256 неповторяющихся символов.

вероятность появления расчитаная указаным в статье образом равна
1/256
энтропия одного символа |log2 1/256| = 8
сумма всех таких энтропий = 8 * 256 = 256 байт
А я возьму и закодирую такую последовательность так 
{2n;2n+1}0%127 - итого 12 байт
Ой что-то у меня меньше 256-ти байт вышло smile 

Вот такой вышел расчет меры эффективности хранения информации

Добавлено @ 09:56 
Еще пример
0 1 2 3 
4 5 6 7
8 9 A B 
C D E F 

развернем по спирали 
5 9 A 6 2 1 0 4 8 C D E F B 7 3 - ну просто никак не сожмешь, казалось бы энтропия максимальна. Ничего подобного закодируем 
sp0%F - что будет значить спираль против часовой стрелки от 0 до F
пожалуйста без ухищрений такая хаотичная на первый взгляд строка пожалась! 
Очевидно для исходной нам нужно было не мнее 8 байт, а я уложился в 5
Значит не все определяют одни лишь повторения символов.

Добавлено @ 09:57 
Потому я и добавил!
Цитата(alexeis1 @  6.9.2006,  09:00 Найти цитируемый пост)
не должно существовать алгоритма определяющего связь (по значению и взаиморасположению) между любыми двумя байтами в файле. 



Это сообщение отредактировал(а) alexeis1 - 6.9.2006, 10:08


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
BUGOR
Дата 6.9.2006, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



alexeis1, мы разве ведём разговор о алгоритмах сжатия или сжатой записи информации? Не понимаю вообще, что ты хотел этим сказать... Человек написавший ту статью имеет гигатский опыт, он стоял у истоков васма, я не думаю, что он в чём-то допустил ошибку, такие люди проверяют то, что пишут.

Добавлено @ 10:12 
К тому же давай не будем мучать себя теорией. Дай реальный пример упакованного/неупакованного файла чья энтропия расчитанная тем способом при анализе даст результат обратный действительному.


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 6.9.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Из всего сказаного мной следует вывод, что термин энтропия к тому, что было вычислено применен не корректно, это скорее максимальная расчетная степень сжатия класическим упаковщиком - т.е. то о чем говорил Snowy


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
BUGOR
Дата 6.9.2006, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



Хороший криптоалгоритм энтропию испортит, я насчёт этого не спорю. Но на практике вероятность попадания такого файла ничтожно мала. 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 6.9.2006, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Так я о шифровке совсем не говорил
Я хотел показать только несостоятельность расчета энтропии, которая простыми словами определяется как мера беспорядка.
Я не шифровал, а наоброт показал, что последовательности неповторяющихся байтов часто могут иметь другие взаимосвязи (это был пример определения взаимосвязей между порядком байтов и их расположением), которые хоть и нельзя расчитать элементарно машинным способом, но и нельзя отрицать их существование, так как они в равной мере наряду с повторяемостью также определяют энтропию.
А что касается криптоалгоритма, то он наоборот имеет целью увеличить ее до максимальной, поскольку полный хаос нельзя расшифровать по определению.

Это сообщение отредактировал(а) alexeis1 - 6.9.2006, 10:37


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
BUGOR
Дата 6.9.2006, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



alexeis1, кончай кормить меня умными словами и терминами, покажи лучше на практике. В теории у нас все возможно. 
Возьми любой существующий пакер или архиватор на сегодняшний день, расчитай энтропию по тому алгоритму, проанализируй результат и попробуй найти исключения. 
Ещё. Если речь идёт о PE файелах, правильней будет считать энтропию не всего файла, а только данных которые находятся в секциях. 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
ASGDeveloper
Дата 6.9.2006, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


developer
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 1.4.2006

Репутация: 1
Всего: 1



Цитата(BUGOR @  6.9.2006,  10:51 Найти цитируемый пост)
только данных которые находятся в секциях. 

Так, алгоритм для вычисления энтропии я закодировал. Осталось выяснить что и как читать  smile 
PM MAIL   Вверх
dumb
Дата 6.9.2006, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



ASGDeveloper, не парься - возьми из середины файла кусок кила эдак на 64. smile
PM MAIL   Вверх
Alexeis
Дата 6.9.2006, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



BUGOR, ну если из практики, то нечто подобное уже существует, но пока только для графики
1) Алгоримы перевода из растровой в векторную графику.
2) Распознование символов.
3) Фрактальное сжатие (существует уже зарегистрированый формат)

В этом случае также выйдем на минус.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ASGDeveloper
Дата 6.9.2006, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


developer
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 1.4.2006

Репутация: 1
Всего: 1



Цитата(dumb @  6.9.2006,  11:16 Найти цитируемый пост)
не парься - возьми из середины 

Вот я и гляжу. Щас проверил, все нормально работает. Всем большое спасибо, тему можно закрывать.

Добавлено @ 11:36 
Щас плюсы буду раздавать  smile 
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1259 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.