Compare commits

..

2 Commits

Author SHA1 Message Date
liudongqi 6b0155cdea 整理 7 months ago
liudongqi a24a20fcae 整理 7 months ago
  1. 0
      .gitignore
  2. 0
      .idea/.gitignore
  3. 0
      .idea/jsLibraryMappings.xml
  4. 0
      .idea/modules.xml
  5. 0
      .idea/qry-python-js.iml
  6. 0
      .idea/vcs.xml
  7. 4
      app.js
  8. 0
      docs/shell/deploy.sh
  9. 0
      docs/shell/package.sh
  10. 0
      ecosystem.config.js
  11. 0
      enums/AreaNameEnum.js
  12. 6
      package-lock.json
  13. 2
      package.json
  14. 0
      public/hubei/5PXGXoOF7eGJ.ed63b8f.js
  15. 0
      public/hubei/index.html
  16. 0
      public/hubei/ts.json
  17. 0
      public/shangbiao/static/makecode_input_html.html
  18. 0
      public/shangbiao/static/makecode_input_js.js
  19. 0
      public/shangbiao/static/makecode_input_ts.json
  20. 0
      public/yunnan/MO5zzCMcub4d.b4c45da.js
  21. 0
      routes/CookieHandler.js
  22. 0
      routes/Fp.js
  23. 27
      routes/Hunan.js
  24. 0
      routes/Rs6.js
  25. 0
      routes/Sm4.js
  26. 0
      routes/service/FpService.js
  27. 15
      routes/service/HunanService.js
  28. 0
      routes/service/Rs6Service.js
  29. 0
      routes/service/Sm4Service.js
  30. 5654
      routes/service/static/fp/chunk-npjg4qgmmrfrjl3r.back.js
  31. 56
      routes/service/static/fp/chunk-npjg4qgmmrfrjl3r.js
  32. 0
      routes/service/static/fp/fp-crypt.js
  33. 34
      routes/service/static/hunan_MM_mq4qQammP3BAe_cookie.js
  34. 0
      routes/service/static/sm4.js
  35. 0
      start.sh
  36. 0
      test/downloadFileTest.js
  37. 1486
      test/fp/chunk-npjg4qgmmrfrjl3r.js
  38. 0
      test/fp/chunk-vendors.5dea4a66.js
  39. 0
      test/fp/index.03e16cb9.js
  40. 46
      test/fp/invoice-business.html
  41. 0
      test/fp/invoice-query-invoice-query-index.c4cef549.js
  42. 0
      test/fp/test_fp_getpublickey.js
  43. 0
      test/fp/test_ueryFpgetNsrjbxx.js
  44. 7
      test/fp/test_ueryFpjcxx.js
  45. 0
      test/fp/test_ueryFpjcxxDC.js
  46. 0
      test/fp/test_ueryFpjcxxid.js
  47. 0
      test/lasd.js
  48. 0
      test/rs6/index.js
  49. 0
      utils/IpUtil.js
  50. 0
      utils/JsUtil.js
  51. 0
      utils/LoggerUtil.js
  52. 0
      utils/Store.js
  53. 0
      utils/TimeUtil.js
  54. 0
      utils/UUIDUtil.js

@ -4,8 +4,6 @@ const IpUtil = require('./utils/IpUtil');
const rs6 = require("./routes/Rs6"); const rs6 = require("./routes/Rs6");
const sm4 = require("./routes/Sm4"); const sm4 = require("./routes/Sm4");
const fp = require("./routes/Fp"); const fp = require("./routes/Fp");
const hunan = require("./routes/Hunan");
// 读取环境变量 // 读取环境变量
const port = process.env.PORT || 9081; const port = process.env.PORT || 9081;
const nodeEnv = process.env.NODE_ENV || 'dev'; const nodeEnv = process.env.NODE_ENV || 'dev';
@ -29,8 +27,6 @@ app.use(express.urlencoded({limit: '10mb', extended: true}));
app.use("/rs", rs6); app.use("/rs", rs6);
app.use("/sm", sm4); app.use("/sm", sm4);
app.use("/fp", fp); app.use("/fp", fp);
app.use("/hunan", hunan);
app.listen(port, "0.0.0.0", () => { app.listen(port, "0.0.0.0", () => {
const ips = IpUtil.getLocalIPs(); const ips = IpUtil.getLocalIPs();
for (let ip of ips) { for (let ip of ips) {

6
package-lock.json generated

@ -9,7 +9,6 @@
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"aes-js": "^3.1.2",
"body-parser": "^1.20.2", "body-parser": "^1.20.2",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"express": "^4.19.2", "express": "^4.19.2",
@ -1101,11 +1100,6 @@
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"node_modules/aes-js": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz",
"integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ=="
},
"node_modules/agent-base": { "node_modules/agent-base": {
"version": "6.0.2", "version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",

@ -10,7 +10,6 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"aes-js": "^3.1.2",
"body-parser": "^1.20.2", "body-parser": "^1.20.2",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"express": "^4.19.2", "express": "^4.19.2",
@ -18,7 +17,6 @@
"sdenv": "^0.2.2", "sdenv": "^0.2.2",
"sdenv-extend": "^1.3.1", "sdenv-extend": "^1.3.1",
"sdenv-jsdom": "^1.1.0", "sdenv-jsdom": "^1.1.0",
"sm-crypto": "^0.3.13",
"winston": "^3.14.2" "winston": "^3.14.2"
} }
} }

@ -1,27 +0,0 @@
const express = require("express");
const router = express.Router();
let UUIDUtil = require("../utils/UUIDUtil");
const HunanService = require("./service/HunanService");
hunanService = new HunanService()
router.post('/getMMCookie', (req, res) => {
let uuid = UUIDUtil.uuid;
let key = req.body.key
let str = req.body.str
let start = new Date();
try {
// 执行
let response = hunanService.aes_MM_cookie(key, str);
return res.status(200).send(response);
} catch (e) {
console.error(e.stack)
return res.status(500).send(e.message)
} finally {
console.log(`${uuid};getMMCookie ${new Date() - start} ms`)
}
})
module.exports = router

@ -1,15 +0,0 @@
const CryptoJS = require('crypto-js');
const {jsdomFromText, browser} = require("sdenv");
const {Script} = require("node:vm");
const fs = require("node:fs");
const path = require("node:path");
const {aes_encrypt} = require("./static/hunan_MM_mq4qQammP3BAe_cookie");
class HunanService {
aes_MM_cookie(key, str) {
return aes_encrypt(key, str)
}
}
module.exports = HunanService

File diff suppressed because one or more lines are too long

@ -4013,7 +4013,7 @@ logger = console.info;
constructor(_0x14a476, _0x518555, _0x19ae6a, _0x5d8817, _0x254dc2, _0x8ab369) { constructor(_0x14a476, _0x518555, _0x19ae6a, _0x5d8817, _0x254dc2, _0x8ab369) {
this["codes"] = _0x14a476; this["codes"] = _0x14a476;
this["functionsTable"] = _0x518555; this["functionsTable"] = _0x518555;
this["entryIndx"] = _0x19ae6a; this.entryIndx = _0x19ae6a;
this["stringsTable"] = _0x5d8817; this["stringsTable"] = _0x5d8817;
this["globalSize"] = _0x254dc2; this["globalSize"] = _0x254dc2;
this["ctx"] = _0x8ab369; this["ctx"] = _0x8ab369;
@ -4029,7 +4029,7 @@ logger = console.info;
this["isRunning"] = false; this["isRunning"] = false;
const _0x6edc66 = new _0x52099c(); const _0x6edc66 = new _0x52099c();
_0x6edc66["isRestoreWhenChange"] = false; _0x6edc66["isRestoreWhenChange"] = false;
this["mainFunction"] = this["parseToJsFunc"](_0x518555[this["entryIndx"]], _0x6edc66); this.mainFunction = this.parseToJsFunc(_0x518555[this.entryIndx], _0x6edc66);
this["init"](); this["init"]();
logger('初始化class类 _0x3abb02 完毕') logger('初始化class类 _0x3abb02 完毕')
} }
@ -4049,7 +4049,7 @@ logger = console.info;
} }
["run"]() { ["run"]() {
this["callFunction"](this["mainFunction"], void (0), '', 0, false); this.callFunction(this.mainFunction, void (0), '', 0, false);
this["isRunning"] = true; this["isRunning"] = true;
while (this["isRunning"]) { while (this["isRunning"]) {
this["fetchAndExecute"](); this["fetchAndExecute"]();
@ -4686,7 +4686,9 @@ logger = console.info;
_0x3e2617 = _0x510810["decrypt"](_0x3e2617, _0x267e74, { _0x3e2617 = _0x510810["decrypt"](_0x3e2617, _0x267e74, {
"inputEncoding": "hex", "outputEncoding": "utf8", "mode": 1 "inputEncoding": "hex", "outputEncoding": "utf8", "mode": 1
}); });
if (_0x3e2617 === '') return null; if (_0x3e2617 === ''){
return null;
}
if (typeof process !== "undefined" && process["release"]["name"] === "node") return null; if (typeof process !== "undefined" && process["release"]["name"] === "node") return null;
if (typeof window["CefSharp"] !== "undefined") return null; if (typeof window["CefSharp"] !== "undefined") return null;
if (typeof window["CefSharp"] !== "undefined") return null; if (typeof window["CefSharp"] !== "undefined") return null;
@ -4696,6 +4698,7 @@ logger = console.info;
_0x272501 = _0x3f1d0f(_0x31be44, 12, 16), _0xf5eb53 = _0x3bb6e2(_0x31be44["slice"](_0x456ac)), _0x272501 = _0x3f1d0f(_0x31be44, 12, 16), _0xf5eb53 = _0x3bb6e2(_0x31be44["slice"](_0x456ac)),
_0x4a7c86 = new Uint8Array(_0x31be44["slice"](16, _0x144c7c)), _0x4a7c86 = new Uint8Array(_0x31be44["slice"](16, _0x144c7c)),
_0x30a23f = _0x31be44["slice"](_0x144c7c, _0x456ac), _0x40d555 = _0x4151ca(_0x30a23f); _0x30a23f = _0x31be44["slice"](_0x144c7c, _0x456ac), _0x40d555 = _0x4151ca(_0x30a23f);
debugger
return new _0x3abb02(_0x4a7c86, _0x40d555, _0x1dd6f9, _0xf5eb53, _0x272501, _0x5c6f85); return new _0x3abb02(_0x4a7c86, _0x40d555, _0x1dd6f9, _0xf5eb53, _0x272501, _0x5c6f85);
}, _0x2f7f88 = _0x327232 => { }, _0x2f7f88 = _0x327232 => {
var _0x60311d = _0x15817b["toUint8Array"](_0x327232); var _0x60311d = _0x15817b["toUint8Array"](_0x327232);
@ -5166,8 +5169,9 @@ logger = console.info;
var _0x13f88b = _0x475ce7["content"]; var _0x13f88b = _0x475ce7["content"];
logger('1.获取meta标签 _y_ds', _0x13f88b) logger('1.获取meta标签 _y_ds', _0x13f88b)
var _0x4a87cf = _0x2c29b1(_0x13f88b, window); var _0x4a87cf = _0x2c29b1(_0x13f88b, window);
logger('2.获取密钥', _0x4a87cf,123) logger('2.获取密钥', _0x4a87cf, 123)
if (_0x4a87cf == null) { if (_0x4a87cf == null) {
console.error('初始化失败! ')
return; return;
} }
_0x4a87cf["run"](); _0x4a87cf["run"]();
@ -5258,8 +5262,9 @@ logger = console.info;
}, _0x262e9d = () => { }, _0x262e9d = () => {
let {originXhr: _0x498b84, unProxy: _0x27f044} = _0x3d89cd({ let {originXhr: _0x498b84, unProxy: _0x27f044} = _0x3d89cd({
"onRequest": (_0x3a8c8e, _0x46b8f9) => { "onRequest": (_0x3a8c8e, _0x46b8f9) => {
if (_0x3a8c8e["url"] == '') return; if (_0x3a8c8e.url === '') return;
_0x3a8c8e = _0x2611b6(_0x3a8c8e), _0x46b8f9["next"](_0x3a8c8e); _0x3a8c8e = _0x2611b6(_0x3a8c8e);
_0x46b8f9.next(_0x3a8c8e);
}, "onError": (_0x215ddd, _0x909d5) => { }, "onError": (_0x215ddd, _0x909d5) => {
_0x301e1d = 0; _0x301e1d = 0;
_0x909d5["next"](_0x215ddd); _0x909d5["next"](_0x215ddd);
@ -5270,14 +5275,14 @@ logger = console.info;
_0x301e1d += 1; _0x301e1d += 1;
if (_0x301e1d < _0x58a6ec) { if (_0x301e1d < _0x58a6ec) {
var _0x37ef08 = _0x419cba['response']; var _0x37ef08 = _0x419cba['response'];
debugger debugger
_0x419cba["config"]['xhr']['responseType'] == 'blob' && (_0x37ef08 = yield _0x15b842(_0x37ef08)); _0x419cba["config"]['xhr']['responseType'] == 'blob' && (_0x37ef08 = yield _0x15b842(_0x37ef08));
var _0x38cce1 = JSON["parse"](_0x37ef08)['data']; var _0x38cce1 = JSON["parse"](_0x37ef08)['data'];
window['enc_flag'] = JSON["parse"](_0x37ef08)["e"], window['ycbz'] = JSON["parse"](_0x37ef08)["y"], window['gTcARqnea5KV'] = parseInt(JSON['parse'](_0x37ef08)["t"]); window['enc_flag'] = JSON["parse"](_0x37ef08)["e"], window['ycbz'] = JSON["parse"](_0x37ef08)["y"], window.gTcARqnea5KV = parseInt(JSON['parse'](_0x37ef08)["t"]);
if (_0x38cce1 != undefined) { if (_0x38cce1 != undefined) {
const _0x5db747 = _0x2c29b1(_0x38cce1, window); const _0x5db747 = _0x2c29b1(_0x38cce1, window);
_0x5db747 != null && _0x5db747['run'](), _0x20a97d(_0x419cba, 0); _0x5db747 != null && _0x5db747.run(), _0x20a97d(_0x419cba, 0);
} }
} else _0x301e1d = 0, _0x134927['next'](_0x419cba); } else _0x301e1d = 0, _0x134927['next'](_0x419cba);
} else { } else {
if (_0x47b2e5 == '418') { if (_0x47b2e5 == '418') {
@ -5488,11 +5493,26 @@ logger = console.info;
return _0x196245["call"](window, _0x5daa34, _0x59ef48, _0x3be0c4); return _0x196245["call"](window, _0x5daa34, _0x59ef48, _0x3be0c4);
}; };
}; };
typeof window !== "undefined" && (window["$dunm"] = new _0x49feb2(), window["gTcARqnea5KV"] === undefined && (window["gTcARqnea5KV"] = Date["now"]()), (window["$dunm"]["getCookie"]("DTSwUOYx7MiWN") === undefined || window["$dunm"]["getCookie"]("DTSwUOYx7MiWN") === '') && window["$dunm"]["setCookie"]("DTSwUOYx7MiWN", "e442c178db6c94465ed6ae1f72897b653f49fae9e38c452f8cb27e7d43b5650c"), window["_d_ts"] = "_d_sp", window[window["_d_ts"]] = function (_0x34dd7e, _0x411a5a) { if (typeof window !== "undefined") {
return {"hd": '', "hurl": _0x34dd7e, "bd": _0x411a5a, "h1": ''}; window.$dunm = new _0x49feb2()
}, window["$iev"] = _0x1ae294(), window["_0x1aba781d"] = window["$dunm"]["dunm_ts"](), _0x5ee5e2(), _0x4c82af(), window["onload"] = () => { if (window.gTcARqnea5KV === undefined) {
_0x26ac2a(); window.gTcARqnea5KV = Date["now"]()
}); }
if (window["$dunm"]["getCookie"]("DTSwUOYx7MiWN") === undefined || window["$dunm"]["getCookie"]("DTSwUOYx7MiWN") === '') {
window["$dunm"]["setCookie"]("DTSwUOYx7MiWN", "e442c178db6c94465ed6ae1f72897b653f49fae9e38c452f8cb27e7d43b5650c")
}
window._d_ts = "_d_sp";
window[window._d_ts] = function (_0x34dd7e, _0x411a5a) {
return {"hd": '', "hurl": _0x34dd7e, "bd": _0x411a5a, "h1": ''};
};
window.$iev = _0x1ae294();
window._0x1aba781d = window.$dunm.dunm_ts();
_0x5ee5e2();
_0x4c82af();
window.onload = () => {
_0x26ac2a();
}
}
}()); }());
}()) }())

@ -1,34 +0,0 @@
const aesJs = require('aes-js');
function _0x2925ac(x) {
var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var e = "";
for (var W = 0; W < x; W++) {
e += c.charAt(Math.random(0, 62));
}
return e
}
function _0x5178e5(x) {
let _ = "";
for (let d = 0; d < x.length; d++) {
_ += String["fromCharCode"](x[d]);
}
return _
}
function aes_encrypt(key, str) {
let a = aesJs["utils"]["utf8"]["toBytes"](key)
, f = _0x2925ac(16)
, n = aesJs["utils"]["utf8"]["toBytes"](f)
, t = aesJs["utils"]["utf8"]["toBytes"](str);
t = aesJs.padding.pkcs7.pad(t);
const r = new aesJs.ModeOfOperation.cbc(a, n).encrypt(t);
const b = new Uint8Array(n["length"] + t["length"]);
b["set"](n, 0);
b["set"](r, 16);
return btoa(_0x5178e5(b))
}
module.exports = {aes_encrypt}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -16,12 +16,7 @@ let fpService = new FpService();
ueryFpjcxx() ueryFpjcxx()
async function ueryFpjcxx() { async function ueryFpjcxx() {
let los = await fpService.get_los(url, let los = await fpService.get_los(url, param, html, loginCookieStr, publicKey)
param,
html,
loginCookieStr,
publicKey
)
console.log(JSON.stringify(los)) console.log(JSON.stringify(los))
let fetch_url = `${baseUrl}${los.hurl}`; let fetch_url = `${baseUrl}${los.hurl}`;

Loading…
Cancel
Save