tx65582683 发表于 2020-7-9 19:28:26

全能逆向安全班_第五次作业_远程的键盘记录

远程向服务器发送本地键盘记录,处理了包的格式和粘包的问题

笔记:
1.键盘钩子获取到数据,需要将数据从(动态链接库发送到客户端)。
2.客户端将数据发送给服务端

1)动态库发送数据给客户端:
windows消息机制(ref:7.8:EmptyWin32)
电脑使用者--操作系统(知道用户什么时候做了什么操作,但是不知道如何处理)--应用程序(知道怎么做(业务逻辑),不知道什么时候做)
消息处理(窗口回调函数,键盘点击了怎么办--OnKeyDown)

消息码(可能来自操作系统,可能来自另一个程序,可能来源人的点击)
WM_KEYDOWN                                 OnKeyDown()
WM_MOUSEDOWN                         OnMouseDown()
WM_PAINT                                        OnPaint()
WM_COPYDATA消息                        OnCopyData() //一种跨进程的方式
自定义消息                                        处理函数

消息很多,所有消息会排队--消息队列(只有有窗口的或者有消息循环的程序才有消息队列)

消息循环
while(true){
//从消息队列取消息
GetMessage
//派发消息
DispatchMessage
//先查找窗口
//判断有没有消息钩子,如果有则先调用
//分发消息给消息回调函数
}


2)客户端将数据发送给服务端
需要处理粘包问题(不是太快的问题,而是没有处理好)
服务端 <----------------客户端(两个功能)
1) cmd
2)键盘钩子
//1.定义一个标识符,表示数据不同的类型
//2.区分类型数据的边界,定义一个长度,表示数据有多大

map hash表(拿空间换时间)
键                        键值
key                        value
VKK_F1(宏)         "VK_F1"
ref: 7.8:testMap

作业:1.完成远程的键盘记录(添加包格式,处理粘包问题) 必须要做
2.编写界面(两个功能,1.cmd 2.键盘) 挑战

源码:
链接:https://pan.baidu.com/s/1Xw6TvzfFu0TPHXN-BYBB1A 提取码:pf4x

页: [1]
查看完整版本: 全能逆向安全班_第五次作业_远程的键盘记录