当前位置: 首页 > 编程日记 > 正文

现在很火的答题赢钱游戏,让我来简单教你怎么做自动答题器

一、前言:

现在最火的直播游戏,那就是答题赢钱直播了,如百万英雄、芝士超人、花椒直播、冲顶大会等等,这些游戏的玩法都很简单,答对12题即可瓜分奖金了。玩法虽然简单,但是要能完全答对12题难度还是挺高的,毕竟要非常广的知识面!

二、怎么做自动答题?

要能自动答题,肯定是要能知道题目及答案了。题目可以从直播界面获取,方法就是OCR或者搞到数据接口了………嘿嘿,都说了简单教你,所以OCR或者分析数据接口这些复杂的操作,我肯定不教你了(我也不会啊^_%)……

幸好,现在市面上有一些非常有技术“逼格”的公司都在趁答题热度,推出了答题助手之类的APP软件,比如百度的《简单搜索》、搜狗的《旺仔答题》、阿里UC的答题助手等等……它们都实现了答题功能,但是,由于它们只是辅助的助手,它们并不会自动帮你答题,只是会分析出题目,然后用AI与大数据分析出可能性较高的答案项!所以并不能保证100%的正确率!虽然不能保证100%正确率,但有时“运气好”(AI也要运气?哈哈…现在的AI还是有点LOW了…)还是能完全答对12题的!

三、教你做自动答题器

上面的几个助手中,我用了百度的《简单搜索》APP,因为它支持多家的答题游戏!为了保证人家的APP的使用量,还是厚道点直接使用它的APP吧,不要偷人家的接口数据,但不“偷”接口数据我们要怎么从它的APP里获取得到题目和答案数据呢?

用最古老但又最有效的方法,我们搭个HTTP代理,这样APP的HTTP请求都会优先经过我们代理,不用任何“暴力”,我们就光明正大的“偷窥”到了“简单搜索”的接口数据!

搭HTTP代理服务并且能对请求会话及数据进行分析处理的,肯定是用开发与测试都爱用的强大的Fiddler软件了!

电脑下载安装好Fiddler,并且开启允许远程访问功能,如下图:

由于百度简单助手的接口请求是采用了HTTPS方式,为了能直接在Fiddler里分析出接口数据,我们还要开启HTTPS的解码功能,如下图:

开启后会在你本地电脑安装一个调试证书,你接受安装就可以了(这调试证书的作用就是会替换掉APP请求交互用的证书)。蓝色箭头那个选项,随便你选了。

弄好上面的后,就进入我们最核心的一步了,“偷窥到数据后自动向手机提交答案”!,利用Fiddler的 Script 功能,就能非常的轻松做到,如下图:

Fiddler里捕获的所有会话请求都会执行Script的代码,所以利用这一功能,我们可在Script 实现“答案偷窥”功能,当请求会话接收到远程服务端的数据返回响应后OnBeforeResponse函数会被调用,因此我们可在这函数里增加我们想要做的功能代码,完整代码如下:

    static function GetTextLength(text : String) : int{return System.Text.Encoding.GetEncoding("gb2312").GetByteCount(text);}static function GetItemValue(text : String, key : String) : String{var pattern =  key + "\":\"?([^\",}]+)\"?";var m = Regex.Match(text, pattern);var v = m.Success ? m.Groups[1].Value : null;FiddlerObject.log(key + " >>>>" + v);return v;}static var questionId : String = "";static function OnBeforeResponse(oSession: Session) {if (m_Hide304s && oSession.responseCode == 304) {oSession["ui-hide"] = "true";}if(oSession.url.IndexOf("secr.baidu.com/nv/answer.sock") >= 0){var text = oSession.GetResponseBodyAsString();FiddlerObject.log(oSession.url);FiddlerObject.log(text);var title = GetItemValue(text, "text");var step = GetItemValue(text, "step");//step=2时才表示是最终认为正确率最高的答案,有时题目出现复活卡文字时表示百度的OCR出现识别错了 :(if(title != null && title.IndexOf("复活卡") == -1 && "2" == step){var app = GetItemValue(text, "app");var qId = app + "_" + GetItemValue(text, "questionId");//答案(0-2)var r = GetItemValue(text, "result");//flag用于处理只提交一次答案var flag = qId != questionId;if(r != null && flag){questionId = qId;FiddlerObject.log(questionId + ">>选择答案:" + (char)(65 + int.Parse(r)));var x = 0, y = 0;
//计算题目长度,部分APP的题目显示换行时导致答题项的坐标值跟随改变
var len = GetTextLength(title);//取得手机APP里答题项的位置坐标(不同屏幕的手机坐标值不一样)if(app == "huajiao"){if(r == "0"){x = 540;y = 720;}else if(r == "1"){x = 540;y = 880;}else if(r == "2"){x = 603;y = 1040;}var m = len / 28;y = y + (m * 100);}else if(app == "xiguashipin"){if(r == "0"){x = 565;y = 690;}else if(r == "1"){x = 565;y = 850;}else if(r == "2"){x = 565;y = 1020;}//var m = len % 36;//y = y + (m * 80);}else if(app == "chongdingdahui"){if(r == "0"){x = 550;y = 552;}else if(r == "1"){x = 550;y = 690;}else if(r == "2"){x = 550;y = 830;}var m = len / 36;y = y + (m * 100);}else if(app == "zhishichaoren"){if(r == "0"){x = 558;y = 509;}else if(r == "1"){x = 558;y = 686;}else if(r == "2"){x = 558;y = 845;}var m = len / 29;y = y + (m * 70);}if(x != 0){FiddlerObject.log(String.Format("已传送答案>>>>{0} * {1}", x, y));//调用adb命令用于向手机发送点击命令var startInfo = new System.Diagnostics.ProcessStartInfo("adb", String.Format("shell input tap {0} {1}",x, y));startInfo.CreateNoWindow = false;System.Diagnostics.Process.Start(startInfo);}}}}}

代码实现很简单,上面代码的注释,一看就懂,但有一点就是,不同手机上面的X,Y坐标值可能要改动,上面只是我手机(1920x1080)的适配坐标值。

四:开始自动答题之旅吧

A、我们首先要将上面的《简单搜索》APP跑起来并且还要让它通过我们上面的Fiddler代理,因为《简单搜索》是APP,所以我们就让它运行在手机里或者安卓模拟器里,再设置一下手机或者模拟器的WIFI代理即可。

B、运行答题APP的手机还要开启USB调试功能,并且用USB线连接上刚才开启Fiddler代理的电脑,运行adb deivices命令能找到连接的手机就表示正常。

C、答案开始前先进入《简单搜索》对应的答题游戏的题目区页面,比如“百万英雄”,再开启对应答题游戏APP。

经过以上步骤后,就让电脑自动帮你答题吧:)

,当然,答案是否准确就要看百度的AI了:),有时还是能成功的,如我这次的闯关,拿到了4元哟。。

五、后话

其实这类游戏,娱乐一下就好,不要沉迷在里面,想在里面“赢”大钱是不可能的,毕竟这里面肯定存在猫腻的。如为考虑运营成本,比如A场说提供300W奖金,不管最终有多少真人闯关成功,都会加总奖金10%的机器人(虚拟人),这样保证最后真人每人拿的奖金最高不会到10块钱,比如有5W真人成功闯关(实际真的能有这么多真人能完全答对12题?),每人最高可分得奖金只有8.6块左右,这样实际成本只有42W多。用42W的实际成本去做一个300W噱头的营销运营,是非常值得的!

以上只是个人猜测

附个人推广,家里有安卓电视盒子的,可关注一下我的这款软件,Thx。

电视盒子好用又强大的跨屏远程输入法 TVRemoteIME

相关文章:

OAuth认证协议原理分析及使用方法

twitter或豆瓣用户一定会发现,有时候,在别的网站,点登录后转到 twitter登录,之后转回原网站,你会发现你已经登录此网站了, 这种网站就是这个效果。其实这都是拜 OAuth所赐。 OAuth是什么? OAuth…

一次图文并茂的***完整测试二

任务:某公司授权你对其服务器进行******。对某核心服务器进行***测试,据了解目标机为Windows 2003 Server系统,ip地址为10.1.1.191,在C盘的根目录下存储有两个敏感文件这里就用(key1.txt,key2.txt)表示&…

神经网络学习到的是什么?(Python)

作者|泳鱼来源|算法进阶神经网络(深度学习)学习到的是什么?一个含糊的回答是,学习到的是数据的本质规律。但具体这本质规律究竟是什么呢?要回答这个问题,我们可以从神经网络的原理开始了解。一、 神经网络的…

Spring MVC原理

摘要: Spring MVC工作流程图springMVC工作流程图图一图二开发工具1.Eclipse IDE:采用Maven项目管理,模块化。2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查&#xff09…

linux下poll和epoll内核源代码剖析

作者:董昊 博客链接http://donghao.org/uii/ poll和epoll的使用应该不用再多说了。当fd很多时,使用epoll比poll效率更高。 我们通过内核源码分析来看看到底是为什么。 poll剖析poll系统调用:int poll(struct pollfd *fds, nfds_t nfds, int t…

百度副总裁马杰:实现元宇宙,技术要过三道坎

近来,元宇宙一词就像龙卷风瞬间席卷整个科技圈,一时间所有新概念层出不穷,无数科技公司蜂拥而至扎堆元宇宙。先是在线游戏创作平台Robolox把元宇宙写进招股书里,成为“元宇宙第一股”。后有扎克伯格宣布将Facebook更名为Meta&…

consolez设置

2019独角兽企业重金招聘Python工程师标准>>> 菜单”—>Edit—>Setting...—>Behavior—>选择“Copy on select” “菜单”—>Edit—>Setting...—>Mouse—>Paste text—>Right 最后一个重点说明的问题是Console2对中文的支持问题。默认情…

dstat用法;利用awk求dstat所有列每列的和;linux系统监控

安装:yum install -y dstatdstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼…

PHP内核介绍及扩展开发指南—基础知识

一、 基础知识 本章简要介绍一些Zend引擎的内部机制,这些知识和Extensions密切相关,同时也可以帮助我们写出更加高效的PHP代码。 1.1 PHP变量的存储 1.1.1 zval结构 Zend使用zval结构来存储PHP变量的值,该结构如下所示: type…

腾讯汤道生:数实融合成为行业“必答题”,腾讯未来打造四大引擎

11月3日,腾讯高级执行副总裁、云与智慧产业事业群CEO汤道生在2021腾讯数字生态大会上表示,“数实融合”正在从“选答题”,变成每个行业都要面对的“必答题”,腾讯未来将打造用户、技术、安全和生态四大引擎,助力各行各…

shell编程基础(2)---与||

shell 编程重要的应用就是管理系统,对于管理系统中成千上万的程序而言,查询某个文件名是否存在,并且获取该文件名所指代文件基本信息是系统管理员的基本任务。shell命令可以很轻松的完成这项任务。 #program this is a example for #########…

基于qml创建最简单的图像处理程序(1)-基于qml创建界面

《基于qml创建最简单的图像处理程序》系列课程及配套代码基于qml创建最简单的图像处理程序(1)-基于qml创建界面http://www.cnblogs.com/jsxyhelu/p/8343310.html课程1附件https://files.cnblogs.com/files/jsxyhelu/%E9%98%B6%E6%AE%B5%E4%BB%A3%E7%A0%8…

存储方式与介质对性能的影响

摘要 数据的存储方式对应用程序的整体性能有着极大的影响。对数据的存取,是顺利读写还是随机读写?将数据放磁盘上还将数据放flash卡上?多线程读写对性能影响?面对着多种数据存储方式,我们如何选择?本文给大…

struts配置文件没有标签提示

2019独角兽企业重金招聘Python工程师标准>>> struts配置文件没有标签提示 原因:" http://struts.apache.org/dtds/struts-2.0.dtd"是通过网络的形式帮你下载对应的dtd文件, 如果机器没有联网,就不会有提示 解决办法&…

iPhone 隐私新规下的“大地震”:四大平台损失近百亿美元,“连用户是男是女都分不清……”

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 大家有这样的经历吗?前一秒刚在聊天软件上跟朋友分享了一款产品,下一秒就能在其他 App 中看到这款产品的广告推送,不了解内情的人说不定还会感慨一句:“…

Python 判断类型

类型判断:isinstance(obj, type) 方法 : isinstance(obj, type) print (isinstance(3, int)) # True print (isinstance(3, str)) # False print (isinstance(3, list)) # False print (isinstance([1,2,3], list)) …

php打印warning日志引发的core追查

内容 春节期间线上出了两个php-cgi的core,具体追查过程如下: 一、 Core信息 file core.xxx bug.php-cgi.3611.1296586902: ELF 64-bit LSB core file AMD x86-64, version 1 (SYSV), SVR4-style, from ‘php-cgi’ gdb ~/php5/bin/php-cgi core.xx…

BIZTALK项目中WEB引用WEBSERVICES服务时候报错

近期工作中须要完毕通过BIZTALK完毕调用WEBLOGIC公布的WebServices服务,环境搭建好后,打开VS开发工具新建一个BIZTALK项目,加入WEB引用将对方公布的地址拷贝上去,能够正常浏览到,然后点击加入引用button,这…

百度“知识增强的跨模态语义理解技术”获国家技术发明奖

11月3日,2020年度国家科学技术奖励大会在京举行,百度“知识增强的跨模态语义理解关键技术及应用”获国家技术发明二等奖。 该技术旨在通过构建大规模知识图谱,关联跨模态信息,通过知识增强的自然语言语义表示方法,解决…

Objective C浅拷贝和深拷贝

##浅拷贝 浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如: char* str (char*)malloc(100); char* str2 str; 复制代码浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时候&#xf…

我常用的那些linux命令

我常用的那些linux命令 用linux也有些年头了,说来也忏愧,说是有些年头了,其实也还是个不长进的主。记得第一次接触linux是boss跟我说的怎么操作,什么编辑模式,按i,a,o进入编辑模式。在一个黑乎乎…

2021腾讯数字生态大会:腾讯安全聚焦安全共建,护航数字经济发展

11月3日,以“数实融合 绽放新机”为主题的2021腾讯数字生态大会在武汉开幕。在首日的主峰会上,多位腾讯高管及行业领袖、企业家对数字时代如何建设安全底座,发表了看法。 腾讯高级执行副总裁、云与智慧产业事业群CEO汤道生指出,没…

Oauth认证协议

原文地址腾讯QQ第三方登录的实现原理? Oauth当中的角色: 1.Service Provider(服务提供方): 服务提供方通常是网站,在这些网站当中存储着一些受限制的资源,如照片、视频、联系人列表等。这些网站…

“分布式哈希”和“一致性哈希”的概念与算法实现

分布式哈希和一致性哈希是分布式存储和p2p网络中说的比较多的两个概念了。介绍的论文很多,这里做一个入门性质的介绍。 分布式哈希(DHT)   两个key point:每个节点只维护一部分路由;每个节点只存储一部分数据。从而实现整个网络中的寻址和存…

7000 字 23 张图,Pandas一键生成炫酷的动态交互式图表

作者 | 俊欣来源 | 关于数据分析与可视化今天小编来演示一下如何用pandas一行代码来绘制可以动态交互的图表,并且将绘制的图表组合到一起,组成可视化大屏,本次小编将要绘制的图表有折线图散点图直方图柱状图饼图面积图地图组合图准备工作我们…

手把手教你使用zabbix监控nginx

zabbix监控nginx,多亏了容哥(杨容)的帮忙,为了感谢容哥的帮助,写了这篇文章。环境介绍:服务器系统版本:CentOSrelease 6.6 (Final)内核版本:Linux hk_nginx2.6.32-504.3.3.el6.x86_64ZabbixServer版本&…

理解多线程设计模式

多线程设计模式:1.Single Threaded Execution Pattern [同一时刻只允许一个线程操作] 比喻:三个挑水的和尚,只能同一时间一个人过桥,不然都掉河里喂鱼了。 总结:在多个线程同时要访问的方法上加上synchronized关键…

Linux内核之旅

内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),我们简称为模块。Linux内核之所以提供模块机制,是因为它本身是一个单内核(monolithic kern…

qq腾讯第三方登陆

html页面&#xff1a;<html> <head> <meta charset"utf-8" /> <title>第三方登录</title> <meta property"qc:admins" content"1541324001721762700063671645060454" /> </h…

如何利用 Python 爬取 LOL 高清精美壁纸?

作者 | 阿拉斯加 来源 | 杰哥的IT之旅 一、背景介绍 随着移动端的普及出现了很多的移动 APP&#xff0c;应用软件也随之流行起来。最近看到英雄联盟的手游上线了&#xff0c;感觉还行&#xff0c;PC 端英雄联盟可谓是爆火的游戏&#xff0c;不知道移动端的英雄联盟前途如何&…