Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |  |
[Win32] Я перефразирую! Как перешватывать вызов API? 25.09.01 09:59 Число просмотров: 966
Автор: ggg <ggg> Статус: Elderman
|
1) до выполнения файла (изменение файла) :
в msdn описана структура pe-файлов
находишь нужный тебе IMAGE_IMPORT_DESCRIPTOR (структура)
он определяет имя dll и имена (или порядковые номера) импортируемых функций;
пишешь свою dll с такими функциями
заменяешь IMAGE_IMPORT_DESCRIPTOR так чтобы он ссылался на твою dll
(есть ещё вариант - полностью заменяешь системную dll на свою, тогда не прийдётся изменять исследуемый файл)
2) во время работы программы
IMAGE_IMPORT_DESCRIPTOR содержит ссылки на Import Address Table
находишь в этой таблице нужную тебе функцию и заменяешь адрес (на адрес в адресном пространстве того же процесса)
т.е. ещё возникает проблема как внедрить свой код в чужой процесс
p.s.
исходников у меня нет;
наверно должны быть программы, специально созданные для перехвата вызовов
я таких не знаю
|
|
<programming>
|
[Win32] Просто помагите если можно то код лучше на асме 24.09.01 20:26
Автор: eXeC001er Статус: Незарегистрированный пользователь
|
|
Как мне перехватить вызов Api?
|
 |
[Win32] Я перефразирую! Как перешватывать вызов API? 25.09.01 07:44
Автор: eXeC001er Статус: Незарегистрированный пользователь
|
|
|
 |  |
[Win32] Я перефразирую! Как перешватывать вызов API? 25.09.01 09:59
Автор: ggg <ggg> Статус: Elderman
|
1) до выполнения файла (изменение файла) :
в msdn описана структура pe-файлов
находишь нужный тебе IMAGE_IMPORT_DESCRIPTOR (структура)
он определяет имя dll и имена (или порядковые номера) импортируемых функций;
пишешь свою dll с такими функциями
заменяешь IMAGE_IMPORT_DESCRIPTOR так чтобы он ссылался на твою dll
(есть ещё вариант - полностью заменяешь системную dll на свою, тогда не прийдётся изменять исследуемый файл)
2) во время работы программы
IMAGE_IMPORT_DESCRIPTOR содержит ссылки на Import Address Table
находишь в этой таблице нужную тебе функцию и заменяешь адрес (на адрес в адресном пространстве того же процесса)
т.е. ещё возникает проблема как внедрить свой код в чужой процесс
p.s.
исходников у меня нет;
наверно должны быть программы, специально созданные для перехвата вызовов
я таких не знаю
|
 |  |  |
[Win32] Я перефразирую! Как перехватывать вызов API? 25.09.01 17:34
Автор: eXeC001er Статус: Незарегистрированный пользователь
|
> 1) до выполнения файла (изменение файла) : > в msdn описана структура pe-файлов > находишь нужный тебе IMAGE_IMPORT_DESCRIPTOR (структура) > он определяет имя dll и имена (или порядковые номера) > импортируемых функций; > пишешь свою dll с такими функциями > заменяешь IMAGE_IMPORT_DESCRIPTOR так чтобы он ссылался на > твою dll > (есть ещё вариант - полностью заменяешь системную dll на > свою, тогда не прийдётся изменять исследуемый файл) > > 2) во время работы программы > IMAGE_IMPORT_DESCRIPTOR содержит ссылки на Import Address > Table > находишь в этой таблице нужную тебе функцию и заменяешь > адрес (на адрес в адресном пространстве того же процесса) > т.е. ещё возникает проблема как внедрить свой код в чужой > процесс > > p.s. > исходников у меня нет; > наверно должны быть программы, специально созданные для > перехвата вызовов > я таких не знаю ну как это не знаешь таких програм?!
А программы шпионы которые показывают каккие функции вызываются программа при своей работе?
никто не знает де взять исходники такой?
|
 |  |  |  |
ну просто пока не было в них необходимости :) 25.09.01 22:05
Автор: ggg <ggg> Статус: Elderman
|
|
|
 |  |  |
кстати интересно а как SocksCap работает ? 25.09.01 10:01
Автор: ggg <ggg> Статус: Elderman
|
|
она же должна перехватить вызов при коннекте сокета
|
|
|