大学毕业几年了,身为程(diao)序(si)员,经历过不少风风雨雨。什么大事没见过,最近却被一件事弄得着急上火:QQ被盗了。先不说有信(luo)息(zhao)泄露,骗人骗钱,名誉扫地的风险。对于一个技术人员,简直是大水冲了龙王庙。
一怒之下,誓与盗号者决斗到底。(程序员都有这个毛病:死心眼,别说是我说的)
俗话说:知己知彼,百战不殆。先弄清对方的思路再说。经过几天的摸索,基本上把盗号的精髓搞到手了,总结如下(只可意会,不要实干):
最初盗号的手段就是监听键盘记录,基本道理就是使用钩子(hook),钩子是windows消息处理机制的一个平台,可以截获指定窗口的所有消息,而且所监视的窗口可以是其他进程创建的。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。
windows中有开放的API创建钩子:SetWindowsHookEx(WH_KEYBOARD, KeyBoardProc, HInstance, 0);
(想详细了解此函数的功能及使用方法,可以关注微信公众号:程序员互动联盟 coder_online)
1.使用API函数SetWindowsHookEx()把一个应用程序定义的钩子子程安装到钩子链表中。
2.钩子子程可以对截获的消息进行处理,处理完成后可以使用另外一个 SDK中的API函数CallNextHookEx来继续传递消息。
3.钩子在使用完之后需要用UnhookWindowsHookEx()卸载,否则会造成麻烦。
黑客首先想办法将木马植入你的电脑,然后使用钩子对你的QQ登陆窗口进行监听,在你使用键盘输入账号和密码后,在钩子子程里将记录的账号和密码通过接口放送到指定的邮箱。然后继续转发键盘消息,你根本感觉不到键盘消息已经被截获了。
既然知道了它是怎么实现的,那我们就有办法去阻止他。现在大部分的杀毒软件对于这种方式是可以检测到的,所以只要安装比较流行的杀毒软件定期查杀就行。
在盗号木马刚刚起步的时候,监听键盘的操作方式非常的有效。那时,中招的人不在少数。数以万计的用户,他们的邮箱帐户、游戏帐户等被盗。不过,后来杀毒软件能够识别这个木马之后,他也就逐渐销声匿迹了。
最狠毒的木马能做到直接读取内存中的信息。众所周知,用户输入的帐户与密码,一开始都会保存在内存中。然后系统根据内存中的这些信息,跟相关的应用程序进行交互。木马就可以通过一定的手段轻易的获取内存中的帐号与密码信息。
想要了解对直接读取内存的解密,请听下回分解。
本文原创,转发请注明出处。图片来源于网络。
大家如果对编程感兴趣,想了解更多的编程知识,解决编程问题,我们这里有java高手,C++/C高手,windows/Linux高手,android/ios高手,请大家关注我的微信公众号:程序员互动联盟或者coder_online