不忘初心,护天下安全!(2)

不忘初心,护天下安全!

WinMain()函数收到消息后,使用DispatchMessage()函数将消息派发给了窗口过程,从而由窗口过程对消息进行处理。

0x03 模拟鼠标键盘按键的操作

鼠标、键盘常用的信息中, WM_MOUSEMOVE对应移动鼠标光标,按下鼠标左键为WM_LBUTTONDOWN,释放鼠标左键为WM_LBUTTONUP,鼠标消息如下:

不忘初心,护天下安全!

键盘的按下与抬起消息也有定义,分别是WM_KEYDOWN和WM_KEYUP。常用的为:

不忘初心,护天下安全!

PostMessage()函数可以对键盘按键进行模拟,目标编程界面为:

不忘初心,护天下安全!

开始按钮事件的代码如下:

不忘初心,护天下安全!

在按钮事件中添加定时器,按照指定的时间间隔进行相应的处理:

不忘初心,护天下安全!

获取标题可以通过Spy++获得。通过PostMessage()发送按F5就可以完成键盘按键模拟的程序,此函数的好处是目标程序可以在后台,不需要窗口处于激活状态。

通过API函数也可以模拟鼠标键盘按键的操作。keybd_event()、mouse_enevt()可以分别模拟键盘和鼠标的输入,定义如下:

不忘初心,护天下安全!

不忘初心,护天下安全!

模拟界面为:

不忘初心,护天下安全!

首先将目标窗口设置到最前面并处于激活状态的部分,代码如下:

不忘初心,护天下安全!

在代码的使用中,SetForegroundWindow()函数将指定的窗口设置到最前面并处于激活状态,唯一的参数是目标窗口的窗口句柄。

模拟键盘按钮:

不忘初心,护天下安全!

不忘初心,护天下安全!

模拟鼠标:

不忘初心,护天下安全!

其中用到的ClientToScreen()函数的作用时得到指定窗口在屏幕中的坐标位置,SetCursorPos()将鼠标移动到指定的坐标位置。

0x04 通过消息实现进程间的通信

系统消息分为两种,已经定义的消息是由0到0x3ff,用户自定义的消息可以从0x400开始,系统提供了一个宏WM_USER,在进行自定义消息是,在其基础上加一个值就可以。

进程间通信需要有发送端和接受端:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgsxj.html