跳到主要内容

📎 介绍

Serein JS插件的详细文档

🚧警告

由于一些原因,本文档和JS插件开发助手可能更新不及时,一切内容以GitHub的源码为准

JS标准

ECMAScript 2022(具体特性支持列表详见sebastienros/jint

危险

以下情况将导致Serein无响应或崩溃

  • 以极快的速度重复执行语句
  • 无限递归导致堆栈溢出

特色

插件特色

由于JS引擎的特性,你可以导入NET几乎所有的命名空间以及其对象、类、方法和属性

importNamespace(name:string) 导入命名空间

或直接使用命名空间(如System.IO.File

提示

配合一定C#基础食用更佳
C#语法详见 .NET API 浏览器

// https://learn.microsoft.com/zh-cn/dotnet/api/system.io.file
const File = System.IO.File;
File.WriteAllText(
"1.txt", // 路径
"一些文本"// 文本
);
// 输出到文件
// https://learn.microsoft.com/zh-cn/dotnet/api/system.diagnostics.process
const Process = System.Diagnostics.Process;
Process.Start("cmd.exe");
// 启动cmd.exe
提示
备注

找不到想要的方法?有更好的建议?速速联系作者

信息

已知缺点如下

  • 对于加密混淆后的代码,运行效率极其低下
    • 运行时间可能长达原来的数十倍以上
  • 初始化类时貌似未阻塞线程,导致未初始化完毕就执行剩下的语句
    • 包括但不限于和反射程序集得到的类
    • 临时解决方案:使用setTimeout异步处理

JS插件开发助手

示例

详见SereinJSPluginHelper