Salut, je commence seulement à programmer avec l'api et j'ai voulu
comprendre comment créer un hook clavier basique.
J'ai lu le tutoriel http://tcharles.developpez.com/simul/#hooks et j'ai
essayé de créer un keylogger basique. Mais ca ne fonctionne pas. Voici le
code :
Code de la Dll :
Code :
FILE *memo; // Fichier dans lequel j'enregistre les touches tappées
par l'utilisateur
HHOOK HookClavier;
HINSTANCE HInst;
//Procédure du Hook
LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
memo = fopen("C:\\hook.txt", "a"); // Ouverture du fichier dans
lequel j'enregistre les touches tappées par l'utilisateur
// Fonction qui active le hook
void ActiveHook()
{
HookClavier = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC) HookProc, HInst,
0);
}
// Désactive le hook
void EndHook()
{
UnhookWindowsHookEx(HookClavier);
}
// Fonction principale (exportée par la dll)
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR
lpCmdLine, int nCmdShow )
{
HInst = hInstance;
int i;
i = 1;
ActiveHook();
while(i)
{ // boucle infinie. Je n'ai pas mis de condition pour la fin
du hook car je n'arrive déjà pas à l'activer.
}
void main()
{
typedef void (WINAPI *DLL_Function_TestFunction) (void);
DLL_Function_TestFunction WinMain; // handle de la
farproc de la dll
HMODULE hDLL; // handle de
la dll
hDLL = LoadLibrary("C:\\temp\\hookClavier.dll");
WinMain = (DLL_Function_TestFunction)GetProcAddress(hDLL,"WinMain");
if (WinMain!=NULL) // Jusque là, ca marche, et la dll est chargée, et
la fonction aussi ( enfin, elles sont non-nulles ).
{
WinMain();
system("pause");
}
}
/Fin du Code
Voilà, si quelqu'un peut passer minutes pour m'engueuler pour la façon dont
je code comme un sale et me dire où sont les principales erreurs, ce serait
super sympa.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian ASTOR
nigo wrote:
Salut, je commence seulement à programmer avec l'api et j'ai voulu comprendre comment créer un hook clavier basique.
Il faut utiliser un Shared Data Segment Un vieil ex. que j'avais posté : http://tinyurl.com/ytofnr Sinon, pour éviter la DLL, faire un Low Level Hook (WH_KEYBOARD_LL)
nigo wrote:
Salut, je commence seulement à programmer avec l'api et j'ai voulu
comprendre comment créer un hook clavier basique.
Il faut utiliser un Shared Data Segment
Un vieil ex. que j'avais posté : http://tinyurl.com/ytofnr
Sinon, pour éviter la DLL, faire un Low Level Hook (WH_KEYBOARD_LL)
Salut, je commence seulement à programmer avec l'api et j'ai voulu comprendre comment créer un hook clavier basique.
Il faut utiliser un Shared Data Segment Un vieil ex. que j'avais posté : http://tinyurl.com/ytofnr Sinon, pour éviter la DLL, faire un Low Level Hook (WH_KEYBOARD_LL)
nigo
Merci pour ton lien, j'ai regardé le code, je commence à le lire, mais il y a quelque chose que je ne comprends pas : => Qu'est-ce que le Shared Data Segment ( une zone de mémoire partagée, ca, j'ai compris, mais plus précisément ? ) => A quoi ca sert concrètement ? => Comment l'utiliser ?
Si quelqu'un a un tuto ( en français, si possible, sinon, on fera avec )... Merci.
"Christian ASTOR" a écrit dans le message de news: 47d59348$0$21146$
nigo wrote:
Salut, je commence seulement à programmer avec l'api et j'ai voulu comprendre comment créer un hook clavier basique.
Il faut utiliser un Shared Data Segment Un vieil ex. que j'avais posté : http://tinyurl.com/ytofnr Sinon, pour éviter la DLL, faire un Low Level Hook (WH_KEYBOARD_LL)
Merci pour ton lien, j'ai regardé le code, je commence à le lire, mais il y
a quelque chose que je ne comprends pas :
=> Qu'est-ce que le Shared Data Segment ( une zone de mémoire partagée, ca,
j'ai compris, mais plus précisément ? )
=> A quoi ca sert concrètement ?
=> Comment l'utiliser ?
Si quelqu'un a un tuto ( en français, si possible, sinon, on fera
avec )...
Merci.
"Christian ASTOR" <castorix@club-internet.fr> a écrit dans le message de
news: 47d59348$0$21146$7a628cd7@news.club-internet.fr...
nigo wrote:
Salut, je commence seulement à programmer avec l'api et j'ai voulu
comprendre comment créer un hook clavier basique.
Il faut utiliser un Shared Data Segment
Un vieil ex. que j'avais posté : http://tinyurl.com/ytofnr
Sinon, pour éviter la DLL, faire un Low Level Hook (WH_KEYBOARD_LL)
Merci pour ton lien, j'ai regardé le code, je commence à le lire, mais il y a quelque chose que je ne comprends pas : => Qu'est-ce que le Shared Data Segment ( une zone de mémoire partagée, ca, j'ai compris, mais plus précisément ? ) => A quoi ca sert concrètement ? => Comment l'utiliser ?
Si quelqu'un a un tuto ( en français, si possible, sinon, on fera avec )... Merci.
"Christian ASTOR" a écrit dans le message de news: 47d59348$0$21146$
nigo wrote:
Salut, je commence seulement à programmer avec l'api et j'ai voulu comprendre comment créer un hook clavier basique.
Il faut utiliser un Shared Data Segment Un vieil ex. que j'avais posté : http://tinyurl.com/ytofnr Sinon, pour éviter la DLL, faire un Low Level Hook (WH_KEYBOARD_LL)
nigo
D'autre part, quels headers sont utilisés ici ? Parce qu'à la compilation, j'ai les erreurs suivantes :
c:Documents and SettingsNicolasMes documentsHook dllhookClavierhookClavier.cpp(96): error C2144: syntax error : 'int' should be preceded by ';'
c:Documents and SettingsNicolasMes documentsHook dllhookClavierhookClavier.cpp(82): error C2146: syntax error : missing ';' before identifier 'LRESULT'
c:Documents and SettingsNicolasMes documentsHook dllhookClavierhookClavier.cpp(82): error C2501: 'HOOKDLL_API' : missing storage-class or type specifiers
c:Documents and SettingsNicolasMes documentsHook dllhookClavierhookClavier.cpp(96): error C2501: 'HOOKDLL_API' : missing storage-class or type specifiers
"nigo" a écrit dans le message de news: fr48qg$9qd$
Merci pour ton lien, j'ai regardé le code, je commence à le lire, mais il y a quelque chose que je ne comprends pas : => Qu'est-ce que le Shared Data Segment ( une zone de mémoire partagée, ca, j'ai compris, mais plus précisément ? ) => A quoi ca sert concrètement ? => Comment l'utiliser ?
Si quelqu'un a un tuto ( en français, si possible, sinon, on fera avec )... Merci.
"Christian ASTOR" a écrit dans le message de news: 47d59348$0$21146$
nigo wrote:
Salut, je commence seulement à programmer avec l'api et j'ai voulu comprendre comment créer un hook clavier basique.
Il faut utiliser un Shared Data Segment Un vieil ex. que j'avais posté : http://tinyurl.com/ytofnr Sinon, pour éviter la DLL, faire un Low Level Hook (WH_KEYBOARD_LL)
D'autre part, quels headers sont utilisés ici ? Parce qu'à la compilation,
j'ai les erreurs suivantes :
c:Documents and SettingsNicolasMes documentsHook
dllhookClavierhookClavier.cpp(96): error C2144: syntax error : 'int'
should be preceded by ';'
c:Documents and SettingsNicolasMes documentsHook
dllhookClavierhookClavier.cpp(82): error C2146: syntax error : missing ';'
before identifier 'LRESULT'
c:Documents and SettingsNicolasMes documentsHook
dllhookClavierhookClavier.cpp(82): error C2501: 'HOOKDLL_API' : missing
storage-class or type specifiers
c:Documents and SettingsNicolasMes documentsHook
dllhookClavierhookClavier.cpp(96): error C2501: 'HOOKDLL_API' : missing
storage-class or type specifiers
"nigo" <nigo_kouta@hotmail.fr> a écrit dans le message de news:
fr48qg$9qd$1@aioe.org...
Merci pour ton lien, j'ai regardé le code, je commence à le lire, mais il
y a quelque chose que je ne comprends pas :
=> Qu'est-ce que le Shared Data Segment ( une zone de mémoire partagée,
ca, j'ai compris, mais plus précisément ? )
=> A quoi ca sert concrètement ?
=> Comment l'utiliser ?
Si quelqu'un a un tuto ( en français, si possible, sinon, on fera
avec )...
Merci.
"Christian ASTOR" <castorix@club-internet.fr> a écrit dans le message de
news: 47d59348$0$21146$7a628cd7@news.club-internet.fr...
nigo wrote:
Salut, je commence seulement à programmer avec l'api et j'ai voulu
comprendre comment créer un hook clavier basique.
Il faut utiliser un Shared Data Segment
Un vieil ex. que j'avais posté : http://tinyurl.com/ytofnr
Sinon, pour éviter la DLL, faire un Low Level Hook (WH_KEYBOARD_LL)
c:Documents and SettingsNicolasMes documentsHook dllhookClavierhookClavier.cpp(96): error C2144: syntax error : 'int' should be preceded by ';'
c:Documents and SettingsNicolasMes documentsHook dllhookClavierhookClavier.cpp(82): error C2146: syntax error : missing ';' before identifier 'LRESULT'
c:Documents and SettingsNicolasMes documentsHook dllhookClavierhookClavier.cpp(82): error C2501: 'HOOKDLL_API' : missing storage-class or type specifiers
c:Documents and SettingsNicolasMes documentsHook dllhookClavierhookClavier.cpp(96): error C2501: 'HOOKDLL_API' : missing storage-class or type specifiers
"nigo" a écrit dans le message de news: fr48qg$9qd$
Merci pour ton lien, j'ai regardé le code, je commence à le lire, mais il y a quelque chose que je ne comprends pas : => Qu'est-ce que le Shared Data Segment ( une zone de mémoire partagée, ca, j'ai compris, mais plus précisément ? ) => A quoi ca sert concrètement ? => Comment l'utiliser ?
Si quelqu'un a un tuto ( en français, si possible, sinon, on fera avec )... Merci.
"Christian ASTOR" a écrit dans le message de news: 47d59348$0$21146$
nigo wrote:
Salut, je commence seulement à programmer avec l'api et j'ai voulu comprendre comment créer un hook clavier basique.
Il faut utiliser un Shared Data Segment Un vieil ex. que j'avais posté : http://tinyurl.com/ytofnr Sinon, pour éviter la DLL, faire un Low Level Hook (WH_KEYBOARD_LL)
Christian ASTOR
nigo wrote:
=> Qu'est-ce que le Shared Data Segment ( une zone de mémoire partagée, ca, j'ai compris, mais plus précisément ? )
KB125677
nigo wrote:
=> Qu'est-ce que le Shared Data Segment ( une zone de mémoire partagée, ca,
j'ai compris, mais plus précisément ? )