Сейчас на форуме: YDS, _MBK_, user99 (+11 невидимых)

 eXeL@B —› Основной форум —› Как отлаживать DLL если она грузиться через CreateProcess
Посл.ответ Сообщение

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

Создано: 03 февраля 2006 23:02
· Личное сообщение · #1

В общем программа PhotoRescue Pro 3.5 в демо версии при одним из ограничений являеться то что в окне картинки которую хочешь восстановить множество надписей Unregistered Version отображение этого окна происходит за счет View.dll пробовал ставить в Olly Break on new module так эта dll в списке даже не появляеться через брекпоинт на LoadLibrary тоже ничего не дал.После долгих исследований обнаружил что библиотека грузиться через createprocess,но остановиться на её функциях не получается.


ПС Пожалуйста не предлагайте отправлять в запросы на взлом мне эта программа особенно не нужна просто интересен сам процесс.К тому же основное ограничение(не возможность восстановления) я уже обошел.



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 04 февраля 2006 02:34
· Личное сообщение · #2

Может быть это EXE'шник. Так иногда делают какой-нибудь blablabla.dat и лодырь (loader) к нему. Если это ДЛЛка, то значит логично что должен быть экспорт и ессно часть кода, выполняющаяся при загрузке библиотеки. В любом случае, на месте EP можно поставить int3 и всё будет ок! Только старый байт восстановить не забудь )
timon пишет:
отображение этого окна происходит за счет View.dll

Занопить вызов ДЛЛки =)

-----
Я медленно снимаю с неё UPX... *FF_User*





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 04 февраля 2006 16:26
· Личное сообщение · #3

Много раз такое видел. Это 100% не библиотека, а обычный exe, поэтому ничего и не ловится. Ломай его отдельно как обычную прогу.

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 04 февраля 2006 16:38
· Личное сообщение · #4

Ну и главное - библиотеки не грузятся с помощью CreateProcess ) Такого не бывает. Может быть только что запущенный процесс загрузит библу, но в главном процессе она видна не будет.

-----
Недостаточно только получить знания:надо найти им приложение




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

Создано: 04 февраля 2006 17:11
· Личное сообщение · #5

AlexZ пишет:
Занопить вызов ДЛЛки =)
Занопить вызов DLL не подойдет так как она рисует все окно а не только надпись Unregistered User.Скорее всего это всё таки библиотека так как даже если периименовать её в view.exe и попытаться запустить через Olly то отладчик напишет что это библиотека и спросит запустить LoadDLL.exe a грузиться она след образом вызываеться CreateProcess где во втором параметре(что то там про командную строку)запускаеться Rundll32 которая и запускает эту View.dll Rascal пишет:
Может быть только что запущенный процесс загрузит библу, но в главном процессе она видна не будет.
а это как?

PS Спасибо всем за помощь обошелся Ida нашел в библиотеке участки кода отвечающие за прорисовку надписи о подправил переходы.



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

Создано: 04 февраля 2006 19:48
· Личное сообщение · #6

timon пишет:
Спасибо всем за помощь обошелся Ida нашел в библиотеке участки кода отвечающие за прорисовку надписи о подправил переходы.

Чего-то ты, по-моему, перехитрил.
Там можно просто бряк поставить BP CreateFileA и выловить открытие файла PhotoRescuePro.key (он по любому создаётся при попытке ввести ключ). Ну а сразу за открытием идёт тупая обработка содержимого (размер, данные, чёрный список и т.д.).
Короче говоря, как всегда – зри в корень!
Пачтчить нужно процедуру проверки регистрации.

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




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

Создано: 04 февраля 2006 22:08
· Личное сообщение · #7

Bitfry пишет:
Короче говоря, как всегда – зри в корень!
НУ ты конечно прав я сначала когда обнаружил что используеться файл PhotoRescuePro.key ставил бряк на ReadFile но у меня мозгов не хватило разобраться в проверке его правильности поэтому пришлось сделать так.




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 05 февраля 2006 13:45
· Личное сообщение · #8

timon пишет:
Rundll32 которая и запускает эту View.dll

Что ж ты сразу то не сказал про такую командную строку

-----
Недостаточно только получить знания:надо найти им приложение




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

Создано: 05 февраля 2006 18:24
· Личное сообщение · #9

timon пишет:
но у меня мозгов не хватило разобраться в проверке его правильности поэтому пришлось сделать так.

Вот сейчас посмотрел, думал, может действительно там хитрая защита.
Патч приличный делать мне конечно некогда, но если всё как ты говоришь (одно ограничение), то вот так вот в лоб, можно решить проблему.
Смотри:

004D8C02 E8 C5B3FDFF call PhotoRes.004B3FCC ; здесь проверка файла ключа

004D8C07 837D F0 00 cmp dword ptr ss:[ebp-10], 0 ; в EBP-10 "значение триала"
004D8C0B 0F9FC3 setg bl ;
004D8C0E 80F3 01 xor bl, 1 ; EBX теперь будет флагом демо-версии

004D8C11 33C0 xor eax, eax ; И выход...
004D8C13 5A pop edx
004D8C14 59 pop ecx
004D8C15 59 pop ecx
004D8C16 64:8910 mov dword ptr fs:[eax], edx
004D8C19 68 338C4D00 push PhotoRes.004D8C33
004D8C1E 8D45 F4 lea eax, dword ptr ss:[ebp-C]
004D8C21 BA 03000000 mov edx, 3
004D8C26 E8 49C0F2FF call PhotoRes.00404C74
004D8C2B C3 retn

Так вот если забить на проверку ключа, а сразу выставить флаг-демо в 0, то прога вроде больше не пристаёт... Вроде.
Типа так:

004D8C07 90 nop
004D8C08 90 nop
004D8C09 90 nop
004D8C0A 90 nop
004D8C0B 90 nop
004D8C0C 90 nop
004D8C0D 90 nop
004D8C0E 90 nop
004D8C0F 33DB xor ebx, ebx
004D8C11 33C0 xor eax, eax ; И выход...

ЗЫ Если я неправ – извините, времени сейчас совсем в обрез.

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




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

Создано: 05 февраля 2006 21:40 · Поправил: timon
· Личное сообщение · #10

Спасибо всем за ответы в принципе тему можно закрывать


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