Сейчас на форуме: ManHunter, Magister Yoda, rtsgreg1989 (+10 невидимых) |
![]() |
eXeL@B —› Основной форум —› нужен совет по pcguard |
Посл.ответ | Сообщение |
|
Создано: 23 мая 2005 20:05 · Личное сообщение · #1 Доброе время суток. Начал исследовать PCGuard 5.0D. Сама дема распаковалась PEID, а вот то, что ей было обжато - нет. Посмотрел код, нашел и удалил блоки мусора, определил алгоритм и момент выхода из первого шага расшифровки загрузчика. Код для расшифровки переписал, а подготовку оставил "родную" из-за некоторого количества констант, отличающихся в разных файлах. получилось что-то вроде такого (образ жертвы загружен, растянут как надо, настроен, импорт выполнен): - нашел адрес проверки условия цикла (dec ecx,jmp$+1,Junk,jnz....,jmp...) - пхнул туда Jmp на свой код - чтобы получить неиспохабленные регистры (после первого шага цикла, но это столь важно) - взял EP жертвы и выполнил туда Jmp. На свой код я вернулся, регистры получил, расшифровку выполнил. А вот дальше, когда надо бы жертву обратно на диск кинуть, начинается самое интересное - вызов CreateFileA отваливается с int 3. В pcguard-овой "шкурке", правда, вход в цикл расшифровки проводится при помощи SEH, причем полезный код лежит в обработчике исключения.... Не понимаю, как это может повлиять, если восстановление предыдущего обработчика проходит нормально. Может, видел кто-нибудь что-то подобное, или знает как обойти.... Хелп, плиз. А то идея-то в том, чтоб полностью пройти пакер и шкуру за шкурой с него содрать. ![]() |
|
Создано: 24 мая 2005 11:40 · Личное сообщение · #2 [b]entusiast[/b Что то все как-то сложно, он по моему проще намного снимается. Прыгает в свою dll, проверяет регистрацию и если все ок то передает управление на оеп. Если рег. кода нет то расшифровать не выйдет, если есть, то можно ставить Dword Hardware on Access на ESP-4 в оле. После подтверждения рег.кода брякнемся на оеп. ![]() ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels ![]() |
|
Создано: 24 мая 2005 20:45 · Поправил: entusiast · Личное сообщение · #3 А у меня интерес пока спортивный (см ник :s5 ![]() Ключа, конечно, нет ![]() А каким образом он тогда ухитряется вообще что-то расшифровывать? Генерит ключ на основе оригинала чтоли? Если так, то тогда на софтину один ключ всего. А если участвует MID, то под каждую машинку перешифровывать дОлжно.... непохоже. Кстати, что есть Site ID? И еще вопрос, на самом деле, ко всем. Ухитрился не найти примера как дебагеры ставят хардв. бряк. Вроде ж как нельзя из ring3 обращаться к DR*.... ![]() |
|
Создано: 24 мая 2005 21:41 · Личное сообщение · #4 |
|
Создано: 24 мая 2005 21:54 · Личное сообщение · #5 |
![]() |
eXeL@B —› Основной форум —› нужен совет по pcguard |