利用host映射拦截请求伪造服务器响应,避开游戏辅助软件的卡号验证

小鸡
阅读200喜欢1·软件发表2019-12-25更新2019-12-25
前言:本文仅供学习参考以及警醒作用,不怂恿任何人去做破坏正常软件版权的行为(灰色行业除外)。本人也并未传播任何盗版或破解版软件,一切他人行为与作者无关

昨天在玩某爆肝痒痒鼠游戏的时候,想用个辅助来护肝(只是用来点怪之类的辅助,并不是修改游戏内容的外挂,也不会破坏游戏体验)。事实上我上个月也用python写了一个简单的点怪脚本,但是后来因为技术太差被检测到,账号被封了7天。想想还是用别人的靠谱。某宝上是有某家辅助非常靠谱,功能繁多且运行稳定,不会被检测。然而无奈的是,太贵了!!一个月30,一年300。

然后就想着白嫖……

刚开始的想法和网上大多数的破解教程一样,反编译,搜关键变量,看源码,改源码。但是我并没有这样子,因为我太菜了,又懒得去下载那一堆破解工具。然后我就用我的所学知识思考了下,想到了通过劫持客户端发出的请求,伪造服务器对其请求进行响应,反回正常登陆所需的内容。

具体步骤如下,一共分为四步。在此之前你需要一个正常能用的账号,用来解析正常登陆状态下客户端与服务器端的数据交互都有哪些内容

抓包分析请求数据与返回数据

这里我是安卓模拟器上面进行的操作,因为那个软件是安卓的,不过这个方法同样适用于桌面端。下面是安卓上用到的软件。


抓包精灵和MT管理器,首先使用抓包精灵对软件进行抓包,抓包的时候先打开抓包精灵的开关,然后在辅助软件中点击登陆或者验证操作。这时候客户端与服务端的数据交互将会被抓包精灵劫持。

分析所抓取的数据,需要关注的地方有:

  1. 请求数据的域名
  2. 请求数据链接的uri
  3. 请求体内容
  4. 响应体内容


抓取完之后,就是开始拦截请求。

拦截请求

这里用到了非常简单的host映射,这个host是一个请求发起后域名被dns解析之前,主机会先查看本机的host文件内是否有对应的域名映射,如果有那就直接使用host中的ip,而不是通过dns解析去获取正常的ip。

关于各个系统如何修改host可以自行百度。

这里说安卓的host如何修改,路径是/system/etc/host



在host文件里面添加一条映射

127.0.0.1  抓取到的域名
也可以是自己服务器的ip

修改完之后,客户端的请求都会被转发到这个ip,最后一步就是伪造服务器响应。

伪造服务器响应

我是使用node+express搭建一个简单的http服务。当然你可以使用各种各样的网络服务器。

下面是用到的pack包

{
"name": "yys_server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"express": "^4.14.0",
"request": "^2.88.0",
"requests": "^0.3.0",
"silly-datetime": "^0.1.2"
}
}

npm install之后,新建index.js

var express = require("express");
var app = express();
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({
extended:true
}));

var request = require("request");

app.get("/", function(req, res) {
// 这里只是一个实例,并不是我的代码
// 根据抓包的数据,写相应的请求响应程序
});

app.listen(80);


因为怕把软件作者的羊毛薅光(该软件作者早就赚翻了,某宝上快两万销量),所以上面的文章我并没有详细地谅解每一步的具体内容。但是整个思路是非常清晰的。

通过抓包工具分析登录验证的时候客户端与服务器的消息通信,利用host映射的机制将客户端的请求发送到自己的服务器,自己的服务器对请求进行响应,返回正常登陆的数据。

理论上这种思路可以用于绝大多数卡号验证的游戏辅助软件。这种软件的特征就是

1.通过卡号,时间,客户端识别号,用时间生成的验证字符串等关键内容进行登录验证

2.直接通过域名请求客户端

3.登录验证后不会再有与服务器的其他交互

这种软件都可以通过以上方式进行验证破解……然而,对于正常的法律允许运营软件,呼吁大家支持正版,维护软件作者的权益。对于灰色地带的边缘软件,你们要干嘛与我无关…我这里只是提供一个思路,也警醒作者。

完。


随想
博客
机器学习
教程
邻家酒肆
前端
深度学习
算法
小程序
资源
cpp
html
javascript
python
sql
node
wordpress

最近文章