最近闲来无事去搞了下网编 不如直接说看了下教程比较真实,研究了下在TCP/IP协议族的汇编编程和WINDOWS远程钩子,发现其中两者联合起来用 会有意想不到的效果,(所谓的最简单的监视病毒应该就是这样子的吧)。
简单的说:
原理:
通过TCP协议 建立连接 建立套接字 绑定IP 建立监听 路由器映射 等一系列的措施后
A:在服务端上建立远程日记钩子(其他钩子也成吧..)在钩子上指定捕获消息参数(例如键盘参数:WM_KEYDOWN)
B:在客户端建立接收器 分析数据包和接收消息
代码实现:(网站空间有限 只给出具体API不详细解说用法)
建立连接服务端部分:
A:调用 WSAStartup 和socket建立套接字(具体逻辑过程)
B:调用WSAAsyncSelect,htons,bind绑定和监听..
C:调用RECV函数来接受数据
别忘记在关闭程序的时候调用closesocket关闭套接字
建立连接客户端部分:
A:socket,WSAAsyncSelect建立套接字
B:连接到服务器中监听的套接字inet_addr,htons,connect
C:recv调用RECV函数来接受数据
别忘记在关闭程序的时候调用closesocket关闭套接字
钩子部分:(在服务端)
A:在初始化消息处建立钩子,调用SetWindowsHookEx
B:编写钩子回调函数,调用CallNextHookEx(防止钩子不止一个,若同类钩子多个需要调用这个函数传递消息),如果是捕获对方WM_KEYDOWN消息的话则调用GetKeyboardState,GetKeyState处理按键消息
C:向客户端(远程监视方)发生消息send
贴点代码比较好看?
钩子回调函数部分…
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
以下是效果图…
结果被清风美其名曰..键盘记录器..
只上传PE文件..源码就那啥了..毕竟不是啥好东西
值得学习~
确实是个键盘记录器~