С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Получение прототипа функции имея ее адрес - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите приделать graphics.h к CodeBlocks http://www.cyberforum.ru/cpp-beginners/thread373973.html
На странице http://kpolyakov.narod.ru/school/c/faq.htm описано, как подключить библиотеки для работы с графикой. Но у меня кодеблокс. Раньше как то делал, но сейчас забыл куда нужно прописывать...
C++ Проблема с #include Проект состоит из нескольких классов, каждый из которых реализован в своём модуле. Есть Главный класс и Дочерний класс, экземпляр которого находится в полях Главного класса (простите мою... http://www.cyberforum.ru/cpp-beginners/thread373963.html
C++ Вычислить y=15x8-2x6-13x5+4x2+1
Вычислить y=15x8-2x6-13x5+4x2+1 это выражение нужно вычислить через полином n-й степени я не могу врубиться как это сделать...
Найти минимальный элемент и его порядковый номер C++
Дан массив x1,x2,...,x10. Найти минимальный элемент и его порядковый номер.
C++ Функции http://www.cyberforum.ru/cpp-beginners/thread373949.html
Только начинаю осваивать С++ и прошу вас помочь дополнить программу. Задача : Составить программу, определяющую, в каком из данных двух чисел больше цифр. //Не пойму как обращатся с счетчиками. ...
C++ вытянуть значение HINSTENCE из текущего потока Доброго времени суток! Подскажите как можно вытянуть значение HINSTENCE из текущего потока. Может есть какая функция. Т.е. хочу в принципе в любом месте кода уметь получить hInst, чтобы не тягать... подробнее

Показать сообщение отдельно
webprofusa
1 / 1 / 0
Регистрация: 28.10.2011
Сообщений: 7

Получение прототипа функции имея ее адрес - C++

28.10.2011, 12:15. Просмотров 935. Ответов 11
Метки (Все метки)

здравствуйте!, писать, и разбираться в программировании на C++ только начал, поэтому если вопрос покажется глупым, не обессудьте)

Итак, у меня есть dll в которой я перехватываю функции WinApi, с перехватом все ок, но возникла необходимость капнуть глубже...
А именно, перехватить вызов функции вызывающей WinApi, затем предыдущую и тд. В общем-то сильно не хватает знаний в организации функций и их параметров в памяти, фактически, как я понимаю, задача сводиться к получению прототипа функции имея лишь ее адрес, адрес возврата перехваченной функции WinApi я получаю(в ее подмененном варианте так):

C++
1
DWORD addr=*((DWORD*)&param1-1);
Где param1 - первый параметр вызванной функции WinApi, собственно два вопроса:
1) действительно ли я получаю правильный адрес функции вызвавшей WinApi?
2) как мне получить список параметров функции по полученному адресу(ведь для перехвата мне нужен точный прототип функции и ее параметров, собственно как их можно, и можно ли в принципе получить из памяти)?

Не могу понять в какую сторону копать, что гуглить и что искать(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.