SuperAPI AI 工具集

env-patch

编程与开发

查看项目

更新于 10-16 08:46

技能介绍

用途:在 Node.js 中运行浏览器加密 JS(补环境)。前置条件为已知加密入口(模块 ID、函数名、所在脚本),如未定位需先用 /find-crypto-entry。

主要能力与结构:env_core.js 是引擎,提供 setFuncNative / setObjNative / getNativeProto / wrapFunc / monitor / createProxy 等工具函数与诊断报告,复制后不再修改,不含环境存根。run.js 是策略层,所有环境存根、补丁、加载逻辑都写在其中,每轮诊断后只改 run.js。browser-stubs.md 是按 UNDEFINED/ERRORS 取用存根代码的参考目录。模板还提供 webpack_runtime.js。

使用方式:搭建 source/(原始 JS 只读)、env/(env_core.js、main.js 或 sdk.js+bytecode.js、run.js、sign.js)、python/、docs/progress.md 的项目结构。首次运行编写最小 run.js:第一行 const env = require('./env_core'),再构建 document/navigator/location 等存根,调用 env.init() 阻断 Node 泄露并挂载全局,补齐 performance、chrome 等,最后 require('./main.js') 并测试。运行 node env/run.js 后读诊断报告,按决策树处理 HANG(反调试)、ERRORS、UNDEFINED,直到 ERRORS = 0 且 UNDEFINED 全部确认,再校验签名格式,最后在 sign.js 中封装导出函数。

铁律与限制:禁止修改 source/ 下原始 JS;env/ 下 JS 副本生成即定稿,补丁只写在 run.js / sign.js;必须 require env_core.js,不得重写其工具;加载顺序至关重要,VMP 在 require() 瞬间初始化并读取环境,之后补环境无效;判断全局需用 Object.defineProperty(global, name, ...) 同步。验证时格式验证优先于请求验证,HTTP 200 也可能是假阳性。不要一次性补全部存根,应逐步按诊断补充。具体功能验证标准、各 reference 文件的使用场景以资料为准,其他细节暂未提供。