diff --git a/README.md b/README.md index fbfa8e3..275cbf0 100644 --- a/README.md +++ b/README.md @@ -24,11 +24,16 @@ **`npx rs-reverse *`与在当前目录下运行`node main.js *`相对应** +如npx运行的包不是最新的,可以加上-p参数后执行如:`npx -p rs-reverse@latest rs-reverse makecookie`,非官方源可能存在版本不同步问题。 + +npm包不能保证最新代码,最新代码以仓库代码为准! + ### 2.1. makecode子命令 -> 体验命令:`npx rs-reverse makecode` +执行子命令`makecode`生成动态代码, 可以传入包含`$_ts.nsd`和`$_ts.cd`的文本文件或者直接给url让程序自己去拿,命令示例: -执行子命令`makecode`生成动态代码, 可以传入包含`$_ts.nsd`和`$_ts.cd`的文本文件或者直接给url让程序自己去拿。 +1. npx方式:`npx rs-reverse makecode` +2. 文件方式:`node main.js makecode` 如运行:`npx rs-reverse makecode -u http://wcjs.sbj.cnipa.gov.cn/sgtmi`,后生成三个文件: diff --git a/package.json b/package.json index e2905e1..64641ad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rs-reverse", - "version": "1.1.0", + "version": "1.1.2", "description": "瑞数算法逆向,website reverse engineering", "main": "main.js", "directories": { diff --git a/src/handler/parser/common/dynamicExec.js b/src/handler/parser/common/dynamicExec.js index 7c1420d..5cd86f0 100644 --- a/src/handler/parser/common/dynamicExec.js +++ b/src/handler/parser/common/dynamicExec.js @@ -3,14 +3,14 @@ const monitor = require('@utils/monitor'); const logger = require('@utils/logger'); module.exports = function(...params) { - logger.info('执行开始!'); + logger.trace('执行开始!'); try { return dynamicExec(...params); } catch (err) { logger.error(String(err)); process.exit(); } finally { - logger.info('执行结束!'); + logger.trace('执行结束!'); } } @@ -19,7 +19,7 @@ function dynamicExec(task, start = 0, args = [], loop_res = [], global_res = []) loop_res = monitor(loop_res, 'loop_res', { getLog: true, setLog: true, getCb: (key) => {if(['81', '83'].includes(key))debugger}}); global_res = monitor(global_res, 'global_res', { getLog: true, setLog: true }); if (typeof task === 'string') task = gv.r2mka(task).taskarr; - console.log(`动态代码运行,任务列表:${task}, 起点:${start},长度:${task.length}`); + logger.trace(`动态代码运行,任务列表:${task}, 起点:${start},长度:${task.length}`); const data = []; const ret = []; ret[0] = args; @@ -97,7 +97,6 @@ function dynamicExec(task, start = 0, args = [], loop_res = [], global_res = []) d_cursor -= 3; temp1 = d_cursor; setTarget(); - console.log(target); target = target[tarkey]; temp1 = target(data[temp1], data[temp1 + 1], data[temp1 + 2]); break; @@ -593,7 +592,7 @@ function dynamicExec(task, start = 0, args = [], loop_res = [], global_res = []) tarkey = data[--d_cursor]; target = data[--d_cursor]; } else if (next > 24 && next <= 27) { - console.log(`[no] 设置关键对象与下标:${next}`) + logger.trace(`[no] 设置关键对象与下标:${next}`) // temp3 = task[++t_cursor]; // tarkey = task[++t_cursor]; // target = ret[3][temp3]; @@ -624,7 +623,7 @@ function dynamicExec(task, start = 0, args = [], loop_res = [], global_res = []) task[t_cursor] = tarkey; target = data[--d_cursor]; } else if (next > 99 && next <= 104) { - console.log(`[no] 设置关键对象与下标:${next}`) + logger.trace(`[no] 设置关键对象与下标:${next}`) // temp3 = task[++t_cursor]; // tarkey = task[++t_cursor]; // target = ret[1][temp3]; diff --git a/src/handler/parser/tscd.js b/src/handler/parser/tscd.js index 7689111..52f6d9d 100644 --- a/src/handler/parser/tscd.js +++ b/src/handler/parser/tscd.js @@ -41,7 +41,7 @@ function getTaskarr(arr, idx, ans = []) { function getOffset(arr) { const [task0, task1, task2, task3] = getTaskarr(arr, arr[3]); - console.log([task0, task1, task3]); + logger.trace([task0, task1, task3]); const l81 = gv.r2mka("0-0").taskarr[42] + gv.cp2[56]; const l83 = (gv.cp0_96(1, gv.r2mka("0-0").taskarr[57]).charCodeAt() + l81) * l81; const offset = dynamicExec('0>one>22-24', 0, undefined, { diff --git a/utils/monitor.js b/utils/monitor.js index bdc74a1..b9e0ca7 100644 --- a/utils/monitor.js +++ b/utils/monitor.js @@ -1,3 +1,5 @@ +const logger = require('./logger'); + module.exports = function monitor(tar, name, config = {}) { const { getLog, // 开启get日志 @@ -12,13 +14,13 @@ module.exports = function monitor(tar, name, config = {}) { } = config; return new Proxy(tar, { get: function(target, property, receiver) { - getLog && console.log(`${name} Getting ${property}`); + getLog && logger.trace(`${name} Getting ${property}`); if (getKeys.includes(property) || keys.includes(property)) debugger; (getCb || cb)?.(property); return Reflect.get(target, property, receiver); }, set: function(target, property, value, receiver) { - setLog && console.log(`${name} Setting ${property} to ${value}`); + setLog && logger.trace(`${name} Setting ${property} to ${value}`); if (getKeys.includes(property) || keys.includes(property)) debugger; (setCb || cb)?.(property, value); return Reflect.set(target, property, parse(property, value), receiver);