Сейчас на форуме: asfa (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Помогите разобраться с понятиями |
Посл.ответ | Сообщение |
|
Создано: 16 марта 2010 05:11 · Личное сообщение · #1 Дорой всем ночи! Взглянул на прогу накрытую VBox протектором с помощью StudPE. Библиотека имеет две секции одна помечена как EP (т.е. Entry Point), а вторая ED ![]() Как это расшифровывается и что это такое. Для ED указаны только дисковые показатели, а RVA и пр. пусты. Ещё хотелось бы узнать как получить сигнатуры для для детекторов упаковщиков и пр. Иными словами, где берётся информация о том, что программа упакована и главное ЧЕМ! Искал в инете, но там как - то если есть, то сами сигнатуры, почитать про их место нахождение и прочие подробности - пусто! Я знаю, что определить незапакованную программу просто, если знать как начинаются чистые проги, а пакеры и протекторы можно узнать по PUSHAD/POPAD/PUSH/RET/POPAD/JMP или старту по непонятной секции (не code, text). СПАСИБО! ![]() ![]() |
|
Создано: 16 марта 2010 14:54 · Поправил: Coderess · Личное сообщение · #2 Ещё хотелось бы узнать как получить сигнатуры для для детекторов упаковщиков и пр. Иными словами, где берётся информация о том, что программа упакована и главное ЧЕМ! Упакованность определяется подсчетом энктропии для секции PE файла. Сигнатура - это уникальная последовательность байт. Считают её c EP(EntryPoint). Плавающие байты (ты мог видеть в сигнатурах ':' или '?') просто пропускаются при сканировании ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
Создано: 16 марта 2010 19:01 · Личное сообщение · #3 сигны берутся довольно просто и логично потребуется набор различных файлов, собранных в разных средах разработки и разными компиляторами/линкерами эти файлы упаковываются продуктом, сигны к которому нужно составить потом код упакованного файла (стаб пакера) анализируется и находятся паттерны для exe и dll, равно как и для C++/Delphi/.NET паттерны могут быть (и, скорее всего, будут) разными ----- EnJoy! ![]() |
|
Создано: 17 марта 2010 03:27 · Личное сообщение · #4 Упакованность определяется подсчетом энктропии для секции PE файла. Сигнатура - это уникальная последовательность байт. Считают её c EP(EntryPoint). Понятно, что протектор или пакер модифицирует оригинал программы и потом восстанавливает её в память. Если я правильно понял, то сигнатура для детекторов это определённое количество байтов отсчитаных от EP модификатора, т.е. те же опкоды ассемлерных команд PushAD...код модификации... PopAD, но он может быть огромен ![]() Я правильно понял? Просто есть ещё сигнатуры DOS (MZ) и Windows (PE) - они хранятся где - то в ином месте нежели EP (например секция ASPack). эти файлы упаковываются продуктом, сигны к которому нужно составить потом код упакованного файла (стаб пакера) анализируется и находятся паттерны для exe и dll, равно как и для C++/Delphi/.NET паттерны могут быть (и, скорее всего, будут) разными Я понял, что нужно анализировать не модифицированную прогу (начало проги под определенным компилятором, например, Delphi, VC, VB) и модифицированную прогу (тоже начало мод. проги), проанализировать и найденные различия выписать - это и будет сигнатура для детектора, я прав? Если нет, то поправьте (а то я начинаю путаться в понятиях, хотя истина всегда проста и понятна:s1 ![]() ![]() |
|
Создано: 17 марта 2010 08:42 · Личное сообщение · #5 Coderess пишет: Сигнатура - это уникальная последовательность байт. Считают её c EP(EntryPoint).Плавающие байты (ты мог видеть в сигнатурах ':' или '?') просто пропускаются при сканировании Вот же вопрос на твой ответ. И тут не имеет значение упакованная чем-то программа или нет. Первые команды EP у каждого линкера, прота, пакера практически идентичны. Для наглядности посмотри содержимое userdb.txt у PEiD'а. Там и вбиты эти сигнатуры. ![]() |
|
Создано: 18 марта 2010 04:52 · Личное сообщение · #6 |
|
Создано: 18 марта 2010 16:39 · Личное сообщение · #7 |
|
Создано: 19 марта 2010 18:02 · Поправил: Kiev78 · Личное сообщение · #8 |
|
Создано: 20 марта 2010 03:29 · Личное сообщение · #9 Kiev78, у меня хорошо видно, а в какой проге Вы просматривали? ![]() А по теме - Вы правы. Где про это можно почитать? Ещё раз простите за тупость. Видимо, мне нужно ещё учиться и учиться... Просто я на своём коротком пути не встречал такой вещи, то что прога запускается с секции протектора - это понятно, но объединяющяя главный *.exe и библиотеки VBox нечто ED - не говорю секция, т.к. меня поправил Kiev78 (а как тоды это правильно называется?) ![]() ![]() |
|
Создано: 20 марта 2010 03:42 · Личное сообщение · #10 Coderess А где там это ED написано, на скрине не видно, исследуемого файла не было и вообще секции можно переименовать хоть во что захочется, только размером ограничевается в 08h Брат! Это скрин из проги StudPE и там есть много интересной инфы, а в разделе Sections (который показан), имеются все секции и StudPE выделяет интересные моменты, такие как СЕКЦИЯ где находится текущий Entry Point и др. инфу. В моем случае, отмечены СЕКЦИЯ протектора как EP, и самая нижняя графа, помеченная как ED - вот про неё я и спросил, т.к. я новичок и в статьях по крекингу я ни где не встречал подходящих под эту абривиатуру понятий. Любопытен и тот факт, как справедливо заметил Kiev78, дисковые параметры, т.е. RAW OFFSET и RAW SIZE, параметры для оперативки отсутсвуют, т.е. в пямять, как подтвердил мою догадку уважаемый Kiev 78, эти данные не грузятся... Тогда зачем они нужны? Тем более в нескольких файлах? ![]() Очень любопытно, но не понятно и где бы про это почитать? ![]() Как завещал любимый В.И. Ленин: "Учиться, учиться и ещё раз учиться!" ![]() ![]() |
|
Создано: 20 марта 2010 08:04 · Поправил: Nabu · Личное сообщение · #11 DanKov пишет:у меня хорошо видно, а в какой проге Вы просматривали? имхо, в любом просмотрщике такая хрень показывается;) DanKov пишет: Любопытен и тот факт, как справедливо заметил Kiev78, дисковые параметры, т.е. RAW OFFSET и RAW SIZE, параметры для оперативки отсутсвуют, т.е. в пямять, как подтвердил мою догадку уважаемый Kiev 78, эти данные не грузятся... как раз таки наоборот. Физически этих секций в файле нет, но при загрузке они проецируются в памяти по адресу Virtual offset размером Virtual size. В эту секцию будет распаковываться основной код программы и из нее запускаться (что и видно в Characteristics этой секции). ![]() |
|
Создано: 20 марта 2010 08:40 · Поправил: Kiev78 · Личное сообщение · #12 |
|
Создано: 21 марта 2010 00:26 · Личное сообщение · #13 |
![]() |
eXeL@B —› Вопросы новичков —› Помогите разобраться с понятиями |