Псевдо отладчик к исходному коду, tracert debug отладчик трассировка |
Здравствуйте, гость ( Вход | Регистрация )
Псевдо отладчик к исходному коду, tracert debug отладчик трассировка |
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 |
|
|
Iron Bug |
10.3.2011, 16:17
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
отладчики в венде реализуются через запуск приложения с флагом отладки. если программа-хост определяет наличие отладчика по флагу, то отладка в принципе невозможна (во всяком случае, без хака программы). есть отладчики ядра, которые софт не видит, но про них можно целую отдельную главу написать и это не по теме на кросслпатформенном форуме. если охота копать в эту сторону, то нужно искать по именам DbgPrint user mode. это отладка через виртуальные машины или на двух компах, со спец. оборудованием. можно также заюзать утильку DebugView: останавливаться она не будет, но сообщения можно смотреть в риал-тайме и всячески фильтровать. DebugView запустится под XP без проблем и даже можно будет отлаживаться на одной машине, без виртуалок.
а так, логи можно самому вставить в дебажный код и смотреть в своих логах нужную инфу, запускаясь без отладчика. просто и без геморроя. Сообщение отредактировал Iron Bug - 10.3.2011, 16:17 |
|
|
Влад |
11.3.2011, 13:08
Сообщение
#3
|
Участник Группа: Участник Сообщений: 146 Регистрация: 20.3.2009 Из: Санкт-Петербург Пользователь №: 627 Спасибо сказали: 46 раз(а) Репутация: 8 |
Я делаю свой патч, но в программу встроена защита от отладки. Когда я пытаюсь приаттачиться к процессу, чтобы отладить dll, программа падает замертво Разработчик утверждает, что именно так и работат защита. Вот за такое нужно разработчику отрывать руки по самые... короче, по эти самые :-) Самый простой выход - отпатчить эту программу так, чтобы она не обнаруживала отладчика, и потом отлаживать свою DLL, как обычно. В большинстве случаев, используются либо функции IsDebuggerPresent (посмотри в импорте), либо прямой анализ флага в PE-структурах. PS: юридически такой патч совершенно законен и прямо разрешен законодательством РФ. Про другие страны - не в курсе :-( |
|
|
Iron Bug |
11.3.2011, 19:42
Сообщение
#4
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
Вот за такое нужно разработчику отрывать руки по самые... короче, по эти самые :-) вот это точно зачем такое уродство, если любой мало-мальски грамотный хакер сможет пропатчить код. а вот нормальным разработчикам руки связывать, да ещё если в программе предполагаются патчи - это вообще какой-то мегамаразм. а вот взломать код не так просто будет, если в этом не ковыряешься постоянно. тем более, что SoftICE прикрыли, а его китайский "аналог", пусть даже и с кряками, весь из себя кривой и какой-то недоделанный. в общем, не впечатляет ни разу. |
|
|
Rocky |
12.3.2011, 23:55
Сообщение
#5
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
|
|
|
Iron Bug |
13.3.2011, 11:10
Сообщение
#6
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
А можно по-подробнее? ну, вообще ещё несколько лет назад. из вики: Цитата Older versions exist for DOS and compatible operating systems. SoftICE was originally produced by a company called NuMega, and was subsequently acquired by Compuware in 1997, which in turn sold the property to Micro Focus in 2009. As of January 2011, Micro Focus owned the source code and patents, but was not actively maintaining the product for various technical and market reasons. по сути, компанию NuMega развалили, скупили и уничтожили, a продукт поддерживать стало некому. после этого сорцы попали в сеть. их подобрали какие-то китайцы и теперь клепают невесть что на их основе, продавая за деньги. это нечто, крякнутое, лежит на разных торрентах, но оно даже близко не дотягивает по уровню до SoftICE и не работает под многими системами (например, 64 бит и ещё некоторые варианты). я название китайской поделки не вспомню даже, но мне она не понравилась ни разу. Сообщение отредактировал Iron Bug - 13.3.2011, 14:59 |
|
|
Текстовая версия | Сейчас: 3.1.2025, 3:21 |