crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

neosapient
  опции профиля:
сообщение 9.3.2011, 13:46
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 27.6.2008
Пользователь №: 216

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте.

Есть программа под Windows, которая умеет подгружать dll-патчи.
Я делаю свой патч, но в программу встроена защита от отладки. Когда я пытаюсь приаттачиться к процессу, чтобы отладить dll, программа падает замертво Разработчик утверждает, что именно так и работат защита.

Нужен програмный комплекс псевдоотладки работающий в два этапа:
1) Подготовка. Цель: наполнить исходник логами и встроить механизм работы с отладчиком.
Я "скармливаю" псевдоотладчику исходный код на С++. Псевдоотладчик парсит исходный код. Для каждой строчки кода вставляет лог/коментарий. Так же в исходный код вставляется серверная часть моей dll, для будущего взаимодействия с окном отладчика. Расставляются брейкпоинты, проходя через которые отладчик остановиться. Кстати, на против любой строчки кода должны устанавливаться брейкпоинты, только неактивные.
2) Рабочий режим. Цель: трассировка приложения в окне отладчика (по логам)
Из окна отладчика я должен подключиться к серверной части моей dll. Далее привычная отладка приложения


Есть ли такой псевдо отладчик? Чтобы сам в исходниках вставлял логи и, далее, работал как обычный отладчик?

P.S.
Windows XP
Visual Studio 2008
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Влад
  опции профиля:
сообщение 11.3.2011, 13:08
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 146
Регистрация: 20.3.2009
Из: Санкт-Петербург
Пользователь №: 627

Спасибо сказали: 46 раз(а)




Репутация:   8  


Цитата(neosapient @ 9.3.2011, 13:46) *
Я делаю свой патч, но в программу встроена защита от отладки. Когда я пытаюсь приаттачиться к процессу, чтобы отладить dll, программа падает замертво Разработчик утверждает, что именно так и работат защита.

Вот за такое нужно разработчику отрывать руки по самые... короче, по эти самые :-)
Самый простой выход - отпатчить эту программу так, чтобы она не обнаруживала отладчика, и потом отлаживать свою DLL, как обычно. В большинстве случаев, используются либо функции IsDebuggerPresent (посмотри в импорте), либо прямой анализ флага в PE-структурах.

PS: юридически такой патч совершенно законен и прямо разрешен законодательством РФ. Про другие страны - не в курсе :-(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 29.6.2025, 2:45