Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание трейсера, с чего начать 
:(
    Опции темы
tigger
Дата 14.10.2006, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 456
Регистрация: 30.4.2005

Репутация: нет
Всего: 4



Хочу написать программу которая может в другой программе установить точку останова по указанному адресу (int 3) и прочитать значения регистров.
Кто чем, помогите.


--------------------
user posted image
PM MAIL   Вверх
digs
Дата 14.10.2006, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 14.10.2006

Репутация: нет
Всего: 1



tigger
Если программа не твоя, то вряд ли удастся. 
Это же принцип защищенного режима. Ты видишь только адресное пространство своего процесса...
ИМХО не получится
PM MAIL   Вверх
Zero
Дата 14.10.2006, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



tigger, поищи в поисковике про технологию создания ArtMoney.
PM MAIL ICQ   Вверх
bems
Дата 15.10.2006, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(digs @  14.10.2006,  21:41 Найти цитируемый пост)
Если программа не твоя, то вряд ли удастся. 
Удастся, так работают все юзермодные дебагеры, и для этого есть набор апишек. Значения регистров - GetThreadContext. С бряками не помню, но в нете куча инфы по Debug Api. В хелпе смотри функции:
  • ContinueDebugEvent
  • DebugActiveProcess
  • DebugBreak
  • FatalExit
  • FlushInstructionCache
  • GetThreadContext
  • GetThreadSelectorEntry
  • IsDebuggerPresent 
  • OutputDebugString
  • ReadProcessMemory
  • SetDebugErrorLevel
  • SetThreadContext
  • WaitForDebugEvent
  • WriteProcessMemory
Сам не пробовал, но по крайней мере будешь знать откуда начать smile 




--------------------
Обижено школьников: 8
PM MAIL   Вверх
tigger
Дата 15.10.2006, 04:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 456
Регистрация: 30.4.2005

Репутация: нет
Всего: 4



Хорошо буду пробовать


--------------------
user posted image
PM MAIL   Вверх
BUGOR
Дата 15.10.2006, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



Да, действительно сложного в этом ничего нет, достаточно создать процесс с аттрибутами  DEBUG_PROCESS+DEBUG_ONLY_THIS_PROCESS, а далее просто создаётся обработчик отладочных событий, в качестве примера можешь посмотреть написанный мною унпакер для FSG, там всё целиком и полностью построено на DebugApi(тебе надо обратить внимание на функцию UnPackFile, на DumpFile не смотри, иначе запутаешься, то, что там тебе ненужноsmile ): http://hunger.ru/releases/ufsg

Ещё хотелось бы сделать оговорку, в данном случае ты пишешь не трейсер, т.к. трейс - это пошаговая отладка, т.е. остановка после каждой выполненной команды, чтобы реализовать такое нужно установить флаг TF(TraceFlag) и обарбатывать отладочное событие EXCEPTION_SINGLE_STEP.

Вообще найди 83 выпуск журнала Хакер и прочти статью: "Строим отладчик", там всё это подробно рассмотрено.

Это сообщение отредактировал(а) BUGOR - 15.10.2006, 07:42


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3620 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.