Сейчас на форуме: (+7 невидимых) |
![]() |
eXeL@B —› Протекторы —› Помогите с Pecompact 3.xx |
Посл.ответ | Сообщение |
|
Создано: 27 декабря 2011 13:55 · Поправил: sas123 · Личное сообщение · #1 Кто сталкивался с распаковкой библиотек сжатых Pecompact 3.xx, расскажите пожалуйста порядок действий. В но восстановить две секции RVA я так и не смог, даже импортируя правильные заголовки через IMPREC, они или зашифрованы или битые. Большая просьба, покажите на как првильно распаковать Pecompact 3.xx, те кто думают что он распаковывается также, как pecompact 2.xx, ошибаются или докажите обратное на dll-ке. ![]() |
|
Создано: 27 декабря 2011 14:16 · Личное сообщение · #2 |
|
Создано: 27 декабря 2011 14:27 · Личное сообщение · #3 sas123 пишет: В --> этой <-- теме ув. тов. PE_Kill давал распакованный файл и написал что остались релоки Я там полностью рабочий файл выкладывал. sas123 пишет: те кто думают что он распаковывается также, как pecompact 2.xx, ошибаются или докажите обратное на dll-ке. Круто, все кинуль доказывать. Я кстати в той теме написал, что если не хочешь именно УЧИТЬСЯ анпакать, то в запросы и не будет флудотопа. ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 27 декабря 2011 14:35 · Поправил: sas123 · Личное сообщение · #4 Написал маленький скриптик (в аттаче) под olly (нужен плагин OllyAdvancedс включенными функциями IsDebuggerPresent и IsDebuggerPresent). который на OEP отображает заголовки API функций из самой dll: Запустив его и пройдя по F9 и F7 оказываемся на OEP c расшифрованными заголовками (imprec видит все функции). проблема: снять дамп или правильно импортировать IAT. ![]() ![]() |
|
Создано: 27 декабря 2011 14:43 · Поправил: sas123 · Личное сообщение · #5 PE_Kill пишет: Я там полностью рабочий файл выкладывал. там нерабочие WS2_32 и OLEAUT32 и заголовки битые или зашифрованы. p.s. sas123 пишет: ..или докажите обратное на dll-ке. Я это написал к тому что метод распаковки PEC2 не подойдет к PEC3 в корне, т.к. на OEP названия функция зашифрованы, а на pec2 достаточно добраться до OEP, снять дамп и восстановить ресурсы, здесь это не пройдет. ![]() |
|
Создано: 27 декабря 2011 16:05 · Поправил: PE_Kill · Личное сообщение · #6 sas123 пишет: т.к. на OEP названия функция зашифрованы Пек никогда ничего не шифрует. У него всё оформлено плагинами, значит применили просто один из плагинов. Оно и в 2.х так. sas123 пишет: там нерабочие WS2_32 и OLEAUT32 и заголовки битые или зашифрованы. И что это значит? ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 27 декабря 2011 16:22 · Поправил: sas123 · Личное сообщение · #7 |
|
Создано: 27 декабря 2011 16:29 · Личное сообщение · #8 |
|
Создано: 27 декабря 2011 16:55 · Поправил: sas123 · Личное сообщение · #9 Импорт по ординалом изначально используется в сжатом файле, а также присутствуют virtualalloc и virtualfree в kernel32.dll. Я к тому что в том виде, что Вы дали, dll была не рабочей, если через ImpRec импортировать недостающие заголовки к WS2_32 и OLEAUT32, то dll запускается, но работает некорректно, может есть способ импортировать их корректно без ImpREC. Можете поделиться секретом как распаковали прошлую dll, думаю многим это будет полезно? p.s. в аттаче 2 дерева импорта к новой dll валидное и невалидное (не хватало 2-х функций). ![]() ![]() |
|
Создано: 27 декабря 2011 17:49 · Личное сообщение · #10 sas123 пишет: Импорт по ординалом изначально используется в сжатом файле, sas123 пишет: если через ImpRec импортировать недостающие заголовки к WS2_32 и OLEAUT32, ЧТО ТАКОЕ ЗАГОЛОВКИ? Если импорт идет по ординалам, то это не значит, что у ординалов нет имени. Короче толкучка воды. Что не работает неясно, формат PE не знаем, но утверждаем какие то непонятные тезисы... ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 27 декабря 2011 17:58 · Личное сообщение · #11 |
|
Создано: 28 декабря 2011 11:04 · Личное сообщение · #12 Что-то я никак не пойму суть проблемы, аффтор юзает какие-то свои термины, чем вводит в заблуждение. Ну, хочется поюзать импрек, бывает, ну тогда ситуация мне видится примерно так. Нашёл ОЕР, нашёл вызов какой-то API функции, по ней определил начало и конец IAT. Прекрасно, открыл импрек и вписал туда эти значения. А то, что цель изначально юзала ординалы - ну ладно, так или иначе обращения к API из кода программы идут, а значит где-то есть сами адреса, по которым можно создать новый массив из IMAGE_IMPORT_DESCRIPTOR's, то бишь таблицу импорта. Что именно не получается? ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 28 декабря 2011 12:32 · Личное сообщение · #13 |
|
Создано: 28 декабря 2011 16:28 · Поправил: sas123 · Личное сообщение · #14 ARCHANGEL пишет: так или иначе обращения к API из кода программы идут, а значит где-то есть сами адреса, по которым можно создать новый массив из IMAGE_IMPORT_DESCRIPTOR's, то бишь таблицу импорта. Что именно не получается? Для импорта использовал скрипт Mr. eXoDia: Code:
Не получается найти начало и конец таблицы импорта addr_start и addr_end, в аттаче все Found intermodular calls. А imprec (таблица импорта под него 5-ю постами выше) не получается использовать, т.к. не выходит снять корректный дамп и почему это происходит можно почитать ![]() ![]() |
![]() |
eXeL@B —› Протекторы —› Помогите с Pecompact 3.xx |