Форум программистов, компьютерный форум CyberForum.ru

Перехват экспортной функции? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ С++ Консольное приложение "Морской бой" http://www.cyberforum.ru/cpp-beginners/thread1099955.html
Здравствуйте, форумчане! Я начал писать программу морской бой, пока что написал функции старта, выбора сложности, и выбора места под корабли, но уже возникла проблема. Я решил создать динамический буловский многомерный (10*10) массив, true - место занято кораблем, false - свободно. Он передается в функцию выбора места под корабли, и, если место занято, графически это будет показываться на...
C++ Оператор if и логическая операция И (AND) && Вод подскажите что будет быстрей обрабатываться процессором: if(!a&&!b) { a+b; } или http://www.cyberforum.ru/cpp-beginners/thread1099944.html
C клавиатуры вводятся два вещественных числа. Вывести результат их произведения в виде равенства. Например, для введенных чисел 5 и 7 вывести 5*7=35 C++
Пожалуйста помогите!
Вычислить произведение отрицательных элементов массива, расположенных в строках с нечетными номерами C++
Вычислить произведение отрицательных элементов, расположенных в строках с нечетными номерами. Все выводит, но не считает выводит P=1 # include <stdio.h> # include <math.h> main ( ) { int i, j, m, n,; float X ;
C++ Не читает пробелы http://www.cyberforum.ru/cpp-beginners/thread1099888.html
Доброго времени суток,задание такое. В файле какие нибудь символы, если встречается # , то он действует как Backspace, саму решетку не записывает и удаляет 1 элемент. Решить с помощью стека. У меня вроде бы решается, но только пробелы не записываются, помогите пожалуйста // стеккласс.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "iostream";...
C++ Инкапсуляция класса Здравствуйте. Помогите пожалуйста, завтра сдавать а я уже битый час пытаюсь разобраться но ничего не выходит. Вот есть у меня задание: Разработать класс, инкапсулирующий свойства одномерного динамического массива заданного размера, например, строку. Тип массива: Масив длинных целых чисел Для организации динамического массива должен использоваться указатель соответствующего типа. Для... подробнее

Показать сообщение отдельно
pEntity
10 / 5 / 1
Регистрация: 12.12.2012
Сообщений: 371
18.02.2014, 21:30     Перехват экспортной функции?
Здравствуйте.

Есть модуль А и Б

В модуле А, есть функция. В модуле Б нужно её перехватить.

Как я понял, есть два пути. Можно хукнуть в модуле Б её доп. кодом по сигнатуре, оффсетом.., а есть второй и простой способ, вот я его не понимаю и хочу разобраться.

Есть дээлка, от кторой нет сурс кода, но вторая дээлка просто ловит эту функцию:

#pragma comment ( linker, "/EXPORT:GiveFnptrsToDll=_GiveFnptrsToDll@8" )

C++
1
2
extern "C" __declspec ( dllexport ) void WINAPI GiveFnptrsToDll( enginefuncs_t * pEngine_Functions, globalvars_t * pGlobal_Variables ) 
{ }
Это весь хук этой функции, я могу дальше над ней работать.

Как же сделать функцию свою как GiveFnptrsToDll, чтоб отловить её потом в стороннем модуле ?

Немного мне рассказали:

GiveFnptrsToDll is an externed naked void including ASM code located at position '8'
it's for the linker to export the symbol Untouched


Но как сделать самому такую функцию я не понял.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru