.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 c_cookie, 文本型
.程序集变量 c_modulus, 文本型
.程序集变量 c_publicExponent, 文本型
.子程序 _按钮1_被单击
.局部变量 j_分割, 文本型, , "0", 1 fingerPrintDetail 2 fingerPrint
.局部变量 j_post参数, 文本型
.局部变量 j_RSAID, 文本型
.局部变量 j_RSAPWD, 文本型
j_分割 = 分割文本 (编码_运行JS代码 (#js, “rsaFingerprint”, c_modulus, c_publicExponent, , ), “@&”, )
j_RSAID = 编码_运行JS代码 (#js, “getRSA”, 编辑框1.内容, c_modulus, c_publicExponent, ) ' 加密账号
j_RSAPWD = 编码_运行JS代码 (#js, “getRSA”, 编辑框2.内容, c_modulus, c_publicExponent, ) ' 加密密码
j_post参数 = “sourceID=220001&appType=0&relayState=&loginID=” + j_RSAID + “&enpassword=” + j_RSAPWD + “&captcha=” + 编辑框3.内容 + “&imgcodeType=1&rememberMeBox=1&fingerPrint=” + j_分割 [2] + “&fingerPrintDetail=” + j_分割 [1] + “&isAsync=true”
输出调试文本 (到文本 (网页_访问_对象 (“https://passport.migu.cn/authn”, 1, j_post参数, c_cookie, , , , , , , , , , , , , , , )))
.子程序 __启动窗口_创建完毕
.局部变量 UA, 文本型
' UA = “user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36”
' 网页_访问_对象 (“https://music.migu.cn/v3”, , , , c_cookie, , , , , , , , , , , , , , )
' 输出调试文本 (c_cookie)
' 图片框1.图片 = 获取验证码 ()
publickey ()
.子程序 获取验证码, 字节集
.局部变量 j_ret, 文本型
j_ret = 到文本 (网页_访问_对象 (“https://passport.migu.cn/captcha/graph/risk?imgcodeType=1&showType=0&sourceid=220001”, 1, , , c_cookie, , , , , , , , , , , , , , ))
返回 (编码_BASE64解码 (文本_取出中间文本 (j_ret, “base64,”, #常量1, , ), ))
.子程序 _图片框1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
图片框1.图片 = 获取验证码 ()
.子程序 publickey, , , 获取加密公钥
.局部变量 j_ret, 文本型
.局部变量 json, 类_Json
' https://passport.migu.cn/password/publickey
j_ret = 到文本 (网页_访问_对象 (“https://passport.migu.cn/password/publickey”, 1, , c_cookie, , , , , , , , , , , , , , , ))
json.解析 (j_ret)
c_modulus = json.取通用属性 (“result.modulus”, )
c_publicExponent = json.取通用属性 (“result.publicExponent”, )
.子程序 _按钮3_被单击
.局部变量 j_RSAID, 文本型
.局部变量 j_分割, 文本型, , "0", 1 fingerPrintDetail 2 fingerPrint
.局部变量 j_url, 文本型
j_分割 = 分割文本 (编码_运行JS代码 (#js, “rsaFingerprint”, c_modulus, c_publicExponent, , ), “@&”, )
j_RSAID = 编码_运行JS代码 (#js, “getRSA”, 编辑框6.内容, c_modulus, c_publicExponent, ) ' 加密手机号
j_url = “https://passport.migu.cn/login/dynamicpassword?isAsync=true&msisdn=” + j_RSAID + “&captcha=” + 编辑框3.内容 + “&sourceID=220001&imgcodeType=2&fingerPrint=” + j_分割 [2] + “&fingerPrintDetail=” + j_分割 [1] + “&_=” + 时间_取现行时间戳 ()
输出调试文本 (到文本 (网页_访问_对象 (j_url, , , c_cookie, , , , , , , , , , , , , , , )))
.子程序 _按钮2_被单击
.局部变量 j_post参数, 文本型
.局部变量 j_分割, 文本型, , "0", 1 fingerPrintDetail 2 fingerPrint
.局部变量 j_RSAID, 文本型
.局部变量 j_securityCode, 文本型
j_分割 = 分割文本 (编码_运行JS代码 (#js, “rsaFingerprint”, c_modulus, c_publicExponent, , ), “@&”, )
j_RSAID = 编码_运行JS代码 (#js, “getRSA”, 编辑框6.内容, c_modulus, c_publicExponent, ) ' 加密手机号
j_securityCode = 编码_运行JS代码 (#js, “getSecurityCode”, , , , ) ' 加密手机号
j_post参数 = “sourceID=220001&appType=0&relayState=&msisdn=” + j_RSAID + “&securityCode=” + j_securityCode + “&captcha=” + 编辑框4.内容 + “&imgcodeType=2&dynamicPassword=” + 编辑框5.内容 + “&fingerPrint=” + j_分割 [2] + “&fingerPrintDetail=” + j_分割 [1] + “&isAsync=true”
输出调试文本 (到文本 (网页_访问_对象 (“https://passport.migu.cn/authn/dynamicpassword”, 1, j_post参数, c_cookie, , , , , , , , , , , , , , , )))