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

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

 eXeL@B —› Крэки, обсуждения —› И снова aspr 1.23rc4.
Посл.ответ Сообщение

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

Создано: 21 апреля 2005 12:04 · Поправил: kas1e New!
Цитата · Личное сообщение · #1

Всем привет. Думаю вопрос уже всех основательно задолбавший, но надеюсь на понимание В общем ситуация такая, есть триальная программка. Работает пару месяцев с попапом о регистрации. Регистрация такая: 3 поля: Hardware ID генерится автоматом + username. Это отсылается авторам на основе чего они генерят ключ,присылают и его уже вбиваем в третье поле.

Итак,

PiEd сказал - ASProtect 1.23 RC4 - 1.3.08.24 -> Alexey Solodovnikov


Stripper_v211rc1: распаковка идет, как только процесинг импорт соответвенно вываливает весь [import], делаем save не удаляя ничего, получаем на выходе фразу о OEP: 00a5cf7a, сохраняемся. Пытаюсь на халяву запустить, само собой хера. В свединьях эксепшен code: 0xc0000005. Дабы узнать на чем написано прога запускаю Pied на дамп, говорит Borland Delphi 6.0 - 7.0. Ок.


Пробую восстановить секцию импорта через imprec, ему нужны oep/va/rva и тд, все похоже автоматом узнает, кроме oep. Вбиваю то которое выдал stripper. (предварительно дошел в оле до того момента после которого уже запускается непосредственно распакованная прога) - invalid oep. Пробую petools опцию "genereic OEP finex fx". Находит мне порядка 100 возмонжных которые само собой все проверять не серьезно Проверил 3-4 на глаз более менее на чтото похожие, в одном нашлись user32 импорты, в других бред, кернела не встретил

Соответвенно надо искать oep руками. Беру олю, isdebuggerpresent в hide, и двигаю по shift+f9 переодически останалвиваясь на всяком хламе пока не дохожу до такого момента:


00E339EC 3100 XOR [DWORD DS:EAX],EAX
00E339EE 64:8F05 00000000 POP [DWORD FS:0]
00E339F5 58 POP EAX
00E339F6 833D B07EE300 00 CMP [DWORD DS:E37EB0],0
00E339FD 74 14 JE SHORT 00E33A13
00E339FF 6A 0C PUSH 0C
00E33A01 B9 B07EE300 MOV ECX,0E37EB0
00E33A06 8D45 F8 LEA EAX,[DWORD SS:EBP-8]
00E33A09 BA 04000000 MOV EDX,4
00E33A0E E8 2DD1FFFF CALL 00E30B40
00E33A13 FF75 FC PUSH [DWORD SS:EBP-4]
00E33A16 FF75 F8 PUSH [DWORD SS:EBP-8]
00E33A19 8B45 F4 MOV EAX,[DWORD SS:EBP-C]
00E33A1C 8338 00 CMP [DWORD DS:EAX],0
00E33A1F 74 02 JE SHORT 00E33A23
00E33A21 FF30 PUSH [DWORD DS:EAX]
00E33A23 FF75 F0 PUSH [DWORD SS:EBP-10]
00E33A26 FF75 EC PUSH [DWORD SS:EBP-14]
00E33A29 C3 RETN


Один в один как описано в одном из туториалов касаемо 1.23rc4. Далее все в тех же туторилах советуется ставишь break at memory access на секцию кода распакованной проги, и после этого продолжать выполнение програмки и она выпадит прям на entry point оригинальный, а вверху будут украденные байты. Делаю, ставлю, shift_f9, бабах:

004069DC FF DB FF
004069DD 25 DB 25 ; CHAR '%'
004069DE C4 DB C4
004069DF 82 DB 82
004069E0 6B DB 6B ; CHAR 'k'
004069E1 00 DB 00
004069E2 8B DB 8B
004069E3 C0 DB C0
004069E4 FF DB FF
004069E5 25 DB 25 ; CHAR '%'
004069E6 C0 DB C0
004069E7 82 DB 82
004069E8 6B DB 6B ; CHAR 'k'
004069E9 00 DB 00
004069EA 8B DB 8B

Непонимаю почему не код, как будто как в данные упало, но может просто олю не настроил както, делаю анализ коде на этом месте чтобы посмотреть в удобочитаемом виде:


004069DC $-FF25 C4826B00 JMP [DWORD DS:6B82C4]
004069E2 8BC0 MOV EAX,EAX
004069E4 $-FF25 C0826B00 JMP [DWORD DS:6B82C0]
004069EA 8BC0 MOV EAX,EAX
004069EC $-FF25 BC826B00 JMP [DWORD DS:6B82BC]
004069F2 8BC0 MOV EAX,EAX
004069F4 $-FF25 B8826B00 JMP [DWORD DS:6B82B8]
004069FA 8BC0 MOV EAX,EAX


Странновато. Особенно то, что джамп по DS.. Но возможно я торможу и это и есть oep значит вверху как раз нулей немножко должно быть или нопов, а там зло:

004069BA . A3 C0556B00 MOV [DWORD DS:6B55C0],EAX
004069BF . EB 0F JMP SHORT Proga.004069D0
004069C1 > E8 8AA9FFFF CALL Proga.00401350
004069C6 . E8 75FEFFFF CALL Proga.00406840
004069CB . A3 C0556B00 MOV [DWORD DS:6B55C0],EAX
004069D0 > E8 03AAFFFF CALL Proga.004013D8
004069D5 . A3 34506B00 MOV [DWORD DS:6B5034],EAX
004069DA > C3 RETN
004069DB 90 NOP


Тоесть видимо не то совсем, ради успокоения вбиваю 004069DC в imprec как oep, и он бедный аж подвисает на секунд 30 чтобы потом сказать что я осел

Еду далее, джампую по f8 и попадаю в такое счастье:


00E31C64 55 PUSH EBP
00E31C65 8BEC MOV EBP,ESP
00E31C67 8B45 08 MOV EAX,[DWORD SS:EBP+8]
00E31C6A 85C0 TEST EAX,EAX
00E31C6C 75 13 JNZ SHORT 00E31C81
00E31C6E 813D A47AE300 00>CMP [DWORD DS:E37AA4],400000 ; ASCII "MZP"
00E31C78 75 07 JNZ SHORT 00E31C81
00E31C7A A1 A47AE300 MOV EAX,[DWORD DS:E37AA4]
00E31C7F EB 06 JMP SHORT 00E31C87
00E31C81 50 PUSH EAX
00E31C82 E8 3135FFFF CALL 00E251B8 ; JMP to kernel32.GetModuleHandleA
00E31C87 5D POP EBP ; 0012FFC0
00E31C88 C2 0400 RETN 4
00E31C8B 90 NOP
00E31C8C FF35 147EE300 PUSH [DWORD DS:E37E14]
00E31C92 58 POP EAX


Насколько я вижу идет "prologue" , тоесть либо это натуральная функция, либо это вообще начало самое проги, к томуже проверка на mzp, и kernel32.GetModuleHandleA. Вбиваю этот адрес как oep в imprec, invalid oep. Уже не в силах делать чтото далее вбиваю 0012FFC0 (pop ebp в конце) находи импорт от user32.dll. не оно .. Напоследок поднялся вверх глянуть, может там нули притаились, нет..


В общем вопрос, где оно и какого я падаю не понять куда

ps. Особо не пинайте, я только вчера первый раз олю запустил, за 20 часов подустал чтобы хоть немного думать

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

Создано: 21 апреля 2005 21:45 New!
Цитата · Личное сообщение · #2

А как програмка называется, а то по описаниям очень плохо понимаю


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

Создано: 21 апреля 2005 22:29 New!
Цитата · Личное сообщение · #3

kas1e
Из твоего поста видно непонимание принципа распаковки и формата PE. Читай какие-нить статьи про более простые пакеры чем аспр и потренируйся на них для начала ;)

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

Создано: 21 апреля 2005 23:06 New!
Цитата · Личное сообщение · #4

2DrGits: Прога от altec.ru, "Прием Заказов". На сайте у них ее по моему нет, с компакта взята.

2mario555: Нужно уложиться в неделю с этим хламцом.. Не подскажешь, какие статьи стоит почитать/попробовать более конкретные ? Сейчас читаю сижу все подряд, но пока непонимаю почему падает не на oep как написано везде, а на джампы ..


Ранг: 1288.1 (!!!!)
Статус: Участник

Создано: 21 апреля 2005 23:08 · Поправил: Ara New!
Цитата · Личное сообщение · #5

kas1e
Потому что аспр сожрал твое ОЕП


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

Создано: 21 апреля 2005 23:22 New!
Цитата · Личное сообщение · #6

_http://syd.nightmail.ru/stripper.dhtml

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

Создано: 21 апреля 2005 23:47 New!
Цитата · Личное сообщение · #7

ara :
r99 : thnx ! v2.07final рапаковал нормально! теперь буду смотреть сравнивать, чтобы врубиться как работает сидова тулза

Ранг: 39.1 (посетитель)
Статус: Участник

Создано: 22 апреля 2005 00:37 New!
Цитата · Личное сообщение · #8

мдее, обычно ошибка 0xc0000005 возникает после распаковки из-за неправильных размеров секций или имэджа или чего-то там. короче запихиваем в петулз и в optional header тыкаем по 1 разу на каждый из 3 знаков '?' и пробуем запустить. если не поможет, тогда не знаю ;)

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

Создано: 22 апреля 2005 02:06 New!
Цитата · Личное сообщение · #9

kas1e пишет:
2DrGits
-млин, енто все-равно как :"Прошу прощения у Зуева , т.к. буквы Х и З на клавиатуре расположены близко, и иногда путаются"

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

Создано: 22 апреля 2005 06:23 New!
Цитата · Личное сообщение · #10

DrFits
сорри Имел дело с прогой кстати этой ? Там далеко не messagebox

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

Создано: 22 апреля 2005 11:26 New!
Цитата · Личное сообщение · #11

Поседел сегодня вторую ночь за прожкой и освоением сайса/etc и в целом разобрался вроде как все происходит. При запуске постоянно создает данных в HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\RNG\seed на 80 байт. Хз, что это пока, но как наивное предположение могу выдвинуть 2: либо это для отсчета триала либо это както с кеем связано.. При попытке зарегаться (вбил в форму хлама всякого) создало в реестре WorksLimit Key с данными которые я вбил. Т.е туда откидывает кей и при запуске видимо происходит чтото типа есть кей нету, если есть то 'jz/jne' (надеюсь ). Теперь осталось врубится в почти 3 меговую секцию кода, и найти тот самый момент где сверяется правильность ключа

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

Создано: 23 апреля 2005 06:23 New!
Цитата · Личное сообщение · #12

бл.ть, что-то я не врубаюсь, внутри помимо всего прочего нашел функции хаспа, и в .data фразы haspu16.dll имеются. hasp.log юзается, но не hasp.log'а , не вообще какихто вопросов и намеков о хаспе при запуске проги нет. Видимо потому, что демо версия, но вопрос тогда нах.я там вообще хасп упоминается в экзешнике ?
 eXeL@B —› Крэки, обсуждения —› И снова aspr 1.23rc4.

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