semiono
Долгожитель форума
 Откуда: Арзамас Всего сообщений: 383 Рейтинг пользователя: 2 Дата регистрации на форуме: 2 сен. 2006
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 9 сентября 2006 5:54 Сообщение отредактировано: 9 сентября 2006 6:02
Как известно распаковка приложений происходит в три этапа.
Поиск OEP в OllyDbg, снятие дампа в PETools и восстановление
таблицы импорта в ImpREC. В случае с Yoda's protector также
следует выполнить некоторые дополнительные действия, чтобы
скрыть OllyDbg от защитных функций протектора.
Откроем упакованный dll в OllyDbg. Как и всегда сложность состоит
в том, что мануал используемый мной написан по exe, а мы загружаем
dll, поэтому Olly нам предложит использовать для загрузки Loaddll.exe.
Несмотря на первые уже сложности мы всё же оказываемся по адресу
7C90EB94 | C3 | RETN - точь в точь как в мануале.
Теперь задачей является отключение BlockInput, API которая бы
пыталась блокировать клавиатуру и мышь.
Делаем переход Goto>Expression [BlockInput], оказываемся тут
77D9C61A . Чтобы функция не работала эту и две следующие
строки превращаем в NOP - Binary>Fill with NOPs,
После NOPs ставим breakpoint, зачем я и сам не знаю.
Следующая задача обезвредить API закрывающую дебаггер.
Делаем переход на [GetCurrentProcessId], оказались опять, что
удивительно точно как в мануальчике по адресу
7C80994E. Берём сразу вторую строчку и превращаем в NOP.
Первую строку надо исправить на MOV EAX, PID ольки,
который мы видем в PETools - он не постоянный.
Для этого выполним Assemble и исправим, например на
MOV EAX,748.
Далее нам предлагают нажать дважды F9 остановились на
77D9C626. Далее ввиду того что man довольно ветхий
не совсем видно, но помоему тут снимается предыдущий брэйк.
Теперь осталось обезвредить последнюю API,
делаем переход на [IsDebuggerPresent] и оказываемся хз где?!
7C812E03 | -FF25 1E00055F | JMP DWORD PTR DS:[5F05001E]
хотя надо чтоб по этому адресу было
64:A1 180 00000 | MOV EAX DWORD PTR FS:[18]
Один раз мне как-то удалось правильно туда попасть сам не знаю как.
Кстати, я пробовал и эксешник, тоже самое выходит.
У меня такое впечатление, что олька только первый раз нормально
работает, а потом какие-то фокусы начинаются, мистика какая-то?
Может в реестр что-то записывается по ходу дела?
--- a peoples must know what is cost an opium for the race?
|