首页 存档 技术 查看内容

【Android 原创】用PHP帮你刷关---记一次分析游戏并写出挂机软件的过程

2018-3-30 13:00 |来自: 互联网 384 0

摘要: 前两天下了个游戏,名字叫做“咚嗒嗒部落”。感觉还挺好玩,然后就忍不住尝试去破解一下。 解压游戏的安装包,用Android killer分析了一下,发现这是个Unity写的游戏。 Unity的游戏肯定要找找Assmbly-Csharp.dll啊 ...

前两天下了个游戏,名字叫做“咚嗒嗒部落”。
感觉还挺好玩,然后就忍不住尝试去破解一下。


解压游戏的安装包,用Android killer分析了一下,发现这是个Unity写的游戏。


Unity的游戏肯定要找找Assmbly-Csharp.dll啊,于是把它丢进refelector。

开发者不用心啊,代码都不混淆,于是试着找点有用的东西。
这期间试着把关卡冷却时间调成0,本地上成功了,但是服务器端还有另一层冷却验证,冷却时间只能不了了之。
又更改了英雄的攻击,结果一进入战斗页面就闪退= =
可能是我改得不好,反正通过改dll我得不到什么好玩的东西。

想了想,干脆做个挂机的软件吧。
于是用fiddler抓了包,进行了相关的分析。
抓包的过程不详细写了,就把分析的结果贴上来吧。
这个游戏在登录时会向121.199.54.144:101发包,结构如下:


121.199.54.144:101 /default.ashx?

MsgId=2

Sid=

Uid=0

St=

actionId=1004

Handler=Login

MobileType=1

PassportId=puluter

Password=密码屏蔽下qwq

DeviceID=android-0fa7fe268b41e6082c4489537992e698

RetailID=0000

RetailUser=

sign=251b5ed2598d668a876ee812c83c0935


然后服务器会返回一个token和一个UserID,结构如下。


{

"StateCode":0,

"StateDescription":"",

"Vesion":"1.0",

"Handler":"Login",

"Data":

{

"Token":"04cfe4f03****7b4a42f38475cda862f",

"PassportId":"puluter",

"UserId":114364,

"UserType":0,

"IsGuest":false

}

}


这个部分主要是获取UserID。
然后会向主服务器(121.199.54.144:81)索取其他服务器的名称和IP地址。


121.199.54.144:81/Service.aspx?d=MsgId=4&Sid=&Uid=114364&St=&actionId=1001&GameID=1&Pid=puluter&sign=80f97b67d3a4c0d15456baf3f03092e3


分析↑这个包,我们会发现,其实这个包信息部分是“d=”后面的那一块,一眼看出这是Urlencode,我们解码来看一下。
解码后的结构如下:



MsgId=4

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部