Сейчас на форуме: _MBK_, ManHunter, Magister Yoda, rtsgreg1989 (+9 невидимых)

 eXeL@B —› Основной форум —› Помогите распаковать
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 24.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 23 июня 2005 01:29
· Личное сообщение · #1

Привет , подскажите елси кто знает как распаковать прилогаемый файл
этот файл от игры SCAR под XBOX , может кто ее на PC ломал так подскажите алгоритм распакови плиз

e874_00000008.pak



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

Создано: 27 июня 2005 00:11
· Личное сообщение · #2

sorry ...
я новичок так что ...
вопрос собственно такой:
хочетс научиться распаковывать программы, статьи почитала, вроде все поняла а доходит до дела
вопрос: зацикливаем программы перед переходом на OEP, снимаем дамп, без дополнительных операций дамп работать должен? (естественно на той же машине) . Просто если я поняла те части статей где пишется о восстаовлении таблицы импорта, то дамп должен запускаться и работать , у меня же при запуске файла никаких сообщений об ошибках не выдается, но программа сразу же выгружается из памяти . пробовала зацикливать и на команде перехода и перед ней. результат один. Если нужно я выложу файлы (запакованный блокнот) и адреса с листингом исправлений.
заранее благодарна ...




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 27 июня 2005 00:28
· Личное сообщение · #3

Marinka пишет:
без дополнительных операций дамп работать должен?


Нужно прописать OEP и востановить IAT.




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 27 июня 2005 00:35
· Личное сообщение · #4

Marinka
С каким конкретно пакером/протектором вы в данном случае имеете дело ?

-----
the Power of Reversing team




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

Создано: 27 июня 2005 00:40
· Личное сообщение · #5

NIKOLA, спасибо за быстрый ответ
восстановить IAT : это про таблицу импорта ?
на счет oep и iat сама так подумала только вот в этом и загвоздка ...
в статьях написано например так "А осталось нам восстановить импорт. Зачем это нужно делать я писал выше. Запускаем УПАКОВАННЫЙ calc.exe и после этого запускаем Import Recontructor (далее ImpRec). Вверху в списке процессов выбираем наш calc.exe. Внизу слева в поле OEP нам нужно ввести RVA OEP." ну и подобно ... это я понимаю ... только вот после запуска программа сразу выгружается из памяти ( хотя если я правильно понимаю, если заклить программу а потом снять дамп, dumped.exe тоже должен запускаться зацикленным), так что в Import REConstructor я не могу выбрать файл дампа , его там просто нет ... , запускаю повторно он тут же исчезает из памяти
в том собственно и вопрос ....




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 27 июня 2005 00:41
· Личное сообщение · #6

Marinka, правильный путь, чтобы научиться распаковывать, ты выбрала.
Возьми блокнот или калькуль, запакуй, например, ASPack 2.12. Возьми статью по распаковке (http://exelab.ru/art/aspack212.php
http://exelab.ru/art/aspatch.php
http://exelab.ru/art/aspackunp2.php)и пробуй.
Если что, то ты знаешь ОЕР исследуемой программы.
Marinka пишет:
без дополнительных операций дамп работать должен?

В основном нет, т.к.
NIKOLA пишет:
Нужно прописать OEP и востановить IAT


-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 27 июня 2005 00:43
· Личное сообщение · #7

Marinka пишет:
только вот после запуска программа сразу выгружается из памяти

Запуска чего и какая программа?

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 27 июня 2005 00:50
· Личное сообщение · #8

ValdiS пишет:
Запуска чего и какая программа?


Я так понял она запускает дамп и пытается востановить иат




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 27 июня 2005 01:15
· Личное сообщение · #9

Marinka
ImpREC'y надо скармливать оригинальный (не сдампленный) файл
по логике вещей: если нужно восстановить импорт дампа, то значит импорт унего запоротый, а раз с импортом проблемы, значит и винда его не запустит.
к тому же совсем не факт, что свежесдампленная прога нормально запустится

-----
EnJoy!




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

Создано: 27 июня 2005 01:35
· Личное сообщение · #10

дело имею с AsPack 2.12
я действительно пытаюсь запустить dump
...
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
...
зацикливаю так :
010143B0 75 08 JNZ SHORT NOTEPAD.010143BA
010143B2 B8 01000000 MOV EAX,1
010143B7 C2 0C00 RETN 0C
010143BA 68 BA430101 PUSH NOTEPAD.010143BA
010143BF C3 RETN
010143C0 8B85 26040000 MOV EAX,DWORD PTR SS:[EBP+426]
...
если я правильно поняла при ImageBse 01000000 OEP в PEEditor выставляю 0000739D
только вот после этого программа все равно не запускается ( в смысле файл дампа)

про то что нужно стравливать ImpRec несдампленный файл упустила, sorry за невнимательность
но когда выбиаю в нем пожатый файл, получаю все YES, и жму fix dump он мне говорит что не может ничего изменить в файле (дамп снимала LordPe)
2 Jupiter: по логике вещей, он запустится если правильный oep (в таблице импорта правильные адреса функций), а вот чтобы запустился на других машинах нужно адреса преобразовать в символьные имена, для чего собственно таблица и восстанавливается ... хотя может у меня просто логика женская

спасибо всем за помощь ...

могу приложить полные файлы...
где еще я могла ошибиться? (sorry если вопросы детские)




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 27 июня 2005 01:56
· Личное сообщение · #11

Marinka
сделай шаг после возврата (ret) на OEP, чтобы оказать на самом OEP, а не на переходе на OEP
на нём и зацикливайся
по логике вещей, он запустится если правильный oep
не OEPoм единым...

-----
EnJoy!




Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 27 июня 2005 02:07
· Личное сообщение · #12

Marinka

Наверно статьи все-таки не читала, или читала но не те ;)




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 27 июня 2005 02:19
· Личное сообщение · #13

Asterix
если это её первый опыт, то для начала неплохо ;)
но я бы, честно говоря, для первого раза вообще ограничился OllyDbg + plugins
то бишь делал бы так:
exe -> OllyDbg -> OllyScript -> OEP -> дамп с помощью OllyDump
ну на крайняк ImpRec -> fix dump

-----
EnJoy!




Ранг: 192.3 (ветеран), 18thx
Активность: 0.120
Статус: Участник
stoned machine-gunner

Создано: 27 июня 2005 10:08
· Личное сообщение · #14

Marinka пишет:
fix dump он мне говорит что не может ничего изменить в файле

а какое именно сообщение он выдает? может о том, что колличество секций превышено?

-----
once you have tried it, you will never want anything else




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

Создано: 27 июня 2005 11:58 · Поправил: Marinka
· Личное сообщение · #15

1) для начала дамп созданный PETolls при запуске : не приложения win32
2) 2 Jupiter: такое зацикливание как показала выше неправлильное ? сделала так :
...
0100739F 68 98180001 PUSH NOTEPAD.01001898
010073A4 E8 BF010000 CALL NOTEPAD.01007568
...
это после ret
на вот это
...
0100739F 68 98180001 jmp 0100739F
010073A4 E8 BF010000 CALL NOTEPAD.01007568
....
результат тот же ...
3) При использовании InpREC он выдает только NO , что самое интересно даже на непожатый файл (или у него нужные ему для работы адреса и рамеры он не может определить автоматически?)
4) 2 gloom: он действительно ругаеся что не может больше добавить секций, убераю галочку с add new section и я так понимаю устанавлюваю rva тот же что при поиске iat ? на что он мне отвечает что таблица импорта все еще неправильная и я должна вручную разобраться с указателями ... хотя возможно просто непраильно указала какое-о число я так поняла их можно посмотреть в PEEditor, но они вроде не подошли и пришлось использовать совет который ImpREC дал мне по autoseach
5) после все этого мне удалось получить файл dumped_.exe который запускается и висит в памяти
открыла в olly :
0100739D > $ 6A 70 PUSH 70
0100739F -EB FE JMP SHORT dumped_.0100739F
010073A1 90 NOP
010073A2 90 NOP
010073A3 90 NOP
010073A4 . E8 BF010000 CALL dumped_.01007568
010073A9 . 33DB XOR EBX,EBX
это то как я зацикливала
уже приятно ... по идее меняю назад на PUSH 01001898 и джу что заработает ... но ничего olly выдает paused ...

6) 2 Jupiter : конечно не oep'ом единым , но в статьях написано что iat востанавливают для того что бы программа запускалась на других машинах !!! а не что бы запускалась

P.S. 2 Asterix:
1) я извинилась за мой низкий уровень знаний
2) на будущее я бы просила указывать где именно я ошибаюсь, невнимательность конечно вещь неприятная, но она не нарочная, если необходимо могу подтверждать свои слова цитатами и ссылками




Ранг: 266.8 (наставник), 5thx
Активность: 0.220.03
Статус: Участник
very WELL :)

Создано: 27 июня 2005 12:00
· Личное сообщение · #16

АХТУНГ. Ещё одна девушка крэкер %))))




Ранг: 209.1 (наставник)
Активность: 0.130
Статус: Участник
программист априори

Создано: 27 июня 2005 12:14
· Личное сообщение · #17

WELL

не верится чо-то мне кажется - это ребята прикалываются



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 27 июня 2005 12:40
· Личное сообщение · #18

Marinka пишет:
в статьях написано например так "А осталось нам восстановить импорт. Зачем это нужно делать я писал выше.

Возможно, для того Marinka'ой назвались, чтобы сразу все бросились помощь оказывать - типа девушка крэкер, не будем посылать учить стандартный набор статей и сразу поможем....

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




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

Создано: 27 июня 2005 12:53
· Личное сообщение · #19

2 Smon : типа стандартный набор статей я уже читала, если сомнения те же что у Asterix могу предоставлять цитаты (что собственно и было сделано), а вы ( извините за прямоту) разводите флейм не отвечая и не помогая человеку ... и девушка не крекер, просто нужно распаковать файл, а научится самой это делать лучше чем попросить других ...
P.S. sorry за оффтоп ...



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 27 июня 2005 13:14
· Личное сообщение · #20

Marinka
Давай файл, посмотрим, а то странные какие то адреса...
А Олька при старте где находится?
Кстати, есть куча унпакеров для него

-----
Подписи - ЗЛО! Нужно убирать!





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 27 июня 2005 13:26 · Поправил: ValdiS
· Личное сообщение · #21

nice пишет:
то странные какие то адреса

Да не, там просто Imagebase = 1000000.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 27 июня 2005 14:56
· Личное сообщение · #22

Marinka пишет:
2) на будущее я бы просила указывать где именно я ошибаюсь


Как можно указать если ты не излагаешь связно что распаковываешь, какими инструментами
пользуешься, прочитанные статьи или какой статьей пользуешься, свою последовательность
действий, возникшие при этом вопросы по существу



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

Создано: 27 июня 2005 16:25
· Личное сообщение · #23

2 Asterix: блокнот, запакованный AsPack 2.12, отладчик - Olly Debuger 1.10
Последовательность действий :
загружаю в olly, нахожу преход на OEP и зацикливаю программу ( см выше) (для уверенности в соседнем окне открываю незапакованный блокнот и сверя код который должен идти после OEP), пробовала зациклить перед переходом и на переходе (опять же смотрите выше) .
Делаю Дамп зацикленной программы с помощью LordPE ( на дамп от PETolls выдается сообщение о том что он не win32 приложение) . в дампе с помоью PEEditor изменяю EP (адрес перехода - Image Base ) ( 0000739D ).
Далее запускаю оигинальную программу и с помощью ImpREC пытаюсь восстановить iat : OEP выставляю такой же как у дампа, RVA (00014FAC) и Size у IAT (000001EC ) выставляю тот который вижу в PEEditor- Directiries (Lord PE ). Получаю частично NO , а в середине несколько YES (это непонятно , ведь вроде так я указываю точно а не на угад ) . Добавить секрцию ImpREC не может поэтому снимаю галочку с Добавить секцию и вписываю в RVA 00014FAC после чего дам не запускается т.к. "приложение неправильно настроено ...", а если RVA =0001000 то дамп может и загружается но зразу завершается без сообщений, в обоих случаях ImpREC выдает сообщение что таблица импорта все еще неисправна и необходимо вручную исправить неверные указатели .
P.S. распаковать удалось дампером olly с последующим исправление ope и таблицы импорта, но только вот хочется и по-другому ...
вопрос : собственно где ошиблась ... ?
спасибо

e914_NOTEPAD.EXE



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 27 июня 2005 18:14
· Личное сообщение · #24

Загрузил Олю, дошёл до OEP

0100739B CC int3
0100739C CC int3
0100739D . 6A 70 push 70 Вот она OEP
0100739F . 68 98180001 push e914_NOT.01001898
010073A4 . E8 BF010000 call e914_NOT.01007568
010073A9 . 33DB xor ebx, ebx
010073AB . 53 push ebx ; /pModule => NULL
010073AC . 8B3D CC100001 mov edi, dword ptr [10010CC] ; |kernel32.GetModuleHandleA
010073B2 . FFD7 call edi ; \GetModuleHandleA
010073B4 . 66:8138 4D5A cmp word ptr [eax], 5A4D


Снял дамп PETools'ой.
В Hiew'e удалил последнюю секцию, подправил размеры имиджа и кода там же (можно и не делать).
Затем в ImpRec проставил OEP 739D, схватил импорт и пофиксил дамп (в новую секцию).
После чего в PETools сделал rebuild PE.
Посмотрел в Hiew'e на EP, вышло так, что первый байт накрыло int3 (CC), вернул его в нужное состояние (6A).
Получил рабочий файлик.

Потом распаковал QuickUnpack 0.6 (именно 0.6).
И решил всё-таки, что он делает это лучше (файл меньше получился).

P.S. Marinka ты стратегически неверно поступило, нужно было написать:
Ой, я такая дура, но хочу стать такой, как вы: умной, сильной, независимой.
Вот моя фотка (тут должен быть линк на Б.Спирс, J.Симпсон и т.п.).
Хочу! Это так сексуально, когда вы на клавиатуре всё выделываете.

Без обид.

-----
Всем привет, я вернулся




Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 27 июня 2005 18:56 · Поправил: Модератор
· Личное сообщение · #25

Marinka

Предельно короткий тутор.

Сразу хочу предупредить что на самом деле ASPack нужно распаковывать без ImpRec'а.
Но раз было предложено использовать ImpRec то извольте..
Чтобы с таблицей импорта иметь меньше проблем нужно распаковывать под
2k/XP иначе(под 9x) несколько неопределившихся или неправильно определившихся
функций ImpRec'ом обеспечено.
Итак, стартуем прогу запакованную ASPack 2.12 в OllyDbg, если настройки в OllyDbg
по умолчанию то должны остановится на Entry Point.
Скролим экран вниз и ищем место в коде подобное этому:
Переход на OEP ASPack'а 2.12 выглядит так(взято из PE.ldw)

------------
.aspack:140213A9 89 85 A8 03 00 00 mov [ebp+3A8h], eax ; патчит push 0 на push OEP по адресу 140213BA
.aspack:140213AF 61 popa
.aspack:140213B0 75 08 jnz short loc_140213BA
.aspack:140213B2 B8 01 00 00 00 mov eax, 1
.aspack:140213B7 C2 0C 00 retn 0Ch
.aspack:140213BA
.aspack:140213BA
.aspack:140213BA loc_140213BA: ; CODE XREF: start+3AFj
.aspack:140213BA 68 00 00 00 00 push 0 ; заносим OEP на стек
.aspack:140213BF C3 retn
.aspack:140213C0
.aspack:140213C0

Кликаем по строке с командой popa и ставим бряк(hotkey F2), т.е. поставили
бряк на адрес 140213AF в вышеприведенном листинге, далее пускаем прогу(hotkey F9),
должна остановится на нашем бряке, снимаем бряк и дампим Dump Full (ничего зацикливать
не нужно, т.к. прога и так остановлена отладчиком), я использовал
PETools 1.5.565.2004(скрин с опциями PETools в аттаче)

Теперь запускаем ImpRec, выбираем наш процесс, вписываем OEP(без ImageBase),
потом жмем IAT AutoSearch, обычно найдет все и сразу, если соблюсти условия
оговоренные в начале этого тутора, потом Get Imports, далее Show Invalid(для
того чтобы убедиться что все функции определились), если все OK далее давим
Fix Dump(галочка Add new section стоит) выбираем наш дамп, если настройки
ImpRec'а правильные то он сам пропишет OEP(скрин с опций ImpRec'а в аттаче)
Всё.


0cad_PETools.png
1cd1_ImpRec.png



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

Создано: 27 июня 2005 19:29
· Личное сообщение · #26

2 Bitfry & Asterix: thanks за туториалы , сегодня не скажу что получилось, нужно идти на работу..
2 Bitfry: В Hiew'e удалил последнюю секцию, подправил размеры имиджа и кода там же (можно и не делать). вроде делал тоже самое но новая секция не добавлялась , завтра попробую еще раз ...
Посмотрел в Hiew'e на EP, вышло так, что первый байт накрыло int3 (CC), вернул его в нужное состояние (6A). вот это если честно не поняла ... , вернее поняла что произошло, но почему нужное состояние 6A, а не 60 ? да и знаний для этого шага мне не хватает ...
по поводу стратегии : мне Спирс не нравится ... но если тебе нужна ее фотка могу поискать ...
2 Asterix: настройки исправила , по поводу зацикливания у самой возник такой вопрос, собиралась завтра его задать ... просто во всех (ну в большенстве, что бы не соврать) статей написано зациклить программу
... вопрос такой если ImpREC перед и после правильно определенными функциями пишет по несколько invalid'ных ? причем я начала думала что этго из-за неправильно выставленного размера таблицы импорта ( адрес первой правильной совпадает с RVA таблицы импорта), пробовала его изменять, NO все равно остаются ... вот и делаю как ты сказал то же NO после правильно определенных ... но я все равно исправляю дамп, все добавляется нормально но при запуске выдается -- не является приложение Win32 ...

sorry за возможную сумбурность, спасибо за то что помогаете ...




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 27 июня 2005 20:08
· Личное сообщение · #27

Marinka пишет:
просто во всех (ну в большенстве, что бы не соврать) статей написано зациклить программу

если не понимаешь смысла описанных в статьях действий, то не стоит совмешать методы/советы из разных статей... делай всё по какой-нить одной.




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

Создано: 27 июня 2005 20:25
· Личное сообщение · #28

Marinka пишет:
Дата: Июн 27, 2005 19:29:11
сегодня не скажу что получилось, нужно идти на работу..

???????????
че за работа такая на ночь глядя

А вобще если ломаешь аспак Олей, НИЧЕГО ЗАЦИКЛИВАТЬ НЕ НАДО (это для сайса). Просто ставится хардверный бряк hr esp-4 -> F9. Оказываешься рядом с переходом на OEP. Переходишь, дампишь (либо петулзой либо плюгом для Оли), восстанавливаешь импорт. Если нужна чистая EXE отрезаешь секции пакера и восстанавливаешь её с помощью ресурс ребилдера. Все.

-----
Ни одно доброе дело не должно остаться безнаказанным !!!





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 27 июня 2005 21:08
· Личное сообщение · #29

Asterix

Опередил меня.

Marinka

Вдохновила ты меня на написание тутора.

Представляю на суд форума.

Распаковка ASPack без использования Imp Rec'a.

Если ктото возьмётся отредактировать, возрожать не буду.

nikolaekb.narod.ru/tutor/manual_unpack_Aspak.rar

Размер: 173 Кб. в формате WORD.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 27 июня 2005 21:23
· Личное сообщение · #30

формат WORD меня уже напрягает.
неужели нельзя делать html c картинками?

к тому же мне до сих пор не понятно, почему бы всё это не сделать, юзая, как я уже упоминал, только OllyDbg, OlluScript (и то необязательно) и OllyDump?
впрочем, я это вариант и так уже предлагал

-----
EnJoy!



. 1 . 2 . >>
 eXeL@B —› Основной форум —› Помогите распаковать
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати