小兵别嚣张,签名算法分析

点击上方蓝字[协议分析与还原]关注我们


分析unity3d游戏小兵别嚣张的签名算法。

不久前,写了个unity3d的引子,介绍了使用工具从unity3d游戏中提取出各种资源和算法:

unity3d游戏IL2CPP相关算法简单分析

不过内容很少,今天介绍一款基于unity3d的小游戏里面用到的签名算法的分析。

小兵别嚣张,这是一款竖屏塔防游戏,当然,不是3d的,虽然它是基于unity3d引擎开发的:

看上图,我玩到了好多级呢,蛮沉迷的。里面的操作蛮多的,都是与服务器的交互,不过,它都是使用HTTP进行数据传输的。

查了下发行商Ohayoo,旗下发行了不少这类小游戏,不过,开发公司不同,这款小兵别嚣张是tapenjoy开发的。

下面从数据的角度来对这个游戏进行一定的了解。


01

流量分析

作为一个流水线化的产品,小兵别嚣张与服务器的数据交互,都是通过API进行的,传输协议HTTP,域名是yxgs-tf-yx.tapenjoy.com,不同功能用不同API:

这里我们拿http://yxgs-tf-yx.tapenjoy.com/api/stat/batch这个API来分析。这个POST内的数据如下:

数据很简单,还有些功能没实现,这些数据项里,作为数据校验的签名项为sig字段,它对其它字段进行校验,其它字段变化则它也要变化。

仔细看,它是32字节字符串,大概率是个MD5,按正常分析过程,当然要到libil2cpp.so中去找算法了,如果能够使用Il2CppDumper这个工具自然是好,如果不能,那么,我们可以硬调这个so,例如寻找MD5算法关键字,来确定调用点,然后hook,找到关键数据,不过,在找算法这方面,每个人都应该充分利用自己的优势,尽量使用自己熟悉的技能来搞,会省事很多。

最终,得到签名算法是加盐的MD5,如下:

sig=MD5("7d499b2f0a87007bf21b05xxxxxxxxxxxxxxxxxxxxxxxxxx"+ data +iLevel+ iNewTime+ iRegTime+ timestamp +uid+ vAndroidID+ vDID +vGAID+ vIDFA+ vMAC+ vOS +vOpenUDID)

这里面,盐里面的一部分数据被我用x屏蔽了,毕竟公开了不太好,大家相互理解,毕竟,这个不是害人的棋牌呀,对不对。

02


匆匆结束

到这里差不多啦,毕竟这里只准备分析它的签名算法。有兴趣的,大家自行分析,一定会有不少收获,希望这里能起到抛砖引玉的作用。

如果你开心了,记得多多分享。

别忘点“在看”、“赞”和“分享”

新的规则,及时收推文要先给公号星标

别忘了星标一下,不然就错过了

长按进行关注,时刻进行交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值