最近怀旧服启动了

玩(排)得我萎靡不堪

突然想起多年前写过一个钓鱼的按键精灵 赶紧搜出来助我一臂之力

奈何往年不知其珍贵 早不见了

千思万想才在群空间的文件夹内翻出来一个exe版本

而源代码已不知去向,如同我的青春一般。。。

不敢多想,赶紧上线试用一番,不禁感叹当年花了2天写的外挂,如此人性,

不仅可以调整视角进入挂机模式,还能自动上个鱼饵,可问题也是不小。

新版本游戏里是可以坐着钓鱼的,但现在只能站着 这样视角产生严重偏差 再也不能愉快的上钩了

从当年95%成功率掉到了现在的65% 还需要上下调整拿捏角度,

即便如此

一晚上也把钓鱼从0冲到75

两晚75-150

可如此低的成功率让我十分不爽,

这要什么时候才能制霸wow的钓鱼拍卖行呢?

所以 我要用python把精灵重构了!!

-------------------------------------------------------

开始写实现过程,这里有个安全原则,

尽量使用前台来进行操作,我需要的不是改包或者改内存,这样易被反挂插件发现,

所以不用hook去钓,连程序句柄都不抓,先写准备工作

wow窗口化,

固定分辨率为1024×540,

钓鱼放在1位,视角调为第一人称视角,在可钓鱼的情况下尽量使视角与水面平行并重合,所以能坐着钓鱼很重要,可惜老版本并无此功能

alt+z进入电影模式

程序流程:

首先全屏抓图,抓到窗口化wow的标题栏上面的wow图标,确定程序位置,所以标题栏一定要有,鼠标定位在此。

开始按键盘1钓鱼

鼠标下移,通过分辨率计算出大概鱼钩所在y轴,开始横向运动,逐层扫描,扫到鱼钩时鼠标外观会变化,以此为判定,停止移动

精灵流程:

鼠标通过外观的变化做判断,来移动至鱼钩的左上边,在钓上鱼的一瞬间,鱼钩下沉,鼠标会掉出鱼钩的判定范围0.2秒左右,此时鼠标外观会变化,由此判断上钩,右键提鱼。

python流程:

通过抓包获取鱼上钩数据,右键提鱼。

---------------------------------------------------------

需要技术与类包

fiddler 分析接口

scapy 抓包

win32api GetCursor函数抓取鼠标外观以及其他的键鼠移动等

aircv 图像识别

首先截下整个电脑屏幕 然后用aircv做图像识别wow图标返回图片坐标,为窗口坐标,

注意:截图时由于win7标题栏是半透明的,颜色不定,最好用ps截取图标芯内的图像。。

-----------------------------------------------------

好吧 我傻了。。

fiddler只能分析http的包

看来还要靠的我的wireshark

简单说下接口分析过程

打开游戏,关闭没用的程序 包括战网,老号排队,建新号开打,

抓包瞅了眼,应用层使用的wow协议,内容都看不懂应该加密了,但使用技能打怪的时候,开头的第一个十六位值是固定的,说明头一个值是触发的事件类型,后面的可能是伤害值或时间啥啥啥的,大概理解传递机制了,觉得有戏继续

退号从上,再次抓包,确认事件代码没改,说明加密并非动态,简简单单。

这里有个窍门,以事件包的大小做查阅重点来进行记录对比,很省心的

剩下的就是练到5级,开始钓鱼,

(路上新手真多,跟我一通bb,抓的包不干净,不易分析)

-----------------

下面上结果,可能分析的不对,仅供大家参考

但只要抓对上钩事件包,其他无所谓了

不好意思 敏感信息比较多 画的比较恶心

我们主要获取的就是2e位置的编码,这个是本机发往服务器的

每次执行钓鱼时都会发一个含2e包给服务器,告诉服务器用户开始钓鱼了

以下为我获知的编码

本机 ->服务器

编码,体积,解释

2e,116,开始钓鱼----2d 115

0a,80,保持在线活跃

4a,114

4a,114    三个一组 顺序发送 代表跳

3e,132

服务器->本机

15,19,上钩

35,123 ,附近玩家移动

----------------

接口分析完成

大概就是这个样子 ,知识获取的差不多了

运气好 明天开始码python

--------------------------------------------------

最新文章

  1. 《InsideUE4》-6-GamePlay架构(五)Controller
  2. ssh无密钥登陆的简单配置
  3. jQuery中的map()方法
  4. 问题1:Mybatis 中 Signature中的参数args 问题2:MetaObject中 forObject方法中的参数
  5. CentOS 6.5 生产环境编译安装LNMP
  6. vs2013-tfs-疑问之版本控制器路径有双引号解决办法
  7. web项目的日志打印位置设置
  8. log_reuse_wait_desc为REPLICATION,日志暴大,无法收缩
  9. C中的基本数据类型和变量
  10. safari的input问题
  11. python之定义类创建实例
  12. paas saas iaas 区别
  13. PHP微信公众号JSAPI网页支付(上)
  14. python全栈开发day55-mysql外键的三种变种
  15. ES集群
  16. 图的封装(C++)
  17. 【并发】1、关于线程的几种状态&关于yield的理解
  18. WCF+Nhibernate循环引用导致序列化的问题
  19. python使用venv环境报Python.h : No such file or direc
  20. hadoop学习;hdfs操作;执行抛出权限异常: Permission denied;api查看源代码方法;源代码不停的向里循环;抽象类通过debug查找源代码

热门文章

  1. mysql双主互为主从配置
  2. 『嗨威说』算法设计与分析 - PTA 程序存储问题 / 删数问题 / 最优合并问题(第四章上机实践报告)
  3. C# V: 读取XML文件
  4. 使用Jquery获取指定属性的值
  5. lqb 入门训练 序列求和 (PS:用长整数做数据的输入输出)
  6. 【前端知识体系-JS相关】JS基础知识总结
  7. 领扣(LeetCode)二叉树的右视图 个人题解
  8. 2C 还是 2B,跟找工作有什么关系?
  9. Spring框架AOP学习总结(下)
  10. Java关于Resource leak: 's' is never closed的问题