-1

我正在尝试使用 jint 来解码 jsfuck,并以这个项目为基础:https://github.com/enkhee-Osiris/Decoder-JSFuck(这是我发现的唯一一个可以正确解码 jsfuck 的) . 以下 c# 无法正常工作:

Jint.Engine engine = new Jint.Engine();
engine.SetValue("code", jsfuck_string);
string result = engine.Execute(@"function decode() {
return (/\n(.+)/.exec(eval(code.value.replace(/\s+/, "").slice(0, -2)))[1]);
}").GetValue("decode").ToString();

我收到以下异常:Line 2: Unexpected token ILLEGAL

4

1 回答 1

0

看起来您想在 Jint 中运行以下 JavaScript 代码:

function decode() {
    return (/\n(.+)/.exec(eval(code.value.replace(/\s+/, "").slice(0, -2)))[1]);
}

但是,""在 C# 中逐字字符串(即@"...")仅表示单个"字符。您实际上是在尝试运行此 JS 代码,该代码无效,因为存在不匹配的"字符:

function decode() {
    return (/\n(.+)/.exec(eval(code.value.replace(/\s+/, ").slice(0, -2)))[1]);
}

尝试将C# 逐字字符串中的 in""替换为, 或.replace(/\s+/, "")""""''

于 2017-04-02T12:03:43.777 回答