![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| tigger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 456 Регистрация: 30.4.2005 Репутация: нет Всего: 4 |
Хочу написать программу которая может в другой программе установить точку останова по указанному адресу (int 3) и прочитать значения регистров.
Кто чем, помогите. |
|||
|
||||
| digs |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 14.10.2006 Репутация: нет Всего: 1 |
tigger
Если программа не твоя, то вряд ли удастся. Это же принцип защищенного режима. Ты видишь только адресное пространство своего процесса... ИМХО не получится |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
tigger, поищи в поисковике про технологию создания ArtMoney.
|
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Удастся, так работают все юзермодные дебагеры, и для этого есть набор апишек. Значения регистров - GetThreadContext. С бряками не помню, но в нете куча инфы по Debug Api. В хелпе смотри функции:
-------------------- Обижено школьников: 8 |
|||
|
||||
| tigger |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 456 Регистрация: 30.4.2005 Репутация: нет Всего: 4 |
Хорошо буду пробовать
|
|||
|
||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
Да, действительно сложного в этом ничего нет, достаточно создать процесс с аттрибутами DEBUG_PROCESS+DEBUG_ONLY_THIS_PROCESS, а далее просто создаётся обработчик отладочных событий, в качестве примера можешь посмотреть написанный мною унпакер для FSG, там всё целиком и полностью построено на DebugApi(тебе надо обратить внимание на функцию UnPackFile, на DumpFile не смотри, иначе запутаешься, то, что там тебе ненужно
Ещё хотелось бы сделать оговорку, в данном случае ты пишешь не трейсер, т.к. трейс - это пошаговая отладка, т.е. остановка после каждой выполненной команды, чтобы реализовать такое нужно установить флаг TF(TraceFlag) и обарбатывать отладочное событие EXCEPTION_SINGLE_STEP. Вообще найди 83 выпуск журнала Хакер и прочти статью: "Строим отладчик", там всё это подробно рассмотрено. Это сообщение отредактировал(а) BUGOR - 15.10.2006, 07:42 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |