自动回弹网球怎样使用(thor过滤器及网球规则之新旧两版NOMO相机的实例讲解)
自动回弹网球怎样使用(thor过滤器及网球规则之新旧两版NOMO相机的实例讲解)点击三角解码后查看输出文件,就可以看到明文消息体了,但这个还不是我们想要做修改的,我们再去复制一段来粘贴解码。 这涉及到base64的原理,有兴趣的小伙伴可以去搜一下这方面的知识,这里粗浅地讲一点,因为base64会把3个字节变为4个字节,所以base64编码的长度是4的倍数。 旧版的会员开放接口是/api/v2/iap/ios_product_list 这个先记住或者用一个备忘录拷贝,因为等下你会看到新版接口的不同。这里我们先理解一下旧版的过滤器是怎么做的吧。 查看其响应消息体我们可以看到像是乱码一样的数据,看似加了密但实际上是base64编码,这种编码一般是用来遮掩明文消息的,是可以解码的。 我们可以用Anubis来解码,网页搜索一下也可以直接在线解码的,在模式里选择解码,然后点击输入文件,将我们拷贝的粘贴进去。我们不能将这里所有base64全部复制粘贴进去一次性转码,如果要这么做的
除了最初发表的以"熔岩音乐"和"流利阅读"为范本,内容太过于巨细靡遗,主要是为了给入门朋友详解相关的基本流程,但之后所有文章唯有对于实例的重点讲解,主要在于培养大家对于一些关键数据的敏锐感知,逐渐加深对于thor过滤器或者HttpCatcher的了解以及学会正则表达式。(文章底部一般都有成品过滤器或者规则可供下载测试以及视频教程)
NOMO是一款主打怀旧相机主题的拍照应用,但说实话我个人觉得你一个月能用上两次算我输,大概就是属于小众产品系列。
我们先用旧版本1.5.28来讲解,这是目前网上流传的相关过滤器和规则可以通用的一个版本,之所以要先讲旧版本,是因为如果不先理解清楚它的接口以及请求头相关数据的话,等下的最新版本1.5.41是没法入手操作的。
而且最新版1.5.41是没有办法做一个通用过滤器的,必须自己亲手做,因为需要用到nomo旧版1.5.28在你设备上生成的相关id数据,也就是说,如果你想用新版的话,那么必须先安装旧版并记录那些重要数据,然后在新版本中去替换。
过程是比较繁琐的,而且个人也觉得没有必要,新旧两版在功能上没有本质的差别,当然我们这里可以做一些技术探讨,嫌麻烦的话可以直接看文章底部回复数字,网上pp助手或者商店抓包(之后我会更新文章讲这个)安装个旧版并配合过滤器或规则是完全可用的。
旧版的会员开放接口是/api/v2/iap/ios_product_list 这个先记住或者用一个备忘录拷贝,因为等下你会看到新版接口的不同。这里我们先理解一下旧版的过滤器是怎么做的吧。
查看其响应消息体我们可以看到像是乱码一样的数据,看似加了密但实际上是base64编码,这种编码一般是用来遮掩明文消息的,是可以解码的。
我们可以用Anubis来解码,网页搜索一下也可以直接在线解码的,在模式里选择解码,然后点击输入文件,将我们拷贝的粘贴进去。我们不能将这里所有base64全部复制粘贴进去一次性转码,如果要这么做的话必须将文本复制出来后重新进行段落编辑加上=把Base64字符串的长度变为4的倍数
这涉及到base64的原理,有兴趣的小伙伴可以去搜一下这方面的知识,这里粗浅地讲一点,因为base64会把3个字节变为4个字节,所以base64编码的长度是4的倍数。
点击三角解码后查看输出文件,就可以看到明文消息体了,但这个还不是我们想要做修改的,我们再去复制一段来粘贴解码。
可以看到很关键的判断用户的 valid user的真假,这里的true代表着某个相机可供使用,其实原先应该是false的。到这里你应该明白怎么做了吧,将这些解码消息体复制出来编辑,将false改成true,然后重新编码成Base64码,最终汇总在一起后,进行整体的替换 ,这个过程也是很繁琐的,大家能理解原理即可。
最终进行整体性的替换即可,整个过滤器就完成。测试完美适用于旧版1.5.28。接下来我们讲讲新版本的。
但是在此之前,应该要将上一版本的/api/v2/iap/ios_product_list 相关数据进行复制保存在备忘录中待用,并且也需要用到转码后的响应消息体。
先在这里附加下网球规则的样子吧,它就是复制粘贴而已,完成1.5.28的网球规则。
接下来我们就来测试目前最新版1.5.41的NOMO相机。依旧全局抓包,触发一些会员项目后返回thor查看数据。
可以看到最新版的会员开放接口是/api/v3/iap/ios_product_list 也就是说从旧版的v2变成v3了,但是为了兼容老版用户v2是不可能马上关闭的,这就给了我们一个思路,那就是把接口桥接过去。
而右边的请求头数据也都是我们要做更改的,要让它以为你是在用旧版的软件去访问才能够获取数据,并且跟旧版一样也要替换响应消息体,这就是基本思路。
提取到过滤器后,因为我们要在请求头数据发出之前进行修改,所以进入请求头发出的项目,判断条件后,添加表达式里用这个 ^@req.api 代表的是对请求接口的替换,将新版的v3接口改成旧版的v2接口。
再回去添加一个表达式 ^@req.header 对请求头里的User-Agent的用户代理识别字符串进行内容的更改 [^*] 代表匹配所有内容,后面就是要替换的,重点就是1.5.28就是nomo的旧版本号。
然后再添加一个 ^@req.query 来替换查询用户信息的内容。
完成这一步后,请求头里的该v3接口判断条件下的语法表达式完整如上。这就是无法做成新版通用过滤器的原因,那些替换数据都得是你安装旧版时在本地生成的,虽然我也想做成可控变量的形式,只要将自己的数据粘贴进去那种,但过程其实也极其繁琐,都需要自己亲手操作,很容易出错,需要注意。
然后再进入我们比较熟悉的响应消息体回传前,将1.5.28版制作的内容给替换上。至此整个新版过滤器内容就基本完成了。
结局如上。其实新版真的是瞎折腾而已啊,和旧版几乎没有差别,就连这种加密手段也弱了点,希望他们改进一下吧╮( ̄▽ ̄"")╭
另外,通过一些脱壳手段的反编译研究了下,发现 NOMO有自毁机制,就是说哪怕你把所有相机都下载下来了,然后把它禁止联网,不再开过滤器也能用它,但是程序在判断你过了一周时间都没有联网的话,会自动将所有已经下载的相机全部删除掉。