微信小程序星途WeGoing验签字段sig值计算

admin0条评论 137 次浏览

先看一张效果图:

通过分析星途WeGoing小程序的源代码,得到修改分数时的sig字段加密算法,整理转义算法如下:

<script type="text/javascript">
	var game_params = [{
	key: "newscore", //分数,按需改
	value: 201800
	}, {
		key: "level", //按需改
		value: 2018
	}, {
		key: "baoshi", //宝石,按需改
		value: 2018
	}, {
		key: "combo", //COMOBO 按需改
		value: 2018
	}]

	var appid = "wx7a727ff7d940bb3f";

	game_params.forEach(function(game_params) {
					appid += "_" + game_params.key + ":" + game_params.value
				})
	console.log('拼接字符串:' + appid);

	for (var sig = 0, i = 0; i < appid.length; i++) sig = 31 * sig + appid.charCodeAt(i), sig &= 67108863;
	console.log('拼接字符串长度:' + appid.length);
	console.log('sig签名:' + sig);
	prompt("请复制sig值~", sig);
</script>

appid是星途WeGoing游戏的会话字段,需要用Charles、Fiddler或其它抓包工具抓取请求数据得到,同样,修改分数的请求数据包也需要抓包得到。

保存上面的js代码到本地,按需修改对应的字段值,然后存为WeGoing.html文件,双击运行即可得到验签字段sig的值,再重新改请求包Repeat发包即可修改星途WeGoing的分数。


发表评论

? razz sad evil ! smile oops grin eek shock ??? cool lol mad twisted roll wink idea arrow neutral cry mrgreen