JS 微信小游戏awardInfoB参数分析
玩微信经常遇到如下各种排行榜的小游戏,手残的是不是想通过改分数获得第一名?那就来搞一下。。。
1.上抓包看提交的数据,只有achieve和awardInfoB加密了 其他都是正常的参数
直接搜awardInfoB关键字查找
g_config.awardUsername && (info.ausername = g_config.awardUsername);
g_config.awardPhone && (info.aphone = g_config.awardPhone);
g_config.awardAddress && (info.aadress = g_config.awardAddress);
info.ip = 'xxx.xx.xx.xx';
var params = {
gameId: 61,
style: 14,
achieve: HdGame.encodeBase64('"'+_gameScoreStr+'"') + "UdN1I4Z9NfNeF1Z5xxxxxxxxxxx",
openId: "oosnVwpQxxxxxxxxxxxxxxxxx",
name: g_config.userName,
awardInfoB: g_config.awardInfoB,
city_gps: typeof g_config.ipInfo.city != 'undefined' ? g_config.ipInfo.city : '',
province_gps: typeof g_config.ipInfo.provice != 'undefined' ? g_config.ipInfo.provice : ''
};
achieve值: 一个简单的对游戏分数的base64 我们主要来看awardInfoB=g_config.awardInfoB 全局变量,其他地方没有任何赋值修改的地方。猜测通过浏览器虚拟机VM加载js来进行加密
2.手机端调试
第一种:可以通过spy-debugger.远程调试手机浏览器
这次我们选择谷歌浏览器 直接构造微信ua来实现调试微信中才能打开的连接
F12弹出控制台 点击左上角的toggle device toolbar 添加微信UA 然后删掉页面中的检测代码 即可正常加载和调试
可以愉快的调试了,通过数据长度32位猜测md5 反追callback即可找到加密的地方
总结:游戏分数 一次md5后进行splice重组然后再进行一次md5 一共3行代码
最后提醒:改分有风险,一时改分一时爽 。封号后不可参与所有的凡客游戏
本文仅作为技术讨论与分享,严禁用于非法用途 逆向交流QQ微信同:321481996