Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Перехват вызовов API

Аноним
Люди, подскажите кто-нть, как перехватывать вызовы функций API, например, так как это делает SoftIce.

Спасибо.
555
05 ноября 2001 года
AcidJAM
25 / / 20.05.2000
>Люди, подскажите кто-нть, как перехватывать >вызовы функций API, например, так как это >делает SoftIce.

Вообще-то если вы смотрели формат PE (Portable Executable) win32-exeшников (и dll)то навеное обратили
внимание на секцию экспорта функций. Так вот
в этой секции хранятся все RVA адреса, хинты,
и ординалы к экспортируемым функциям, то бишь
все API функции хранятся в *.dll которые находятся в системном каталоге винды.
Если интересно могу свою прогу кинуть которая
выдает все внутренности PE-exe, dll - файлов
Могу еще дать доку и пример как выдрать
нужные адреса из памяти (загруженного образа PE).
С уважением ко всем программерам Acid JAM
mailto [EMAIL]jamk@mail.ru[/EMAIL]


Аноним
>Люди, подскажите кто-нть, как перехватывать >вызовы функций API, например, так как это >делает SoftIce.

советую купить книгу Рихтера про Win32, там есть все что тебе нужно и даже больше.
Аноним
Цитата:

On 2001-10-20 1824, Anonymous wrote
Люди, подскажите кто-нть, как перехватывать вызовы функций API, например, так как это делает SoftIce.

Спасибо.


Щаз сам этим занимаюсь, напишу - пришлю прогу...

Аноним
Можно подпатчить обработчик ВинАпи функции. Хотя конечно не как СофтАйс ))
555
25 декабря 2001 года
AcidJAM
25 / / 20.05.2000
Нифига SoftICE не патчит - он просто работает
как системный процесс и владеет регистрами
DR0-DR7 которые доступны только в PM и только
системным программам - это и есть отладочные регистры, там устанавливаются точки останова
(до 4 точек). Вот
А если статически перехватить - то да надо
как я уже писал - знать формат PE файлов и
переправить таблицу экспорта функций.
И все

Best regardz from JAM
Аноним
Со статическим перехватом - понятно. У Рихтера, по-моему, как раз про это и написано. А вот как запуститься как системный процесс и работать с отладочными регистрами, как написано у AcidJam'a?
Аноним
какой смысл переправлять таблицу экспротов .. когда все работающие в данный момент программы будут пользовацца старыми адресами апи-функции .. лучше менять сами обработчики а таблицу экспортов оставить в покое... хотя здесь есть свои технические проблемы скажем восстановление кода после своей обработки процедуры ..
Аноним
Насколько я слышал, области памяти, в которых лежат функции kernel`a, user`a и gdi, защищены от изменения, и исправлять их просто так невозможно. Так как же тогда изменить обработчики этих функций?
1.5K
08 января 2002 года
Gnil
5 / / 20.09.2000
понятное дело предварительно перейдя в нулевое кольцо каким-нить из известных на данный момент способов 8-))
Аноним
А ссылочку нельзя, где про эти способы почитать можно было бы?
Аноним
Цитата:

On 2002-01-12 0912, Anonymous wrote
А ссылочку нельзя, где про эти способы почитать можно было бы?


sbvc.cjb.net

Аноним
у IczeLion (или IceZeLion) есть tutorial по написанию VxD драйверов, лежит на их сайте
Аноним
Как-то я изменил адреса API так: поставил на область памяти где лежат адреса атрибут записи, заполнил ячейки с помощью LoadLibrary и GetAddrProc, а потом назад поставил ReadOnly.

Причина: я не мог прилинковать к декомпиленой проге стандартные библиотеки не переделывая текста. Пришлось делать свой стартовый модуль, который вручную модифицировал память с адресами, а потом вызывал основной текст.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог