begin process at 2012 05 29 09:05:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

System

 > 

HOOK PROBLEME DLL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

HOOK PROBLEME DLL

mercredi 23 août 2006 à 19:18:16 | HOOK PROBLEME DLL

wxccxw

Membre Club
hello, je vais une dll de hook et j'obtient sa :

MON CODE :

#include <windows.h>

FARPROC fpRegQueryValueEx; // Buffer de l'adresse de la fonction
FARPROC fpRegOpenKey; // Buffer de l'adresse de la fonction
FARPROC fpRegCreateKeyEx; // Buffer de l'adresse de la fonction
FARPROC fpRegOpenKeyEx; // Buffer de l'adresse de la fonction
HMODULE Advapi32;

void *DetourFunc(BYTE *src, const BYTE *dst, const int len)
{
    BYTE *jmp = (BYTE*)malloc(len+5);
    DWORD dwback;

    VirtualProtect(src, len, PAGE_READWRITE, &dwback);

    memcpy(jmp, src, len);    jmp += len;
   
    jmp[0] = 0xE9;
    *(DWORD*)(jmp+1) = (DWORD)(src+len - jmp) - 5;

    src[0] = 0xE9;
    *(DWORD*)(src+1) = (DWORD)(dst - src) - 5;

    VirtualProtect(src, len, dwback, &dwback);

    return (jmp-len);
}

bool RetourFunc(BYTE *src, BYTE *restore, const int len)
{
    DWORD dwback;
       
    if(!VirtualProtect(src, len, PAGE_READWRITE, &dwback))    { return false; }
    if(!memcpy(src, restore, len))                            { return false; }

    restore[0] = 0xE9;
    *(DWORD*)(restore+1) = (DWORD)(src - restore) - 5;

    if(!VirtualProtect(src, len, dwback, &dwback))            { return false; }
   
    return true;
}   

WINADVAPI LONG hkRegQueryValueEx(HKEY hKey,LPCTSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData)
{
    return 0;
}

WINADVAPI LONG hkRegOpenKey(HKEY hKey,LPCTSTR lpSubKey,PHKEY phkResult)
{
    return 0;
}

WINADVAPI LONG hkRegCreateKeyEx(HKEY hKey,LPCTSTR lpSubKey,DWORD Reserved,LPTSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition)
{
    return 0;
}

WINADVAPI LONG hkRegOpenKeyEx(HKEY hKey,LPCTSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult)
{
    return 0;
}

WINAPI DllMain(HANDLE hProc,DWORD reason,LPVOID reserved)
{
    switch(reason)
    {
        case DLL_PROCESS_ATTACH:
        HMODULE advapi32 = LoadLibrary("Advapi32.dll");   

        fpRegQueryValueEx = GetProcAddress(advapi32,"RegQueryValueEx"); // Adresse de la fonction
        fpRegOpenKey = GetProcAddress(advapi32,"RegOpenKey"); // Adresse de la fonction
        fpRegCreateKeyEx = GetProcAddress(advapi32,"RegCreateKeyEx"); // Adresse de la fonction
        fpRegOpenKeyEx = GetProcAddress(advapi32,"RegOpenKeyEx"); // Adresse de la fonction

        DetourFunc((BYTE*) fpRegQueryValueEx,(BYTE*) &hkRegQueryValueEx,5); // Hook avec jmp 5
        DetourFunc((BYTE*) fpRegOpenKey,(BYTE*) &hkRegOpenKey,5); // Idem
        DetourFunc((BYTE*) fpRegCreateKeyEx,(BYTE*) &hkRegCreateKeyEx,5); // Idem
        DetourFunc((BYTE*) fpRegOpenKeyEx,(BYTE*) &hkRegOpenKeyEx,5); // Idem
        return true;
    }
}


MON LOG :



 
Compilation...
main.cpp
c:\Documents and Settings\Jean.PCTEK\Bureau\RegSpy\RegSpyDll\main.cpp(45) : error C2491: 'hkRegQueryValueEx' : définition de dllimport fonction non autorisée
c:\Documents and Settings\Jean.PCTEK\Bureau\RegSpy\RegSpyDll\main.cpp(50) : error C2491: 'hkRegOpenKey' : définition de dllimport fonction non autorisée
c:\Documents and Settings\Jean.PCTEK\Bureau\RegSpy\RegSpyDll\main.cpp(55) : error C2491: 'hkRegCreateKeyEx' : définition de dllimport fonction non autorisée
c:\Documents and Settings\Jean.PCTEK\Bureau\RegSpy\RegSpyDll\main.cpp(60) : error C2491: 'hkRegOpenKeyEx' : définition de dllimport fonction non autorisée


ou est le probleme ?

merci

mercredi 23 août 2006 à 19:40:58 | Re : HOOK PROBLEME DLL

vecchio56

Administrateur CodeS-SourceS
[ Lien ]

Le __declspec(dllimport) est a mettre uniquement sur la déclaration, pas la définition

_____________________________________
Un éditeur de ressources gratuit pour Windows

mercredi 23 août 2006 à 20:22:07 | Re : HOOK PROBLEME DLL

wxccxw

Membre Club
pourrait tu me rediger un exemple si tu a le temps, car apriori cela ne marche pas pour moi.
merci


mercredi 23 août 2006 à 20:25:00 | Re : HOOK PROBLEME DLL

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
WINADVAPI LONG hkRegQueryValueEx(HKEY hKey,LPCTSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData)
{
    return 0;
}

devient

// Déclaration, avec WINADVAPI
WINADVAPI LONG hkRegQueryValueEx(HKEY hKey,LPCTSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);

// Définition, sans WINADVAPI
LONG hkRegQueryValueEx(HKEY hKey,LPCTSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData)
{
    return 0;
}

Et pareil pour les autres fonctions à exporter

_____________________________________
Un éditeur de ressources gratuit pour Windows

mercredi 23 août 2006 à 20:35:08 | Re : HOOK PROBLEME DLL

wxccxw

Membre Club
merci beaucoup





Cette discussion est classée dans : byte, return, dword, src, len


Répondre à ce message

Sujets en rapport avec ce message

compréhension d'un bout de code [ par albert0 ] Bonsoir, voila, j'essai de comprendre a quoi sert une fonction..... sans succes! voila la fonction: void *DetourFunc( BYTE *src, const BYTE *dst, DnsQuery, hook et detours [ par wxccxw ] Bonjour, j'ai ecrit une dll que j'injecte dans IE ou firefox pour savoir l'host qu'il demande a charger afin de filtrer. voici donc le code [code=cp Lecteur secteur disque [ par akalys ] Bonjour à tous,Je désire créer un petit prog pour lire les secteur d'un dique.(en hexa)Voici mon code :#include #include #include using namespace s [ServiceWin32] Lancer une Dll grace à SVCHOST.EXE [ par xela138 ] Bonjour, Je souhaiterai obtenir de l'aide, je n'arrive pas à lancer un service de ma conception. Il s'installe à priori sans probleme, mais quand le s REG_DWORD [ par Xentor609 ] Lorsque je recupere la valeur d'une clé avec RegEnumValue,celle-ci doit etre stockée dans un BYTE. Quand le type de la valeur recupérée est un REG_SZ, AutoSuppression et .bat [ par phantom_2005 ] Bonjour,j'ai un problème de suppression de répertoire dans un fichier .bat.Je créée dans mon appli un fichier .bat d'autodestruction que j'appelle ava WORD, DWORD et BYTE en langage C ? [ par Cako19 ] Bonjour,Les types de données WORD, DWORD et BYTE sont-ils utilisables en langage C ?Ca refuse de compiler chez moi. Ils ne sont pas reconnus.Faut-il i Savoir le Nombre de copies àimprimées par MS Office WORD [ par Redhouane_KM ] Salue, J’ai réalisé un programme pour surveiller et sauvegarder tous les taches de l’imprimante dans un fichier LOG, (nom du document, nombre de pages Dossiers systèmes [ par ecc ] Salut tt le monde, j ai un probleme et je trouves pas la reponse. Je voudrais une fonction completement ecrite c++ (je suis pas tres fortt) qui me don probleme de boucle qui marche pas au bout d'un certain nombre de tours [ par Leptis ] salut à tous les pro de la prog et les autres. Je vous prévien tout de suite je n'ai pas un niveau tres trerible en cpp mais j'arrive toute fois a fai


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales