Сейчас на форуме: asfa, _MBK_, Rio (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Распаковка ASPack 2.12 с помощью olly
Посл.ответ Сообщение

Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 декабря 2008 20:53
· Личное сообщение · #1

Добрый день! Решил научится в ручную распаковывать файлы, но не все так просто.

Для своей первой распаковки взял блокнот из Win XP, запаковал его ASPack 2.12, и приступил к делу.
И так, и спользуя ольку, загружаю прогу, иду на EP:

01014001 > 60 PUSHAD
01014002 E8 03000000 CALL NOTEPAD.0101400A

Ставлю бряк hr esp-4, жму F9, останавливаюсь тут:

010143A7 0BC9 OR ECX,ECX
010143A9 8985 A8030000 MOV DWORD PTR SS:[EBP+3A8],EAX
010143AF 61 POPAD
010143B0 75 08 JNZ SHORT NOTEPAD.010143BA
010143B2 B8 01000000 MOV EAX,1
010143B7 C2 0C00 RETN 0C
010143BA 68 9D730001 PUSH NOTEPAD.0100739D
010143BF C3 RETN

Как я понял 0100739D это и есть OEP. Далее зацикливаю программу jmp 010143B0, и F9
Потом делаю полный дамп через lordPE.
Вычисляю RVA OEP = 0100739D - 1000000 (ImageBase, смотрел в lordpe) = 739D.
Потом запускаю дамп (вот тут я не знаю, нормально ли сообщение "Ошибка пр инициали
зации приложения"? Ни где про это не нашел) следом запускаю IMPREC, выбираю этот процесс, ввожу в OEP 739D и нажимаю авто поиск и у меня выдается ошибка "Could not find anything good at this OEP!"

Меня это не остановило, узнаю адресс GetModuleHandleA который равен 7С80b529. Ищу его в дампе через hex редактор (10сс), смотрю выше и перед нулями 1ый адресс 108С. В lordpe ввожу оффсет 108с, нажимаю DO и он показывает RVA тоже 108с. Далее в IMPREC указываю OEP 739D; RVA 108c, жму Get Imports, и вижу для kernel32 определены 39 функций, а далее у всех стоит Valid: 0. Удаляю их и фиксю дамп. После этого программа не работает. Просто ни чего не происходит. В отладчике программа останавливается на программе call dword ptr ds:[1001338] с сообщением "Dont know how to step becouse memory at address 77c2537c

Помогите плиз разобраться в чем моя ошибка?



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 21 декабря 2008 21:52
· Личное сообщение · #2

Что значит "зацикливаю программу jmp 010143B0, и F9"?
Перейди на 100739D, и потом сделай дамп. Пока его запускать не надо, импорт ведь не восстановлен. В импреке выбираешь процесс блокнота, который запущен под олей, и когда ты стоишь на OEP. Затем полученный импорт пристыковываешь к сохранненому дампу.




Ранг: 106.9 (ветеран), 27thx
Активность: 0.080
Статус: Участник

Создано: 21 декабря 2008 22:51
· Личное сообщение · #3

Цыклить надо в софтайсе, чтобы приложение не смогло ни че инициализировать в секции данных и кода.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 21 декабря 2008 22:52 · Поправил: Archer
· Личное сообщение · #4

Циклить надо только под ринг0 отладчиком, иначе просто убежит дальше. А под ринг3, типа ольки, процесс и так стоит, дампи и импорт снимай с него сразу, без зацикливания и без F9.
З.Ы. Блё, опоздал на пол минуты



Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 декабря 2008 00:19
· Личное сообщение · #5

Всем спасибо!!! Все получилось!!!




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 22 декабря 2008 20:38
· Личное сообщение · #6

Тогда топик можно закрыть, видимо.


 eXeL@B —› Вопросы новичков —› Распаковка ASPack 2.12 с помощью olly
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати