写了个开心网的外挂,同时学习了些开心网的一些小技巧
来源:互联网 发布:淘宝退货卖家不给地址 编辑:程序博客网 时间:2024/06/10 18:42
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://eric925.blogbus.com/logs/36785846.html
最近做blogbus插件广场项目,闲暇之余写了个开心网的抢车位外挂,在开心网的程序架构上学到了一些经验。
首先我注意到抢车位这个游戏停留在页面上数据是会即时更新的,而第一反映是ajax,然而为了控制服务器负载,是不应该不停产生请求的,分析后发现果然没有反复请求,而是在第一次访问页面的时候,把每个车位的盈利上限、下限、单位时间增长值等参数交给客户端,通过客户端js进行页面数据的更新。这样能有效降低请求数,同时提高用户体验。
其二,开心网的很多数据通过json传输给客户端,客户端js拼装数据展现给用户。比如侧边栏、还有很多插件的内容页。这样的好处是数据和页面的耦合度降低,调整显示效果和实现用户自定义化更容易,同时一定程度上减轻了服务器端的处理逻辑,提高开发的效率。在这方面,blogbus很多地方是通过document.write来实现,而不是json数据,虽然简化了服务器端处理逻辑,但在把数据部署在页面上的灵活性大大减少。
其三,开心网抢车位的反外挂代码。在抓包的时候看到一个acc变量,但它的值通过明文却没有搜索到,于是我意识到这是一个js生成的anti-bot校验码。最后在抢车位的页面找到如下代码:
- var gab16 = "c0af48b44127";
- var acc3 = "cbaktr0f1";
- function acc()
- {
- var acc = d7d65.length + gab16.charCodeAt(2);
- return acc;
- }
- var d7d65 = "7ec2d7bd3de3";
- var g761c = "90fc480bdfca";
- var acc3 = "cbaktr0f1";
- function acc()
- {
- var acc = d8a22.charCodeAt(1) + g761c.length;
- return acc;
- }
- var d8a22 = "640240afe45c";
反复测试后,发现这段代码通过随机的变量名和随机的方法来构造出acc值。有的时候是charCodeAt,有的时候是length,有的时候是substr。不过语法太过简单,轻而易举就能转化成php语法,一算就出来了。相比之下很多广告联盟的anti-bot代码更复杂很多。
其四,最近我们技术部在讨论静态文件的permanent link问题,看了看开心网这样包含不少图片/flash的页面,发现没有特别的部署permanent link,一些可能经常升级的js文件采用了filename-n.js这样的版本号部署,可是这个方案已经被我们否决了,原因是改一个静态文件得修改相关的动态程序模板。这种模式要求上线后的静态文件不能隔三岔五的修改,否则修改版本就要死人。不过开心网通过chinacdn来cdn的静态文件,流量压力有所减少吧。
- 写了个开心网的外挂,同时学习了些开心网的一些小技巧
- 写了个开心网的外挂,同时学习了些开心网的一些小技巧 .
- 自己写了一个开心网安抚奴隶的小外挂,晒晒php源码。
- 校内网开心农场游戏的外挂怎么写呢?
- 开心网的外挂,自动插件
- 开心网为何不再开心了
- 开心网很火了 我给大家一个开心网注册的地址
- 使用PB11.5写的一个小程序基本完工了,好开心
- 请高手指点怎么写校内网开心农场游戏的外挂代码
- 新大陆--markdown 以后可以开心的写博客了
- 开心网争车位外挂制作的编程思路
- 一个基于greaseMonkey的开心网(kaixin001)偷菜外挂
- CCC0030 的第一个测试通过了,开心呢...
- 我装了个中文版的好开心
- 用httpclient写的登录开心网
- 开心网外挂开发手记
- 开心网外挂开发手记
- 开心网的明天
- LINUX动态链接库高级应用
- SQL建库建表定义表简易命令
- Apache模块开发/用C语言扩展apache
- 线程同步
- Unix awk使用手册(第二版)
- 写了个开心网的外挂,同时学习了些开心网的一些小技巧
- 未名人的flash rpg地图编辑器代码分析(2)
- NetTiers学习笔记07---查询类的使用
- Perl5的OOP学习笔记
- C++
- 我的青春谁做主里的三个正常的男人
- 完全掌握crontab
- MFC 全局变量
- 恒大地产好事多磨