Сейчас на форуме: igorcauret, Rio (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Распаковвка PEC2 (DLL). Не получается. |
Посл.ответ | Сообщение |
|
Создано: 26 марта 2015 14:57 · Личное сообщение · #1 Добрый день! Пытаюсь распаковать dll pec2. Все по инструкции, вроде oep нашёл. Дамп сделал, но восстановление импорта не проходит. Тело тут: http://bearc.ru/crack/libdemo.zip (pwd: 1) 1. В OlleDbg нашёл OEP 00B100B4 - OEP 0x00B100B4 - 0x00870000 (base) = 0x002A00B4 (size) Все остальное на картинках Все перепробовал, что-то я явно упускаю... ![]() |
|
Создано: 26 марта 2015 17:13 · Личное сообщение · #2 |
|
Создано: 26 марта 2015 17:23 · Личное сообщение · #3 |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 26 марта 2015 17:24 · Личное сообщение · #4 |
|
Создано: 26 марта 2015 17:26 · Личное сообщение · #5 |
|
Создано: 26 марта 2015 17:58 · Личное сообщение · #6 |
|
Создано: 26 марта 2015 19:53 · Личное сообщение · #7 импорт из кернел32 полностью заменён переходниками типа mov eax, real_proc_address jmp eax поэтому часть функций автоматически не определяется если надо, восстановленный импорт в аттаче если дампить либу "как есть", то дамп получится кривой - затёрта таблица секций. нужно скопировать таблицу из упакованного файла и исправить её - реальные размер/смещение установить равными виртуальным ![]() ![]() |
|
Создано: 26 марта 2015 22:31 · Личное сообщение · #8 -=AkaBOSS=- пишет: если дампить либу "как есть", то дамп получится кривой - затёрта таблица секций. нужно скопировать таблицу из упакованного файла и исправить её - реальные размер/смещение установить равными виртуальным Спасибо, но как это сделать? Я слабоват в этой теме. Добавлено спустя 29 минут И с помощью какой утилиты Вам удалось получить правильную таблицу? ![]() |
|
Создано: 27 марта 2015 06:36 · Личное сообщение · #9 anma пишет: Спасибо, но как это сделать? Я слабоват в этой теме. есть два способа - вручную или автоматически. ручной способ подходит для тех, кто изучал PE-формат, но это явно не ваш случай. автоматический способ - в настройках дампера (я так понял, используется PE Tools) установить галки: Task Viewer - Full Dump: Paste Header From Disk Task Viewer - Full Dump: Fix Header после чего сделать Full Dump нужного модуля anma пишет: И с помощью какой утилиты Вам удалось получить правильную таблицу? я не заморачивался поиском утилит. написал простой скрипт для автозамены этого mov eax, real_proc_address jmp eax на это push real_proc_address ret nop после чего в импреке использовал Trace Level1 (Disasm). в результате осталась неопределённой всего одна функция - GetProcAddress, которую я протрейсил через отладчик ![]() |
|
Создано: 27 марта 2015 09:40 · Личное сообщение · #10 Спасибо, буду учиться Добавлено спустя 11 минут -=AkaBOSS=- пишет: push real_proc_address ret nop после чего в импреке использовал Trace Level1 (Disasm). в результате осталась неопределённой всего одна функция - GetProcAddress, которую я протрейсил через отладчик Из этого кода я понял, что Вы адрес процедуры помещаете в стек и потом операцией ret передаёте управление на неё. Н они хрена не понял, физику процесса, каким образом Trace Level1 (Disasm) нам помогает в данном случае. Да и где Вы вообще написали этот скрипт (OllуScript???) ![]() |
|
Создано: 27 марта 2015 11:03 · Личное сообщение · #11 вопрос только в том, что трейсер может обработать, а что - нет. обычно он определяет первую константу, по которой совершается переход и которая соответствует экспорту какой-либо длл. пересылка данных между регистрами - это частный случай отдельного пакера-протектора, и усложнять логику трейсера нет смысла - для этого есть плагины. для пекомпакта тоже, кажется, существует плагин, но точно я не уверен. и да, скрипт я писал для ollyscript ![]() |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 27 марта 2015 20:19 · Личное сообщение · #12 anma пишет: pecompact 2.x чуть более точно сообщает ProtectionID: Code:
ну и по EP действительно похоже: Code:
![]() |
|
Создано: 27 марта 2015 21:01 · Поправил: DimitarSerg · Личное сообщение · #13 Судя по тому, что это чит для танчиков, человека интересует не столько сам процесс, сколько анпак. Есть отличный анпакер для PEC, вот анпак: https://www.sendspace.com/file/bw3laz ----- ds ![]() |
|
Создано: 27 марта 2015 22:33 · Личное сообщение · #14 |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 28 марта 2015 09:29 · Личное сообщение · #15 hello пишет: PECompact разве протектор Из него протектор, как из говна граната https://bitsum.com/pecompact/ Code:
hello пишет: нём, вроде, еще есть проверка crc после ОЕР или я путаю плаг: IsPacked API pec2hooks_ispacked.dll самое полезное во всём этом, это Fast import (pec2hooks_fastimport) ![]() |
|
Создано: 29 марта 2015 16:49 · Личное сообщение · #16 DimitarSerg пишет: Есть отличный анпакер для PEC Только под 8-ую винду не идет пришлось патчить. http://www.upload.ee/files/4600849/Unpacker_PECompact.7z.html Это работает под винду 8-ую. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Распаковвка PEC2 (DLL). Не получается. |