fix: readme and console

This commit is contained in:
rnet 2024-01-04 13:27:22 +08:00
parent fe2577e51f
commit cb08efe0f1
5 changed files with 18 additions and 12 deletions

View File

@ -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`,后生成三个文件:

View File

@ -1,6 +1,6 @@
{
"name": "rs-reverse",
"version": "1.1.0",
"version": "1.1.2",
"description": "瑞数算法逆向,website reverse engineering",
"main": "main.js",
"directories": {

View File

@ -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];

View File

@ -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, {

View File

@ -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);