diff --git a/output.js b/output.js index 8b5620c..8274781 100644 --- a/output.js +++ b/output.js @@ -1,415 +1,56 @@ -//Mon Apr 28 2025 09:44:40 GMT+0000 (Coordinated Universal Time) +//Mon Apr 28 2025 09:47:07 GMT+0000 (Coordinated Universal Time) //Base:https://github.com/echo094/decode-js //Modify:https://github.com/smallfawn/decode_action -const paopao = function () { - function _0x7655f(_0x174ab5, _0x2208a1) { - http.__okhttp__.setMaxRetries(0); - http.__okhttp__.setTimeout(5000); - this.event = events.emitter(); - this.debug = false; - this._lib_version = "v1.13"; - this._protocol = "http"; - this._hosts = ["api3.paojiaoyun.com", "api2.paojiaoyun.com", "api.paojiaoyun.com"]; - this._host = this._hosts[0]; - this._device_id = this.getDeviceID(); - this._retry_count = 9; - this._switch_count = 0; - this._app_key = _0x174ab5; - this._app_secret = _0x2208a1; - this._card = null; - this._username = null; - this._password = null; - this._token = null; - this.is_trial = false; - this.login_result = { - "card_type": "", - "expires": "", - "expires_ts": 0, - "config": "" - }; - this._auto_heartbeat = true; - this._heartbeat_gap = 120000; - this._heartbeat_task = null; - this._heartbeat_ret = { - "code": -9, - "message": "还未开始验证" - }; - this._prev_nonce = null; - this._is_ping = false; - } - _0x7655f.prototype.SetBackupHosts = function (_0x5b2f1d) { - this._hosts.concat(_0x5b2f1d); +threads.start(function () { + var _0x1923c6 = { + "Authorization": "Basic " + java.lang.String(android.util.Base64.encode(java.lang.String("3422" + ddyst.get("ddyb") + "@" + ddyst.get("ddyu").slice(10, 16) + ":a925bg73itq" + ddyst.get("ddyc")).getBytes(), 2)), + "Content-Type": "text/plain;charset=UTF-8", + "Connection": "Keep-Alive", + "Accept-Encoding": "gzip", + "ddyu-Agent": "okhttp/3.12.1" }; - _0x7655f.prototype.switchHost = function () { - this._switch_count++; - this._host = this._hosts[this._switch_count % this._hosts.length]; - }; - _0x7655f.prototype.SetCard = function (_0x8fc1f6) { + if (name == "上传日志") { { - this._card = _0x8fc1f6.trim(); - } - }; - _0x7655f.prototype.SetUser = function (_0x4ce13d, _0x8cec38) { - this._username = _0x4ce13d.trim(); - this._password = _0x8cec38; - }; - _0x7655f.prototype.getDeviceID = function () { - let _0x24a72c = device.serial; - if (_0x24a72c == null || _0x24a72c == "" || _0x24a72c == "unknown") { - _0x24a72c = device.getAndroidId(); - } - if (_0x24a72c == null || _0x24a72c == "" || _0x24a72c == "unknown") { - _0x24a72c = device.getIMEI(); - } - return _0x24a72c; - }; - _0x7655f.prototype.MD5 = function (_0x2dbe36) { - try { - { - let _0x18a013 = java.security.MessageDigest.getInstance("md5"); - let _0x2d79ef = _0x18a013.digest(new java.lang.String(_0x2dbe36).getBytes("UTF-8")); - let _0x1aadb9 = new java.lang.StringBuffer(); - for (let _0x29306b = 0; _0x29306b < _0x2d79ef.length; _0x29306b++) { - let _0x249167 = _0x2d79ef[_0x29306b]; - let _0x508955 = _0x249167 & 255; - let _0x2dbe36 = java.lang.Integer.toHexString(_0x508955); - if (_0x2dbe36.length == 1) { - { - _0x1aadb9.append("0"); - } - } - _0x1aadb9.append(_0x2dbe36); - } - return _0x1aadb9.toString(); - } - } catch (_0x503468) { - alert(_0x503468); - return ""; - } - }; - _0x7655f.prototype.getTimestamp = function () { - try { - { - let _0x1a8619 = http.get("http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp"); - let _0x2b8cc4 = _0x1a8619.body.json(); - return Math.floor(_0x2b8cc4.data.t / 1000) - 3; - } - } catch (_0x5dc086) { - try { - { - let _0x2e8590 = http.get("https://tptm.hd.mi.com/gettimestamp"); - let _0x2b8cc4 = _0x2e8590.body.string(); - return parseInt(_0x2b8cc4.replace("var servertime=", "")) - 3; - } - } catch (_0x515004) { - return Math.floor(new Date().getTime() / 1000) - 3; - } - } - }; - _0x7655f.prototype._draw_cc_params = function (_0x51857a) { - { - if (!_0x51857a) return ""; - start = _0x51857a.indexOf("?"); - if (start < 0) return ""; - end = _0x51857a.indexOf("\";"); - if (end < 0 || end < start) return ""; - return _0x51857a.substring(start, end); - } - }; - _0x7655f.prototype.Ping = function () { - if (this._is_ping) return; - try { - let _0x4a4eda = "/v1/ping"; - let _0x39e407 = this._protocol + "://" + this._host + _0x4a4eda; - let _0x1ea8df = http.get(_0x39e407); - let _0x5e6434 = _0x1ea8df.body.string(); - if (_0x5e6434 == "Pong") { - { - log("服务器连接成功"); - this._is_ping = true; - return; - } - } - let _0xb2e109 = this._draw_cc_params(_0x5e6434); - if (_0xb2e109) { - let _0x2dda1e = http.get(_0x39e407 + _0xb2e109); - if (_0x2dda1e.body.string() == "Pong") { - log("服务器连接成功"); - this._is_ping = true; - } - } else { - { - this.switchHost(); - } - } - } catch (_0x58e375) { - { - this.switchHost(); - } - } - }; - _0x7655f.prototype.genNonce = function () { - const _0x401db6 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - let _0xd7246f = ""; - for (let _0x260af4 = 0; _0x260af4 < 20; _0x260af4++) { - { - _0xd7246f += _0x401db6.charAt(Math.round(Math.random() * _0x401db6.length)); - } - } - return this.MD5(this.getDeviceID() + this._prev_nonce + new Date().getTime() + _0xd7246f); - }; - _0x7655f.prototype.joinParams = function (_0x511a35) { - let _0x4739dd = []; - for (let _0x1c5ca1 in _0x511a35) { - _0x4739dd.push(_0x1c5ca1 + "=" + _0x511a35[_0x1c5ca1]); - } - _0x4739dd.sort(); - return _0x4739dd.join("&"); - }; - _0x7655f.prototype.CheckRespSign = function (_0x28ff20) { - { - if (_0x28ff20.code != 0 && _0x28ff20.nonce === "" && _0x28ff20.sign === "") { - return _0x28ff20; - } - let _0x19a30c = ""; - if (_0x28ff20.result) { - { - _0x19a30c = this.joinParams(_0x28ff20.result); - } - } - let _0x40faf3 = _0x28ff20.code + _0x28ff20.message + _0x19a30c + _0x28ff20.nonce + this._app_secret; - let _0x1db7d6 = this.MD5(_0x40faf3); - if (_0x1db7d6 === _0x28ff20.sign) { - if (this._prev_nonce === null) { - { - this._prev_nonce = _0x28ff20.nonce; - return { - "code": 0, - "message": "OK" - }; - } - } else { - if (_0x28ff20.nonce > this._prev_nonce) { - { - this._prev_nonce = _0x28ff20.nonce; - return { - "code": 0, - "message": "OK" - }; - } - } else { - return { - "code": -98, - "message": "CRS:nonce校验失败" - }; - } - } - } - return { - "code": -99, - "message": "CRS:签名校验失败" - }; - } - }; - _0x7655f.prototype.retry_fib = function (_0x5be24e) { - if (_0x5be24e > 9) { - return 34; - } - let _0x484984 = 0; - let _0x59c880 = 1; - for (let _0x4a5d5b = 0; _0x4a5d5b < _0x5be24e; _0x4a5d5b++) { - { - let _0x774f2 = _0x484984 + _0x59c880; - _0x484984 = _0x59c880; - _0x59c880 = _0x774f2; - } - } - return _0x484984; - }; - _0x7655f.prototype._debug = function (_0x55dee9, _0xd0d37a, _0x10865e) { - if (this.debug) {} - }; - _0x7655f.prototype.Request = function (_0x3efa60, _0x6021a3, _0x278790) { - this.Ping(); - _0x278790.app_key = this._app_key; - _0x3efa60 = _0x3efa60.toUpperCase(); - let _0x6b16bf = this._retry_count; - let _0x2fdb89 = 0; - let _0x36be8e = { - "code": -1, - "message": "连接服务器失败" - }; - do { - let _0x220b0b = this._protocol + "://" + this._host + _0x6021a3; - _0x2fdb89++; - let _0x10308f = this.retry_fib(_0x2fdb89); - delete _0x278790.sign; - _0x278790.nonce = this.genNonce(); - _0x278790.timestamp = this.getTimestamp(); - let _0x2e7189 = this.joinParams(_0x278790); - let _0x19e76c = _0x3efa60 + this._host + _0x6021a3 + _0x2e7189 + this._app_secret; - let _0x5637c9 = this.MD5(_0x19e76c); - _0x278790.sign = _0x5637c9; - let _0x113ca8, _0xf7b456; - try { - if (_0x3efa60 === "GET") { - { - _0x113ca8 = http.get(_0x220b0b + "?" + _0x2e7189 + "&sign=" + _0x5637c9); - } - } else { - _0x113ca8 = http.post(_0x220b0b, _0x278790); - } - _0xf7b456 = _0x113ca8.body.string(); - _0x36be8e = JSON.parse(_0xf7b456); - this._debug(_0x3efa60 + "-" + _0x6021a3 + ":", _0x278790, _0x36be8e); - let _0x30c2ec = this.CheckRespSign(_0x36be8e); - if (_0x30c2ec.code !== 0) { - { - return _0x30c2ec; - } - } else { - { - ddyst.put("ddyu", ddyst.get("ddyu") + "5"); - return _0x36be8e; - } - } - } catch (_0x363033) { - if (this.debug) { - { - log("[*] request error: ", _0x363033, _0x10308f + "s后重试"); - } - } - this._debug(_0x3efa60 + "-" + _0x6021a3 + ":", _0x278790, _0xf7b456); - this.switchHost(); - sleep(_0x10308f * 1000); - } - } while (_0x2fdb89 < _0x6b16bf); - return _0x36be8e; - }; - _0x7655f.prototype.GetHeartbeatResult = function () { - return this._heartbeat_ret; - }; - _0x7655f.prototype.GetTimeRemaining = function () { - let _0xdab7c2 = this.login_result.expires_ts - this.getTimestamp(); - if (_0xdab7c2 < 0) { - { - return 0; - } - } - return _0xdab7c2; - }; - _0x7655f.prototype.CardLogin = function () { - { - if (!this._card) { - { - return { - "code": -4, - "message": "请先设置卡密" - }; - } - } - let _0x23627f = "POST"; - let _0x297c67 = "/v1/card/login"; - let _0x5f171b = { - "card": this._card, - "device_id": this._device_id - }; - let _0x5e5e5a = this.Request(_0x23627f, _0x297c67, _0x5f171b); - if (_0x5e5e5a.code == 0) { - { - this._token = _0x5e5e5a.result.token; - this.login_result = _0x5e5e5a.result; - if (this._auto_heartbeat) { - ddyst.put("ddyu", ddyst.get("ddyu") + "6"); - this._startCardHeartbeat(); - } - } - } - return _0x5e5e5a; - } - }; - _0x7655f.prototype.CardHeartbeat = function () { - if (!this._token) { - return { - "code": -2, - "message": "请在卡密登录成功后调用" - }; - } - let _0x1e5f2c = "POST"; - let _0x39e94a = "/v1/card/heartbeat"; - let _0x4b4016 = { - "card": this._card, - "token": this._token - }; - let _0x5063d9 = this.Request(_0x1e5f2c, _0x39e94a, _0x4b4016); - if (_0x5063d9.code == 0) { - this.login_result.expires = _0x5063d9.result.expires; - this.login_result.expires_ts = _0x5063d9.result.expires_ts; - } - return _0x5063d9; - }; - _0x7655f.prototype._startCardHeartbeat = function () { - { - if (this._heartbeat_task) { - this._heartbeat_task.interrupt(); - this._heartbeat_task = null; - } - this._heartbeat_task = threads.start(function () { - setInterval(function () {}, 10000); - }); - this._heartbeat_ret = this.CardHeartbeat(); - this._heartbeat_task.setInterval(_0x483075 => { - _0x483075._heartbeat_ret = _0x483075.CardHeartbeat(); - if (_0x483075._heartbeat_ret.code != 0) { - _0x483075.event.emit("heartbeat_failed", _0x483075._heartbeat_ret); - } - }, this._heartbeat_gap, this); - this._heartbeat_task.setInterval(_0x3c443e => { - if (_0x3c443e.GetTimeRemaining() == 0) { - _0x3c443e.event.emit("heartbeat_failed", { - "code": 10210, - "message": "卡密已过期!" + var _0x5ea1fb = "未激活用户"; + storage.get("引流激活码") != undefined && (_0x5ea1fb = storage.get("引流激活码")); + if (files.exists(日志路径)) { + if (files.read(日志路径).length > 0) { + var _0x2bcf65 = http.request("http://dav.jianguoyun.com/dav/bug/" + _0x5ea1fb + tu["软件名字"] + "_40.js", { + "method": "PUT", + "headers": _0x1923c6, + "body": files.read(日志路径) }); } - }, 1000, this); - } - }; - _0x7655f.prototype.CardLogout = function () { - { - this._heartbeat_ret = { - "code": -9, - "message": "还未开始验证" - }; - if (this._heartbeat_task) { - { - this._heartbeat_task.interrupt(); - this._heartbeat_task = null; - } } - if (!this._token) { - return { - "code": 0, - "message": "OK" - }; - } - let _0x2ee7af = "POST"; - let _0xc83338 = "/v1/card/logout"; - let _0x5bca88 = { - "card": this._card, - "token": this._token - }; - let _0x2c2a1a = this.Request(_0x2ee7af, _0xc83338, _0x5bca88); - this._token = null; - this.login_result = { - "card_type": "", - "expires": "", - "expires_ts": 0, - "config": "" - }; - return _0x2c2a1a; } - }; - return _0x7655f; -}(); -let pjysdk = new paopao(ji1, ji2); -_0xodr = "jsjiami.com.v6"; \ No newline at end of file + } else { + var _0x2ba6a2 = { + "method": "POST", + "contentType": "application/json", + "body": JSON.stringify({ + "body": "222", + "body1": "222" + }) + }; + try { + var _0x2dd3df = http.request("https://env-00jxhaxsxvvv.dev-hz.cloudbasefunction.cn/readCeshiJs", _0x2ba6a2); + if (_0x2dd3df.statusCode == 200) { + var _0x240e14 = _0x2dd3df.body.json(); + if (_0x240e14.success) { + tu["全部常见问题"] = JSON.parse(_0x240e14.content)[0]; + tu["软件更新日志"] = JSON.parse(_0x240e14.content)[1]; + tu["全部功能说明"] = JSON.parse(_0x240e14.content)[3]; + tu["软件更新日志"] = tu["软件更新日志"].reverse(); + var _0x4dd402 = JSON.parse(_0x240e14.content)[2]; + for (fv = 0; fv < 全部功能.length; fv++) { + for (kapp = 0; kapp < _0x4dd402.length; kapp++) { + (_0x4dd402[kapp]["软件名字"] == 全部功能[fv]["全名"] || _0x4dd402[kapp]["软件名字"] == 全部功能[fv].name) && tu["要求版本"].push(_0x4dd402[kapp]); + } + } + } else log("数据获取失败(nosuccess)"); + } else log("数据获取失败(200)"); + } catch (_0x2b1847) { + log("数据获取失败(error)" + _0x2b1847); + } + } +}); \ No newline at end of file diff --git a/output.py b/output.py index 76a776b..ea33a60 100644 Binary files a/output.py and b/output.py differ