正文
看着这个post……我们重新登陆几次就可以发现,变化的只有UUID与hash_token而已构造这个包的话用
string login = "{ \"uuid\":\"" + UUID + "\",\"hash_token\":\"" + HashToken + "\",\"clver\":\"460\",\"os\":1,\"carrier\":1,\"market\":2,\"lang\":0,\"device\":\"samsung SM-W2017\",\"token\":\"\",\"os_ver\":\"Android OS 6.1.1 / API-23 (CTC-W2017KEU1APK1)\",\"bsid\":\"\"}";
你要有强迫症的话也可以用json来啊……如同下面代码一样自行序列化反序列化JSON
//var data = JsonConvert.SerializeObject(new LoginPost()
//{
// uuid = UUID,
// hash_token = Hash_Token,
// clver = "460",
// os = "1",
// carrier = "1",
// market = "2",
// lang = "0",
// device = "samsung SM-W2017",
// token = "",
// os_ver = "Android OS 6.1.1 / API-23 (CTC-W2017KEU1APK1)"
//});
反正这样子来反而会很坑你信不信,运行起来速度反而会慢哦
UUID我们可以在/data/data/net.gamon.kmaTW/shared_prefs/SmartBeat.xml找到
那么hash_token要怎么去计算呢?这种时候就要拆开客户端仔细观察了。噫……unity游戏?这就是我说的软柿子了。
简单搜索hash我们已经可以找到这个地方……很简单对不对……
复制一下我们就可以直接拿来用了,52有代码框插件我就可以放心复制出来了,比起wordpress论坛排版还是挺有难度的
public static string GetHashFromUUID(string UUID)
{
int[] array = new int[12];
for (int i = 0; i
{
switch (i)
{
case 0:
array[i] = 78;
break;
case 1:
array[i] = 68;
break;
case 2:
array[i] = 51;
break;
case 3:
array[i] = 26;
break;
case 4:
array[i] = 35;
break;
case 5:
array[i] = 44;
break;
case 6:
array[i] = 117;
break;
case 7:
array[i] = 46;
break;
case 8:
array[i] = 25;
break;
case 9:
array[i] = 76;
break;
case 10:
array[i] = 44;
break;