资源共享吧|易语言论坛|逆向破解教程|辅助开发教程|网络安全教程|www.zygx8.com|我的开发技术随记

 找回密码
 注册成为正式会员
查看: 1155|回复: 0

[C/C++] 全能逆向安全班_第五次作业_远程的键盘记录

[复制链接]

8

主题

80

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
21
积分
88
贡献
0
在线时间
13 小时
注册时间
2020-7-1
最后登录
2020-7-15

终身VIP会员

发表于 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

测试时去bin目录打开

测试时去bin目录打开
QQ图片20200709211411.png
回复

使用道具 举报

 点击右侧快捷回复  

本版积分规则

小黑屋|资源共享吧 ( 琼ICP备2023000410号-1 )

GMT+8, 2024-11-21 21:59 , Processed in 0.037356 second(s), 14 queries , MemCached On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表