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

 eXeL@B —› Основной форум —› Распаковка фильтра для Фотошопа
Посл.ответ Сообщение

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

Создано: 11 сентября 2005 14:19
· Личное сообщение · #1

Приветствую всех обитателей форума. Я новичок в этом деле и меня интересует вот какой вопрос. Попался мне один фильтр для Фотошопа Akvis Coloriage. Фильтр предназначен для раскраски черно-белых фото. При запуске появляется наг скрин говорящий что им можно пользоваться 10 дней. Натравил на него Peid и узнал что он упакован ASPack 2.12 -> Alexey Solodovnikov. Обычные программы упакованные аспаком я могу распаковать, но как быть с этим ? Подскажите пожайлуста как мне его распаковать.




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

Создано: 11 сентября 2005 14:38
· Личное сообщение · #2

Экстасенсов тут нет. Нет ни ссылки, ни файла. И вообще ПЕИД может ошибся. Юзай ASPackDie или Stripper.



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

Создано: 11 сентября 2005 14:45
· Личное сообщение · #3

akvis.com/download/akvis-coloriage-setup.exe сам фильтр ~4 048 Kb. А разве ASPackDie распаковывает нетолько exe файлы ?



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 11 сентября 2005 15:04
· Личное сообщение · #4

Так фильтр и есть exe-файл (ну или dll)



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

Создано: 11 сентября 2005 15:06
· Личное сообщение · #5

Фильтр имеет расширение 8bf.



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 11 сентября 2005 15:09
· Личное сообщение · #6

Содержимое файла не определяется расширением
В PEEditor какой-нибудь закинь его и посмотри.



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

Создано: 11 сентября 2005 15:16
· Личное сообщение · #7

Так как же мне его распаковать ?)



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 11 сентября 2005 15:23
· Личное сообщение · #8

Archer пишет:
Юзай ASPackDie или Stripper




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

Создано: 11 сентября 2005 15:33
· Личное сообщение · #9

ASPackDie - Unknow error, Stripper- вообще его не открывает



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 11 сентября 2005 15:35
· Личное сообщение · #10

Ну тогда руками.
Это-ж аспак!



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

Создано: 11 сентября 2005 15:42
· Личное сообщение · #11

попробуем *)



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 11 сентября 2005 16:41
· Личное сообщение · #12

hr esp-4



Ранг: 54.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 11 сентября 2005 16:59
· Личное сообщение · #13

Scanning -> C:\Program Files\AKVIS\Coloriage\Coloriage.8bf
File Type : Dll, Size : 1039872 (0FDE00h) Bytes
[!] ASProtect v1.23 detected !




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

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

OpiUM пишет:
Фильтр имеет расширение 8bf.


Переименуй в длл. Олю в руки и вперёд.



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

Создано: 11 сентября 2005 18:56
· Личное сообщение · #15

Спасибо всем буду учится *)




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

Создано: 13 сентября 2005 19:03
· Личное сообщение · #16

Решил я поковырять этот фильтр для Photosohop,а так как это своего рода библиотека,то у меня возникли некоторые непонятки.
Например,как восстановить импорт этого модуля в ImpRec'е? Выбрать основной процесс (Photoshop.exe), а потом через "Pick DLL" выбрать модуль?
Далее нашёл OEP - либо 15748FA0, либо 15648FA0 - т.е. младшее слово является статичным в этой величине,а старшее изменяется в соответствии с адресом базовой загрузки...так что-ли?
Сам же Image Base равен 10000000 .
И какой OEP теперь прописывать в ImpRec'е?

P.S. Да,кстати,как же это ASProtect - это же самый настоящий ASPack...

-----
the Power of Reversing team




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

Создано: 13 сентября 2005 19:09
· Личное сообщение · #17

DillerInc пишет:
Например,как восстановить импорт этого модуля в ImpRec'е? Выбрать основной процесс (Photoshop.exe), а потом через "Pick DLL" выбрать модуль?


Да

DillerInc пишет:
Далее нашёл OEP - либо 15748FA0, либо 15648FA0 - т.е. младшее слово является статичным в этой величине,а старшее изменяется в соответствии с адресом базовой загрузки...так что-ли?


Да

DillerInc пишет:
И какой OEP теперь прописывать в ImpRec'е?


без Image Base




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

Создано: 13 сентября 2005 19:33
· Личное сообщение · #18

Asterix пишет:
без Image Base

...ну, ясно,что без Image Base.
Проблема в том,из чего его вычислять:
15748FA0-10000000 ...или
28FA0-10000000 ...

Значение 28FA0 взято отсюда:

ADD EAX, [EBP+XXXXXXXX]; EAX = 28FA0, [EBP+XXXXXXXX] = базовая загрузка(например, 15620000)
POPAD
JZ
RET
PUSH EAX
RET ; на ОЕР

-----
the Power of Reversing team




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

Создано: 13 сентября 2005 19:42 · Поправил: Asterix
· Личное сообщение · #19

DillerInc
Я тут минитутор недавно не в тему постил, вот сюда он как раз подходит


Переход на 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
---------------------------------------------------------------



нужно, например, пропатчить байт по адресу 14002836 на 0x74
-----------------------------------------------------------
т.к. это dll(грузится по разным адресам) то нужно обязательно учесть
это обстоятельство в патче, поэтому место для патча должно вычисляться
через ebp, как это делает сам ASPack когда прописывает оригинальную точку
входа

патч вписываем по адресу 14022100 в области нулей(это выравнивание секции)
14022100: mov     BYTE PTR [ebp-X], 074
          mov     [ebp+3A8h], eax ; эту команду нужно обязательно вставить в патч,
т.к. мы затрем эту команду ASPack'а прописывая прыжок на наш патч
          jmp     140213AF



вычисляем ebp на виндовом калькуляторе в hex режиме:

ebp+3A8 = 140213BA + 1
ebp = 140213BA + 1 - 3A8 = 14021013

теперь вычислим константу X:

ebp-X = 14002836
X = ebp - 14002836 = 14021013 - 14002836 = 1E7DD

теперь патч примет вид:

14022100: mov     BYTE PTR [ebp-1E7DD], 074h
          mov     [ebp+3A8h], eax
          jmp     140213AF

вот так это выглядит в Ида:
.aspack:14022100                               loc_14022100:                           ; CODE XREF: start+3A8j
.aspack:14022100 C6 85 23 18 FE FF 74                          mov     byte ptr [ebp-1E7DDh], 74h
.aspack:14022107 89 85 A8 03 00 00                             mov     [ebp+3A8h], eax
.aspack:1402210D E9 9D F2 FF FF                                jmp     loc_140213AF



и теперь впишем jmp на патч:

.aspack:140213A7 0B C9                        or      ecx, ecx
.aspack:140213A9 E9 52 0D 00 00               jmp     near ptr unk_14022100
.aspack:140213A9                               ; ---------------------------------------------------------------------- -----
.aspack:140213AE 90                           db  90h ; Р
.aspack:140213AF                               ; ---------------------------------------------------------------------- -----
.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




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

Создано: 13 сентября 2005 19:46 · Поправил: Asterix
· Личное сообщение · #20

DillerInc пишет:
15748FA0-10000000 ...или


Почти, только вместо 10000000 используй реальный адрес загрузки модуля




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

Создано: 13 сентября 2005 20:44
· Личное сообщение · #21

Asterix пишет:
Почти, только вместо 10000000 используй реальный адрес загрузки модуля

...что-то я задолбался уже с этим модулем - что только я не вписывал в это поле "ОЕР", каждый раз ImpRec посылает меня подальше .

Asterix, а мог бы ты подробнее объяснить, в чём суть твоего патча ?

-----
the Power of Reversing team




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

Создано: 13 сентября 2005 20:47
· Личное сообщение · #22

DillerInc
В смысле? Этот патч для модуля Ида, правит Ильфаковские баги, я писал тутор для какого-то чела на ру-борд. Смысл в том чтобы не распаковывать то что не нужно распаковывать ;)




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

Создано: 13 сентября 2005 22:04
· Личное сообщение · #23

Господа,может кто-нибудь ковырнул бы эту хрень,а то я чувствую,что начинаю садиться в лужу .

-----
the Power of Reversing team




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

Создано: 13 сентября 2005 22:51
· Личное сообщение · #24

DillerInc
Слишком много весит для меня


 eXeL@B —› Основной форум —› Распаковка фильтра для Фотошопа
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати