> 1) до выполнения файла (изменение файла) : > в msdn описана структура pe-файлов > находишь нужный тебе IMAGE_IMPORT_DESCRIPTOR (структура) > он определяет имя dll и имена (или порядковые номера) > импортируемых функций; > пишешь свою dll с такими функциями > заменяешь IMAGE_IMPORT_DESCRIPTOR так чтобы он ссылался на > твою dll > (есть ещё вариант - полностью заменяешь системную dll на > свою, тогда не прийдётся изменять исследуемый файл) > > 2) во время работы программы > IMAGE_IMPORT_DESCRIPTOR содержит ссылки на Import Address > Table > находишь в этой таблице нужную тебе функцию и заменяешь > адрес (на адрес в адресном пространстве того же процесса) > т.е. ещё возникает проблема как внедрить свой код в чужой > процесс > > p.s. > исходников у меня нет; > наверно должны быть программы, специально созданные для > перехвата вызовов > я таких не знаю ну как это не знаешь таких програм?!
А программы шпионы которые показывают каккие функции вызываются программа при своей работе?
никто не знает де взять исходники такой?
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