![]() |
eXeL@B —› Протекторы —› Вопросы по Obsidium |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 08 ноября 2008 16:24 · Поправил: Модератор · Личное сообщение · #1 Сегодня смотрел обсидиум на боликах.Впринципе ничё серьёзного не заметил и прогу распаковал,только осталось несколько вопросов. В коде встречается динамическая раскриптовка вида: 004XXXXX 68 90000000 PUSH 90 004XXXXX FF15 E267C000 CALL DWORD PTR DS:[C067E2] Это лечится бинарным копирование после расшифровки и занопливаем затем ненужных криптующих и раскриптующих call. Ещё в коде встречается такое: 00793857 55 PUSH EBP 00793858 68 3E397900 PUSH 0079393E 0079385D 64:FF30 PUSH DWORD PTR FS:[EAX] 00793860 64:8920 MOV DWORD PTR FS:[EAX],ESP 00793863 FF15 E667C000 CALL DWORD PTR DS:[C067E6] ---------------------------------------------------------------------- ---------- тут мусор ---------------------------------------------------------------------- ---------- jmp на нормальный код Весь этот мусор отрабатывает в секции протектора.Я никак чё-то не додумаюсь как эту хрень восстанавливать.С этой хернёй я боролся так: просто прилепил к дампу две секции протектора.Плюс конечно есть:не нужно востанавливать динамическую раскриптовку и прекрасно работают апи обсида.Возможно будет работать и регистрация.Не знаю не проверял.Но как-то не красиво получается,хочется обойтись без секций прота.Хотелось бы услышать кто как справляется с этим. ![]() Далее нашёл апи обсида: 0054783C - FF25 983E9B00 JMP DWORD PTR DS:[9B3E98] ; \GetRegState 00547842 8BC0 MOV EAX,EAX 00547844 - FF25 943E9B00 JMP DWORD PTR DS:[9B3E94] ; \name 0054784A 8BC0 MOV EAX,EAX 0054784C - FF25 903E9B00 JMP DWORD PTR DS:[9B3E90] ; \trial day 00547852 8BC0 MOV EAX,EAX 00547854 - FF25 8C3E9B00 JMP DWORD PTR DS:[9B3E8C] ; 0054785A 8BC0 MOV EAX,EAX 0054785C - FF25 883E9B00 JMP DWORD PTR DS:[9B3E88] ; \CheckRegCode Не могу понять нахера ещё одна апи.Для ключа что-ли?И как точно можно узнать что считывает каждая апи.Ну с CheckRegCode понятно:один раз считывается при проверке имени и ключа,а вот с остальными.....Трейсить эти апи в оригинале у меня не получается,слишком много исключений ![]() ![]() |
|
Создано: 23 января 2009 19:49 · Личное сообщение · #2 |
|
Создано: 24 января 2009 06:35 · Личное сообщение · #3 |
|
Создано: 24 января 2009 13:19 · Личное сообщение · #4 pavka пишет: Эта опция джек называется виртуализация ;) или вм кому как удобней Да я уже понял уже это виртуализация. Дело в том что она же появилась, только в 1.4 beta, а уменя этой версии не было. Только не давно скачал и увидел. pavka пишет: А наг убирается одним байтом Возможно, но только где пропатчить найти не могу. Ты же вроде убирал наг, может подскажешь? ![]() ![]() |
|
Создано: 24 января 2009 15:58 · Личное сообщение · #5 |
|
Создано: 25 января 2009 05:42 · Поправил: Djeck · Личное сообщение · #6 pavka пишет: Схема убирания нагов пракический всегда одинова! Протектишь екзешник, находишь функу нага. Открывешь в дебагере прот суешь ему екзешник для протекта , и в любом удобном месте когда стаб записан , до компрессии, правишь функу любым удобным для тебя способом ( изменяешь аргументы, нопишь и т.п) Ёпанный я ландух ![]() 003908CB 6A 10 PUSH 10 003908CD 50 PUSH EAX 003908CE 51 PUSH ECX 003908CF 6A 00 PUSH 0 003908D1 68 8E5D2D57 PUSH 572D5D8E 003908D6 6A 01 PUSH 1 003908D8 FF53 18 CALL DWORD PTR DS:[EBX+18] В мусоре, когда нопил верхний Push 10 не зацепил, поэтому прога падала. Всё pavka спасибо за наводку, убрал наг. ![]() ![]() |
<< . 1 . 2 . |
![]() |
eXeL@B —› Протекторы —› Вопросы по Obsidium |
Эта тема закрыта. Ответы больше не принимаются. |