wow钓鱼方案
最近怀旧服启动了
玩(排)得我萎靡不堪
突然想起多年前写过一个钓鱼的按键精灵 赶紧搜出来助我一臂之力
奈何往年不知其珍贵 早不见了
千思万想才在群空间的文件夹内翻出来一个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
--------------------------------------------------
最新文章
- 《InsideUE4》-6-GamePlay架构(五)Controller
- ssh无密钥登陆的简单配置
- jQuery中的map()方法
- 问题1:Mybatis 中 Signature中的参数args 问题2:MetaObject中 forObject方法中的参数
- CentOS 6.5 生产环境编译安装LNMP
- vs2013-tfs-疑问之版本控制器路径有双引号解决办法
- web项目的日志打印位置设置
- log_reuse_wait_desc为REPLICATION,日志暴大,无法收缩
- C中的基本数据类型和变量
- safari的input问题
- python之定义类创建实例
- paas saas iaas 区别
- PHP微信公众号JSAPI网页支付(上)
- python全栈开发day55-mysql外键的三种变种
- ES集群
- 图的封装(C++)
- 【并发】1、关于线程的几种状态&;关于yield的理解
- WCF+Nhibernate循环引用导致序列化的问题
- python使用venv环境报Python.h : No such file or direc
- hadoop学习;hdfs操作;执行抛出权限异常: Permission denied;api查看源代码方法;源代码不停的向里循环;抽象类通过debug查找源代码
热门文章
- mysql双主互为主从配置
- 『嗨威说』算法设计与分析 - PTA 程序存储问题 / 删数问题 / 最优合并问题(第四章上机实践报告)
- C# V: 读取XML文件
- 使用Jquery获取指定属性的值
- lqb 入门训练 序列求和 (PS:用长整数做数据的输入输出)
- 【前端知识体系-JS相关】JS基础知识总结
- 领扣(LeetCode)二叉树的右视图 个人题解
- 2C 还是 2B,跟找工作有什么关系?
- Spring框架AOP学习总结(下)
- Java关于Resource leak: 's' is never closed的问题