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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вытащить значения дебуг регистров, При этом написав код на Delphi, без асм! 
:(
    Опции темы
EvilsInterrupt
Дата 19.8.2007, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



Всем хай!

Вот ну не врубаюсь как написать код на дельфи так чтобы получить значения структуры при возникновении исключения )))

Может кто что делал уже подобное?

Это сообщение отредактировал(а) EvilsInterrupt - 19.8.2007, 15:11
PM MAIL WWW ICQ Jabber   Вверх
ne0n
Дата 19.8.2007, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

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



EvilsInterrupt,  вопервых без асм не обойтись(может я крнечно  чего то и не знаю... ), а во вторых с NT они стали привелигерованными и так просто с ними работать уже нельзя...

Это сообщение отредактировал(а) ne0n - 19.8.2007, 15:54
PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 19.8.2007, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



ne0n, ага ! Лечи тут мне еще ))) вишь статью Win32 SEH Мэтт Питрек, так там описана структура: Рисунок 1. Структура CONTEXT.

Чтобы получить дебаг регистры, то можно вставить преднамеренную багу ))) а винда вернет контекст, вот и все! ;) Ты их тут же правишь, востанавливаешь и говоришь продолжать ;) Какие нафиг привелигия нужны? ;)

Я это могу замудрить на асм-вставках, но очень бы хотелось бы увидеть и на чистом дельфи, если это конечно возможно.
PM MAIL WWW ICQ Jabber   Вверх
ne0n
Дата 19.8.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

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



а чем тебя асм вставки то не устраивают?!
PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 19.8.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



ne0n, Не то что не нравится, а то что в я дельфи много-го не знаю! ;) А хочу знать, потому то и спрашиваю ;)
PM MAIL WWW ICQ Jabber   Вверх
ne0n
Дата 19.8.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

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



EvilsInterrupt,  а ну ок тогда придеться юзать Debug Api...кстати походу я ошибался...только что щас нарыл у себя на винте номер всеми нелюбимого ][акера так Ms-rem обьясняет как построить свой трейсер(на debug api)...вот тебе ссылка:
http://gamefree.ru/2005/11/01/khaker_083__arkhiv_2005.html
PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 20.8.2007, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



ne0n, статья довольно старая и притом давно на wasm.ru лежит! Там вообще лежат актуальных на "сейчас" 6 статеек ;)
Тута посоветовался с челом, говорит можно "_context" заюзать и потом апишку ))) Буду поглядеть!

зы:
Как было все просто, когда на асме писал. Но асме писать ПО для работы с БД это извращение )))
PM MAIL WWW ICQ Jabber   Вверх
ne0n
Дата 20.8.2007, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

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



Цитата(EvilsInterrupt @  20.8.2007,  19:29 Найти цитируемый пост)
ne0n, статья довольно старая и притом давно на wasm.ru лежит!

не спорю, может и старая но актуальная, как был Debug Api, так и остался, где это она там лежит что то я не видел, может линк дашь?!

з.ы. а че за айпишка то?!

з.з.ы. а зачем тебе в по для работы с базами данных отлабочные регистры?!

Это сообщение отредактировал(а) ne0n - 20.8.2007, 23:47
PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 23.8.2007, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



ne0n, А это вспом. механизм для защиты ПО  от вредителей заработать мне денег )))
PM MAIL WWW ICQ Jabber   Вверх
ne0n
Дата 23.8.2007, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

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



EvilsInterrupt, хочешь проверять значение отладочных регистров, таками способом детиктить отладчик?! ИмХо есть полно способов поудобней и проще...мне кадеться надо копать в другую сторону...
PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 23.8.2007, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



ne0n, Неа, мысли шире! ;)
Берешь адрес важной процедуре в своей проге и добавляешь к нему дебаг-регистр и ложишь обратно и т.д. ;). 
Если брякпоинта нет, то в дебаг регистре 0 код не повредиться, а если бряка стоит, то код повредиться - значит так ему хакеру и надо!

ЗЫ:
Чтобы защитить ПО, надо использовать как можно больше трюков, а тот что я описал это один из них ;)
PM MAIL WWW ICQ Jabber   Вверх
sentry
Дата 23.8.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Code Monkey
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.1.2007
Где: Москва

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



Цитата(Крис Касперски)

Современные операционные системы и отладчики позволяют установить аппаратные точки останова. Аппаратная отладка основана на использовании специальных отладочных регистров (всего 8 регистров) и возможности простановки четырех контрольных точек  останова. 

Аппаратные точки останова никак не модифицируют код и, следовательно, не могут быть обнаружены традиционными   средствами. 

Однако существуют приемы, позволяющие, в принципе, обнаружить работу программы под аппаратной отладкой. Для этого можно использовать все отладочные регистры для нужд программы или поместить в отладочные регистры «мусор». Усиливается защита использованием всех четырех контрольных точек останова. Но реализация таких приемов требует высокой квалификации программиста и вряд ли оправдана, так как для взлома защиты нарушитель может воспользоваться другими технологиями и инструментами.

Для взлома механизмов защиты сегодня применяются мощные эмулирующие отладчики. Они самостоятельно (без помощи процессора) интерпретируют и выполняют команды исследуемой программы. Существуют так называемые отладчики с неполной эмуляцией. Эти отладчики интерпретируют только некоторые команды, а остальные выполняют на реальном процессоре.

Очевидно, что против таких отладчиков бессильны любые приемы противодействия. Поэтому «сегодня уже мало кто решается противодействовать отладчику и включать в свое приложение антиотладочный код. Мода на это давно прошла» [20, с. 140].

Единственным средством борьбы с отладкой сами хакеры называют эмуляторы процессора. 


PM MAIL   Вверх
EvilsInterrupt
Дата 23.8.2007, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



sentry, К чему эти строки? Вы читали  мои слова:
Цитата

ЗЫ:
Чтобы защитить ПО, надо использовать как можно больше трюков, а тот что я описал это один из них ;)

Такое чувство, что нет!

Дело в том, что сейчас, да и ранее так же было, не возможно создать абсолютно не ломаемую защиту! НО это не значит что ее не надо разрабатывать! Принцип таков: вашу защиту все равно обойдут, но ваше ПО будет дольше держаться, если у нее будет как можно сложней защита!

Глупо верить в слова: "А все равно сломают, зачем заморачиваться?", нужно хотя бы немножко усложнить защиту или смешать защитные механизмы с исходным кодом разрабатывемого ПО

т.е: уважаемый sentry, если у вас нет ничего по существу, то прошу промолчать ;)
PM MAIL WWW ICQ Jabber   Вверх
dumb
Дата 23.8.2007, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 7
Всего: 158



Цитата(EvilsInterrupt @  19.8.2007,  16:57 Найти цитируемый пост)
Чтобы получить дебаг регистры, то можно вставить преднамеренную багу ))) а винда вернет контекст, вот и все!

Код

var
  ctx: CONTEXT;
begin
  ctx.ContextFlags := CONTEXT_DEBUG_REGISTERS;
  GetThreadContext(GetCurrentThread, @ctx);


Цитата(EvilsInterrupt @  23.8.2007,  20:41 Найти цитируемый пост)
то прошу промолчать
smile
PM MAIL   Вверх
EvilsInterrupt
Дата 23.8.2007, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

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



dumb,  в точку, но против трейсеров лучше применять трюки опирающиеся на конструкции try ..bug.. except ... end;
PM MAIL WWW ICQ Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

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

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

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

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

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


 




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


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

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