Русский / Russian English / Английский

Сейчас на форуме: (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Вопросы новичков —› Распаковка dll, запакованной ASPack v2.12
Посл.ответ Сообщение

Ранг: 12.4 (новичок)
Статус: Участник

Создано: 8 октября 2019 22:47 · Поправил: gabryelle New!
Цитата · Личное сообщение · #1

Всем привет!
Пытаюсь тут распаковать dll, действую по мануалам, но что-то не клеится...
RDG Packer Detector v0.7.1 определяет пакер ASPack v2.12
Открываю в олли, жму F9 до кода:
Code:
  1. CPU Disasm
  2. Address   Hex dump          Command                                  Comments
  3. CPU Disasm
  4. Address   Hex dump          Command                                  Comments
  5. 60A0D416   /75 08           JNE SHORT macro.60A0D420
  6. 60A0D418   |B8 01000000     MOV EAX,1
  7. 60A0D41D   |C2 0C00         RET 0C
  8. 60A0D420   \68 2A419F60     PUSH macro.609F412A
  9. 60A0D425    C3              RET

Дойдя до RET, снимаю дамп с помощью OllyDumpEx v1.72:

Изначально Entry Point там 0001D001. Жму Get EIP as OEP я получаю 0000412A (вроде верно, по адресу 60A0D420 именно она и указана). Жму на Dump, сохраняю macro_dump.dll. Плагин в догонку дает следующую инфу:
Saved Size: 131072
Requested Size: 131072
EntryPoint RVA: 0000412A
EntryPoint VA: 609F412A

Открываю Import REC, нахожу процесс ollydbg/loaddll.exe, PickDLL - выбираю macro.dll
Меняю OEP на 0000412A, жму IAT AutoSearch, получаю RVA 00010000 и Size 00000130
Жму Get Imports и Fix Dump:

Ну и в результате нифига. Файл сохраняется без ошибок, но не работает ни в олли, ни подключенным к исполняемому файлу (в олли ntdll просто не переходит на macro.dll, крутится на месте).
Буду благодарен, если поможете с распаковкой или укажете мне на ошибки, которые я допустил - желательно в подробностях, с процессом распаковки я знаком очень поверхностно.


{ Атач доступен только для участников форума } - macro.dll


Ранг: 2011.5 (!!!!)
Статус: Модератор
retired

Создано: 9 октября 2019 11:23 New!
Цитата · Личное сообщение · #2

Как минимум не видно ничего про восстановление релоков.

Ранг: 7.3 (гость)
Статус: Участник

Создано: 9 октября 2019 11:31 New!
Цитата · Личное сообщение · #3

gabryelle пишет:
но не работает ни в олли, ни подключенным к исполняемому файлу

вот и что означает эта фраза?

1. loaddll, насколько я знаю, предназначен лишь для загрузки длл в пространство и все....так что если под фразой не работает ни в олли имелось в виду это, то это нормально...
2. как конкретно не работает подключенным к исполняемому файлу

Ранг: 12.4 (новичок)
Статус: Участник

Создано: 9 октября 2019 17:43 New!
Цитата · Личное сообщение · #4

AE пишет:
1. loaddll, насколько я знаю, предназначен лишь для загрузки длл в пространство и все....так что если под фразой не работает ни в олли имелось в виду это, то это нормально...

Когда я в олли открываю запакованную длл, то попадаю в модуль macro.dll. Дальше по гайду ставлю Hardware Breakpoint и тут уже начинаю с ntdll, проматываю ее, directx, снова ntdll и тогда уже попадаю в macro, откуда и снимаю дамп. В распакованной версии зажимаю F9, но дальше ntdll дело не идет, в списке модулей даже нет macro.dll

AE пишет:
2. как конкретно не работает подключенным к исполняемому файлу

Эта dll кастомная, добавляет дополнительный функционал программе (игре). Распакованная версия этот функционал, соответственно, не добавляет, хотя приложение запускается.

Про восстановление релоков сейчас буду гуглить...


Ранг: 584.6 (!)
Статус: Участник
_Вечный_Студент_

Создано: 10 октября 2019 00:09 · Поправил: plutos New!
Цитата · Личное сообщение · #5

gabryelle пишет:
Про восстановление релоков сейчас буду гуглить...


глянь --> тут <--


Ранг: 331.0 (мудрец)
Статус: Участник

Создано: 10 октября 2019 02:46 New!
Цитата · Личное сообщение · #6

gabryelle

Нужно не гадать, а ошибку определить, почему не загружается. Вот тут аналогично было --> Link <--

> В распакованной версии зажимаю F9, но дальше ntdll дело не идет

Дальше и не нужно никуда идти --> Link <--


Ранг: 603.8 (!)
Статус: Модератор
Research & Development

Создано: 10 октября 2019 02:55 New!
Цитата · Личное сообщение · #7

gabryelle пишет:
RDG Packer Detector v0.7.1 определяет пакер ASPack v2.12

Там не 2.12, а 2.28.
Если застрял, то могу выложить статически распакованный "как есть".

Ранг: 12.4 (новичок)
Статус: Участник

Создано: 10 октября 2019 17:38 New!
Цитата · Личное сообщение · #8

Jupiter пишет:
Если застрял, то могу выложить статически распакованный "как есть".

Был бы признателен. Предложенные выше ссылки так с наскоку не осилил, нужно настроение нужное поймать, чтобы уже основательно разобраться.
У вас распаковщик в скрипте? Мне бы посмотреть на последовательность действий "от и до", а потом сверху уже теория легче пойдет.


Ранг: 603.8 (!)
Статус: Модератор
Research & Development

Создано: 10 октября 2019 17:58 New!
Цитата · Личное сообщение · #9

gabryelle пишет:
Был бы признателен.

Во вложении:
CabalDev.dll.ASPack.unpacked.7z
{ Атач доступен только для участников форума }

gabryelle пишет:
Предложенные выше ссылки так с наскоку не осилил, нужно настроение нужное поймать, чтобы уже основательно разобраться.

Заставить себя разбираться - это задачка не из лёгких

gabryelle пишет:
У вас распаковщик в скрипте?

Нет, программа.

gabryelle пишет:
Мне бы посмотреть на последовательность действий "от и до", а потом сверху уже теория легче пойдет.

В случае со статической распаковкой действие "от" начинается с упаковки известных файлов с помощью исследуемой версии упаковщика. Вряд ли тебе это интересно, учитывая "нужно настроение нужное поймать".

Ранг: 12.4 (новичок)
Статус: Участник

Создано: 10 октября 2019 18:55 New!
Цитата · Личное сообщение · #10

Jupiter пишет:
Заставить себя разбираться - это задачка не из лёгких

Да нет то чтобы, я это дело наоборот люблю и, бывает, по несколько дней без перерывов на сон осваиваю новые для себя инструменты =) Без знаний и опыта работы с дизассемблером у меня только так и получалось решать некоторые прикладные задачи. Опыт лишним не бывает. Но бывает, что просто туман в голове и дополнительная информация туда ну никак не лезет. В следующий раз уже заново все прочитаю и, скорее всего, освою процесс распаковки на свежую голову.
За помощь огромное спасибо всем.


Ранг: 603.8 (!)
Статус: Модератор
Research & Development

Создано: 10 октября 2019 21:27 New!
Цитата · Личное сообщение · #11

gabryelle
Чтобы информация легче усваивалась, имеет смысл её осваивать постепенно, по мере увеличения сложности, разбирая каждый шаг на простых и понятных примерах, тогда и весь процесс пойдёт гораздо легче.
Рекомендую ознакомиться с классикой: "Об упаковщиках в последний раз", оригинал был на олдскульном WASM, гуглится без проблем.

| Сообщение посчитали полезным: mak


Ранг: 12.4 (новичок)
Статус: Участник

Создано: 11 октября 2019 12:56 New!
Цитата · Личное сообщение · #12

Jupiter пишет:
Об упаковщиках в последний раз

Спасибо, почитаю.


Ранг: 331.0 (мудрец)
Статус: Участник

Создано: 12 октября 2019 06:40 New!
Цитата · Личное сообщение · #13

gabryelle

> бывает, по несколько дней без перерывов на сон осваиваю новые для себя инструменты

Не правильный подход к задаче. Ты ведь и не пытался найти суть ошибки, я это выше указал. С танцами и бубном при таком подходе ничего не изменится, так и будешь сутками копаться в примитивных вещах без какого либо прогресса.
 eXeL@B —› Вопросы новичков —› Распаковка dll, запакованной ASPack v2.12

Видеокурс ВЗЛОМ