动作式外挂——保险自动录单程序

    写这篇文章,是由于这种动作式外挂不用到封、拆解包技术,不修改原程序本身内存数据,只是利用底层API实现常规上的鼠标、键盘操作,自动在系统内填入指定的数据后自动提交。这就不存在法律上的问题,这个程序已经实现了预期需求的95%以上,剩余的部分留给有意的人自己去逐莫吧。好了,言归正转。开始了

     首先用SPY++分析窗口。得知窗口是由四个子窗口组成。

 

 

继续分析,可以得知每个窗口的Z序列、标题、进程ID、矩形坐标等信息。具体的分析过程就不多说了,各位自己逐摸技巧吧。

首先用FindWindow 找到MDI父窗口,然后再用FindWindowEx 根据父窗口句柄查找子窗口,再用EnumChildWindows 枚举子窗口上的所有子窗口(其实就是按Z序排列的控件了,哈哈),

然后赋值就可以了。

  

  

上面的代码就是找到需要填值的控件的句柄后,用 sendMessage 发送消息就可以了。具体发送的消息类型可以在我其它的文章中看到。 注意,有些时候要用PostMessage 来发送消息,因为有sendMessage 有时会因为业务系统的缓慢,导致程序失去反应。具体关于sendMessage PostMessage 的区别,各位自己逐模吧。

 

  

通过枚举之函口,传入入口函数地址。

 

 

递归从窗口的Z序列排列,列出窗口。然后把句柄取出。

     SendMessage(StrToInt(wndal[4]),CB_SELECTSTRING,0,LPARAM(PChar('(02)在校注册的中小学生')));

     SendMessage(StrToInt(wndal[5]),WM_SETTEXT,0,LPARAM(PChar('(02)在校注册的中小学生')));

combobox赋值的时候,要注意分析,combobox是由一个 TsysCodeComboBox 和一个Edit 组成,需要同时给TsysCodeComboBox Edit同时赋值,给TsysCodeComboBox 赋值可以通过发送CB_SELECTSTRING 消息。

 

Delphi TsysDBGrid 窗口是一个整体,如何拆分得到具体的行信息,还需要进一步研究,目前我们可以模拟鼠标的单击动作来得到TsysDBGrid的动作。通过向TsysDBGrid 发送WM_LBUTTONDOWNWM_LBUTTONUP 消息,模拟鼠标的一次单击。注意两个消息要一起哦。

 

 

最后一个参数是X,Y坐标系的X,Y值,是从句柄的左上角开始。

 

到此,模拟自动录入的功能基本上就实现了。具体根据Excel清单逐条自动录入提交,各位自己逐模吧。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值