1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#include <string>
namespace InjectCodeLib
{
/*-------------------------------------------------------------------------------------------*/
/*
* Permet d'injecter du code dans une application déjà existante.
* (Procedure décrite dans le chapitre 22 de "Programming Applications for Microsoft Windows", de Richter)
* @param pszCalleeModName Nom de l'API dans laquelle ont souhaite intercepter une fonction.
* @param pfnCurrent Pointeur sur la fonction d'orgine.
* @param pfnNew Pointeur sur la nouvelle fonction.
* @param hmodCaller Handle sur l'application courante.
*/
/*-------------------------------------------------------------------------------------------*/
extern void InjectCode(PCSTR pszCalleeModName, PROC pfnCurrent, PROC pfnNew, HMODULE hmodCaller);
/*-------------------------------------------------------------------------------------------*/
/*
* Permet d'injecter du code dans une application déjà existante.
* (Procedure décrite dans le chapitre 22 de "Programming Applications for Microsoft Windows", de Richter)
* @param sApiName Nom de l'API qui souhaite injecter du code.
* @param sInjectApiName Nom de l'API dans laquelle ont souhaite injecter une fonction.
* @param sFonctName Nom de la fonction que l'ont souhaite remplacer.
* @param pfnNew Adresse de la nouvelle fonction.
* @param pfnOrig Adresse de la fonction d'orgine.
* @param hmodCaller Handle sur l'application courante.
*/
/*-------------------------------------------------------------------------------------------*/
extern void InjectCode(const std::string sApiName, const std::string sInjectApiName, const std::string sFonctName,
const PROC pfnNew, PROC* pfnOrig);
} |