delphixe jsfuck解密代码
时间: 2023-10-17 09:05:20 浏览: 48
JSFuck 是一种将 JavaScript 代码转换为只使用六个字符([], (), !, +, -和{})的编码方式。为了解密 JSFuck,你需要编写一个解码器来还原原始的 JavaScript 代码。
以下是一个 Delphi XE 的 JSFuck 解码器示例:
```delphi
function DecodeJSFuck(const Code: string): string;
var
i: Integer;
CodeLength: Integer;
DecodedCode: string;
begin
CodeLength := Length(Code);
DecodedCode := '';
for i := 1 to CodeLength do
begin
case Code[i] of
'+', '-':
begin
DecodedCode := DecodedCode + Code[i];
end;
'!', '[':
begin
DecodedCode := DecodedCode + Code[i] + Code[i + 1] + Code[i + 2];
Inc(i, 2);
end;
']':
begin
// do nothing
end;
'(': // convert to String.fromCharCode()
begin
DecodedCode := DecodedCode + 'String.fromCharCode(';
Inc(i);
while Code[i] <> ')' do
begin
DecodedCode := DecodedCode + Code[i];
Inc(i);
end;
DecodedCode := DecodedCode + ')';
end;
'{':
begin
DecodedCode := DecodedCode + Code[i] + Code[i + 1] + Code[i + 2] + Code[i + 3];
Inc(i, 3);
end;
'}':
begin
// do nothing
end;
end;
end;
Result := DecodedCode;
end;
```
这个解码器的原理是遍历 JSFuck 代码字符串,根据字符类型进行解码操作,还原出原始的 JavaScript 代码。该解码器可以解码大多数 JSFuck 代码,但并不是所有的 JSFuck 代码都可以被解码。