Сейчас на форуме: _MBK_, ManHunter, Magister Yoda, rtsgreg1989 (+9 невидимых) |
eXeL@B —› Основной форум —› Распаковка фильтра для Фотошопа |
Посл.ответ | Сообщение |
|
Создано: 11 сентября 2005 14:19 · Личное сообщение · #1 Приветствую всех обитателей форума. Я новичок в этом деле и меня интересует вот какой вопрос. Попался мне один фильтр для Фотошопа Akvis Coloriage. Фильтр предназначен для раскраски черно-белых фото. При запуске появляется наг скрин говорящий что им можно пользоваться 10 дней. Натравил на него Peid и узнал что он упакован ASPack 2.12 -> Alexey Solodovnikov. Обычные программы упакованные аспаком я могу распаковать, но как быть с этим ? Подскажите пожайлуста как мне его распаковать. |
|
Создано: 11 сентября 2005 14:38 · Личное сообщение · #2 |
|
Создано: 11 сентября 2005 14:45 · Личное сообщение · #3 |
|
Создано: 11 сентября 2005 15:04 · Личное сообщение · #4 |
|
Создано: 11 сентября 2005 15:06 · Личное сообщение · #5 |
|
Создано: 11 сентября 2005 15:09 · Личное сообщение · #6 |
|
Создано: 11 сентября 2005 15:16 · Личное сообщение · #7 |
|
Создано: 11 сентября 2005 15:23 · Личное сообщение · #8 |
|
Создано: 11 сентября 2005 15:33 · Личное сообщение · #9 |
|
Создано: 11 сентября 2005 15:35 · Личное сообщение · #10 |
|
Создано: 11 сентября 2005 15:42 · Личное сообщение · #11 |
|
Создано: 11 сентября 2005 16:41 · Личное сообщение · #12 |
|
Создано: 11 сентября 2005 16:59 · Личное сообщение · #13 |
|
Создано: 11 сентября 2005 18:27 · Личное сообщение · #14 |
|
Создано: 11 сентября 2005 18:56 · Личное сообщение · #15 |
|
Создано: 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 |
|
Создано: 13 сентября 2005 19:09 · Личное сообщение · #17 DillerInc пишет: Например,как восстановить импорт этого модуля в ImpRec'е? Выбрать основной процесс (Photoshop.exe), а потом через "Pick DLL" выбрать модуль? Да DillerInc пишет: Далее нашёл OEP - либо 15748FA0, либо 15648FA0 - т.е. младшее слово является статичным в этой величине,а старшее изменяется в соответствии с адресом базовой загрузки...так что-ли? Да DillerInc пишет: И какой OEP теперь прописывать в ImpRec'е? без Image Base |
|
Создано: 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 |
|
Создано: 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 |
|
Создано: 13 сентября 2005 19:46 · Поправил: Asterix · Личное сообщение · #20 |
|
Создано: 13 сентября 2005 20:44 · Личное сообщение · #21 Asterix пишет: Почти, только вместо 10000000 используй реальный адрес загрузки модуля ...что-то я задолбался уже с этим модулем - что только я не вписывал в это поле "ОЕР", каждый раз ImpRec посылает меня подальше . Asterix, а мог бы ты подробнее объяснить, в чём суть твоего патча ? ----- the Power of Reversing team |
|
Создано: 13 сентября 2005 20:47 · Личное сообщение · #22 |
|
Создано: 13 сентября 2005 22:04 · Личное сообщение · #23 |
|
Создано: 13 сентября 2005 22:51 · Личное сообщение · #24 |
eXeL@B —› Основной форум —› Распаковка фильтра для Фотошопа |