我试图使用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
答案 0 :(得分: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]);
}
尝试使用""
或replace(/\s+/, "")
替换C#逐字字符串""""
中的''
。