|
功能_账号密码登录 | 文本型 | |
|
账号 | 文本型 | | | |
pwd | 文本型 | | | | mid | 文本型 | | | | dfid | 文本型 | | | | KEY | 文本型 | | | | KRY_32 | 文本型 | | | | KRY_16 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
局_网址 | 文本型 | | |
http | WinHttpW | | |
局_提交数据 | 文本型 | | |
局_返回 | 文本型 | | |
clienttime_ms | 文本型 | | |
pk | 文本型 | | |
param | 字节集 | | |
RSA | 整数型 | | |
d | 字节集 | | |
i | 整数型 | | |
data1 | 字节集 | | |
result | 文本型 | | |
params | 文本型 | | |
加密 | 加解密对象 | | |
mobiles | 文本型 | | |
datakey | 文本型 | | |
clienttime | 文本型 | | |
t1 | 文本型 | | |
t2 | 文本型 | | |
sign | 文本型 | | |
data | 文本型 | | |
time10 | 文本型 | | |
nickname | 文本型 | | |
Header | 文本型 | | |
IP | 文本型 | | |
RunningState | 文本型 | | |
clienttime_ms =
GetTime10 (,
)酷狗_生成密钥 (KEY, KRY_32, KRY_16
)pk =
#PK pk =
子文本替换 (pk,
“{clienttime_ms}”, clienttime_ms, , ,
真)pk =
子文本替换 (pk,
“{key}”, KEY, , ,
真)RSA =
PEM_载入公钥 (“MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIAG7QOELSYoIJvTFJhMpe1s/gbjDJX51HBNnEl5HXqTW6lQ7LC8jr9fWZTwusknp+sVGzwd40MwP6U5yDE27M/X1+UR4tvOGOqp94TJtQ1EPnWGWXngpeIW5GxoQGao1rmYWAu6oi1z9XkChrsUdC6DJE5E221wf/4WLFxwAtRQIDAQAB”)param =
取空白字节集 (128
)d =
到字节集 (pk
)
计次循环首 (取字节集长度 (d
), i
)
param
[i
] = d
[i
]
计次循环尾 ()data1 =
RSA加密_公钥加密 (RSA, param, 3
)
计次循环首 (取字节集长度 (data1
), i
)
result = result +
到大写 (格式化文本 (“%02x”, data1
[i
]))
计次循环尾 ()pk = result
params =
子文本替换 ( #params, “{clienttime_ms}”, clienttime_ms, , ,
真)params =
子文本替换 (params,
“{pwd}”, pwd, , ,
真)加密.
加密数据 ( #算法_AES_256_CBC, params, KRY_32, params,
#填充方式_PKCS5, 到字节集 (KRY_16
),
#文本内容类型_十六进制_小写 )clienttime =
GetTime (,
)time10 =
GetTime10 (,
)t2 = mid +
“|” +
取数据摘要 (到字节集 (文本_取随机数字 (10,
))
) +
“|” +
取文本左边 (取数据摘要 (到字节集 (文本_取随机数字 (10,
))
), 12
) +
“|” +
文本_取随机字符 (取随机数 (5, 8
),
) +
“|” + clienttime
加密.
加密数据 ( #算法_AES_256_CBC, t2, KRY_32, t2,
#填充方式_PKCS5, 到字节集 (KRY_16
),
#文本内容类型_十六进制_小写 )加密.
加密数据 ( #算法_AES_256_CBC, “|” + clienttime, KRY_32, t1,
#填充方式_PKCS5, 到字节集 (KRY_16
),
#文本内容类型_十六进制_小写 )mobiles =
取文本左边 (账号, 3
) +
“*****” +
取文本右边 (账号, 3
)datakey =
取数据摘要 (到字节集 (“1005OIlwieks28dk2k092lksi2UIkp12429” + clienttime
))
nickname =
文本_取随机字母 (10, 2
)data =
#data data =
子文本替换 (data,
“{username}”, 账号, , ,
真)data =
子文本替换 (data,
“{params}”, params, , ,
真)data =
子文本替换 (data,
“{nickname}”, nickname, , ,
真)data =
子文本替换 (data,
“{clienttime}”, time10, , ,
真)data =
子文本替换 (data,
“{pk}”, pk, , ,
真)data =
子文本替换 (data,
“{ti}”, t1, , ,
真)data =
子文本替换 (data,
“{t2}”, t2, , ,
真)data =
子文本替换 (data,
“{key}”, datakey, , ,
真)data =
子文本替换 (data,
“{MCwwLDAsMCwwLDAsMCwwLDA=}”,
酷狗_生成T3 (), , ,
真)sign =
“OIlwieks28dk2k092lksi2UIkpappid=1005clienttime={time10}clientver=12429dfid=3MIM212Ywx7S11RjsS05Hc9Imid=” + mid +
“uuid=-{data}OIlwieks28dk2k092lksi2UIkp”sign =
子文本替换 (sign,
“{time10}”, time10, , ,
真)sign =
子文本替换 (sign,
“{data}”, data, , ,
真)sign =
取数据摘要 (到字节集 (sign
))
局_网址 =
“https://gateway.kugou.com/v9/login_by_pwd/?dfid=3MIM212Ywx7S11RjsS05Hc9I&signature=” + sign +
“&appid=1005&mid=” + mid +
“&clientver=12429&clienttime=” + time10 +
“&uuid=-”http.
Open (“POST”, 局_网址
)http.
SetContentType (“application/json; charset=UTF-8”)http.
SetRequestHeader (“Host”,
“gateway.kugou.com”,
)http.
SetRequestHeader (“x-router”,
“login.user.kugou.com”,
)http.
Send (data
)局_返回 =
编码_Utf8到Ansi (http.
GetResponseBody ())
Header = http.
GetResponseHeader (“SSA-CODE”)
判断 (Header =
“”)
返回 (局_返回
)
返回 (Header
)