最近朋友圈被这样的图片刷屏了:刷屏图片本来对这种测试我是没什么兴趣的,知道朋友圈又有了这样一条消息:网络图片本着去伪求真的精神,我要研究一下这个小程序的分数到底是怎么算出来的!工具:手机,微信,Charles ...
最近朋友圈被这样的图片刷屏了:
刷屏图片
本来对这种测试我是没什么兴趣的,知道朋友圈又有了这样一条消息:
网络图片
本着去伪求真的精神,我要研究一下这个小程序的分数到底是怎么算出来的!
工具:手机,微信,Charles,PC
思路:通过Charles抓包获取小程序请求到的内容,分析代码即可理解分数计算的逻辑。
困难1:小程序的请求是HTTPS类型的,抓包拿到的都是加密后的内容。
解决:PC和手机都安装Charles的SSL证书。
困难2:小米手机安装SSL证书失败。
解决:先用PC访问chls.pro/ssl,下载证书发送到手机上。安装成功。
通过监控请求发现,小程序只在开始的时候发送了一次请求,之后就没有再去请求了。说明打分的逻辑是在前台做的。这就是那一条请求:
请求截图
真正的代码是这样的:(只保留一道题目,节省时间)
{
"testname":"你的左右脑分别有几岁?",
"readnum":"437283",
"testquestion":{
"question":[{
"asktitle":"这个男人的眼睛是在一条直线上吗?",
"askimg":"",
"answer":[{
"answerimg":"",
"content":"是",
"next":"",
"store":"2"
},{
"answerimg":"",
"content":"不是",
"next":"",
"store":"1"
}]
},
......
"result":[{
"store":"9-12",
"result1":"左脑:11岁 右脑:33岁",
"result2":"你的左脑年龄是11岁,这导致你思考问题的方式和其他多数人不同,更侧重直觉和感知能力,充满灵性。身边许多人无法理解你为何不需要做缜密的推断就能得出解决方案,但事实证明你做事的方法往往最终能够奏效。而你的右脑则是成熟的33岁,因此那些以为你在任何方面都灵活变通的人往往大跌眼镜。在处理感性的事情时,你反而会显得小心翼翼甚至有些畏首畏尾,也许是因为见得太多的缘故吧。这样的你十分优秀,但有时也让人心疼。",
"resultimg":""
},{
"store":"12-15",
"result1":"左脑:19岁 右脑:20岁",
"result2":"真令人惊讶!你的左脑和右脑一样都如此的年轻呢!因此,你的思维十分活跃, 更倾向于充满灵性的思考方式,随时能擦出睿智的火花,而在为人处世方面,你不喜欢太多的去揣测更深层的意思,情感表达上,你也总是喜欢流露出最自然真实的状态。真好!完全就是一个像朝阳一样活力满满的人呢!",
"resultimg":""
},{
"store":"15-18",
"result1":"左脑:27岁 右脑:43岁",