抢茅台软件都需要哪些技术

最近,因为写了一篇《京东抢茅台那些事》涨了很多粉丝,我想大部分人可能对所谓的抢茅台软件感兴趣,那么今天就谈谈,这个类型的软件,到底用到了哪些技术。

数据抓包

数据包,通俗来讲就像你和一个人聊天,你发的内容和对方回复的内容,每一句话都算一个数据包。只不过我们把角色转变成你的手机应用软件和软件的服务器之间的聊天,而且聊天内容是设定好的,就像暗号一样,你手机软件说“天王盖地虎”,它的服务器肯定会回复你“宝塔镇河妖”。拿到咱们GitHub上这套软件来说,这里的抓包,其实就是浏览器和京东服务器之间的聊天,因为这些“暗号“是相对固定的,我们抓包就是为了看看它们到底聊了些什么。如果想了解抓包工具有哪些,可以翻阅下我之前发的《常用网络抓包工具推荐》,根据自己实际情况选择软件,测试下抓包。

http协议

http协议,学习的作用就是用来翻译上面抓的数据包的。

http协议里最常用的是GET请求和POST请求,其实就是两种携带信息的方式,可以比喻成一个是拿快递三轮送货,一个拿箱货送货,其中载货量和隐私性是有一定区别的。

学习http协议,主要学习以下三点,

第一个分析数据包发送都带了哪些参数去请求的,这就是上面说到数据包中“暗号”中主要说了哪些内容;

第二个要学习下http头,其实就像你应该以什么语气去聊天,上一句聊到哪了(referer);

第三了解下cookie,cookie是登陆后,服务器那边告诉你的,代表你是登陆状态。做个比喻的话,很像你上班的工作证,你只有带着这个工作证,才能和公司去交流,而且还会根据你做哪些工作,给你工作证上时常添加一些标记,有了这些标记,你才能哪个打开某些办公室的门。

前端知识

学习前端,主要是为了分析数据包中,聊天的关键信息,固定的“暗号”里面,那些非固定的一些话,都是js生成的。

前端主要指的是网页和js脚本,看网页是方便看懂过程中网页的内容,js是交互中都动态生成了那部分“暗号”。

难点:js混淆或加密后的处理

JavaScript(又简称js)本身为脚本语言,它是明文的,但是为了防止大家随意看到它执行了什么,j s可以混淆加密,变成人眼看不懂的样子,但是浏览器可以认识它。这种情况下,如果想看懂到底执行了什么,就必须学习下用浏览器调试j s代码,反推j s具体逻辑,反混淆,把一些原有的字符串还原回去,变成相对可读性的代码。

APP逆向(可选)

因为现在京东已经必须用手机的抢购了,现在那些动态的“暗号”不再是单纯的拿JavaScript生成的了,有些软件自己生成,这就必须学习软件去壳,然后反编译app代码,拿到关键请求参数(暗号)生成方式,然后找“暗号”的生成算法。

一门开发语言

其实把上面的沟通方式分析好了,知道了它们聊了些什么,想达到咱们的目的,挑出主要内容和服务器聊了就可以了,比如
带着该有的表情和“暗号”告诉服务器“我要抢茅台”,它一看你诚意到了,就给了你一瓶。

开发语言只是一个工具,是用来模拟浏览器(或App)和服务器聊天了用的,可以是python 、 java、go 、nodejs等等,其实根据上面分析的想法去模拟想要的过程就可以了,这样肯定比手的动作会快。其中python上手应该更快一些,可用的库更齐全一些。当你学会一种语言然后拿它实现你想做的事情,就可以变成这类抢购软件。

注意:做这类工具软件,最好不要拿去盈利,可以当作学习,自己玩玩还可以,千万不要用做非法用途。

写这篇文章,并不是鼓励大家去做抢购软件,而是为了激起一些人对一些技术的学习兴趣。反正我是这样,每当我对学习失去了动力,就去找一些自己感兴趣的东西,然后研究下,到底怎么做到的,我能不能尝试做一下,这样下来学到了不少东西。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/dtwangquan/article/details/113705071