Tool

REstringer

HUMAN Security's Node.js JavaScript deobfuscator. It identifies the obfuscation type, runs matching processors for obfuscator.io, Caesar Plus and array-based patterns, then iterates 40+ AST modules that rebuild strings, resolve expressions and calls and simplify control flow; unsafe modules evaluate code in a sandbox. It works as a CLI or library.

Requirements & limits

  • The reviewed HumanSecurity main commit (2025-12-07) is v2.1.0 plus one README edit removing the retired REstringer.tech web tool. The author now continues the project in his fork ctrl-escp/restringer, which the npm package lists as its repository: npm 2.2.0 (2026-05-09) and 2.3.0 (2026-08-30) come from it, and at 2.3.0 its README requires Node.js 22+, makes isolated-vm optional and adds Node, Deno and Bun subprocess sandboxes, so npm installs code newer than the reviewed source.
  • The reviewed source needs Node.js 20+ (22+ recommended) and installs as a global CLI or a module. It depends on flast, obfuscation-detector, commander and isolated-vm 5.0.4, a native module that CI builds with Python and g++. Output goes to stdout or <input>-deob.js; -m caps iterations, and -c removes dead nodes, which README marks unsafe.
  • Input is an obfuscated JavaScript file or string. Safe modules transform the AST without evaluating code; unsafe modules evaluate parts of the input with eval() inside an isolated-vm sandbox to resolve expressions and calls.
  • GitHub Actions runs npm test on Node.js 20 and 22. Besides module and processor unit tests, the full suite deobfuscates 11 bundled obfuscated samples, among them obfuscator.io, JSFuck and Caesar Plus scripts, and compares each result with a stored expected output.
  • MIT, copyright 2025 HUMAN Security; the fork adds a 2026 copyright line for Ben Baryo. The repository was formerly PerimeterX/restringer, which now redirects to HumanSecurity/restringer.

About this entry

Type
Tool
Category
Website analysis tools
Relationship
Foundation tool
Targets
Website

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · HumanSecurity/restringer · Revision d9eae69
  2. package.json GitHub · HumanSecurity/restringer · Revision d9eae69
  3. src/processors/README.md GitHub · HumanSecurity/restringer · Revision d9eae69
  4. .github/workflows/node.js.yml GitHub · HumanSecurity/restringer · Revision d9eae69
  5. tests/samples.test.js GitHub · HumanSecurity/restringer · Revision d9eae69
  6. tests/resources GitHub · HumanSecurity/restringer · Revision d9eae69
  7. LICENSE GitHub · HumanSecurity/restringer · Revision d9eae69
  8. https://github.com/HumanSecurity/restringer/releases/tag/v2.1.0
  9. README.md GitHub · ctrl-escp/restringer · Revision 5fe8ac8
  10. package.json GitHub · ctrl-escp/restringer · Revision 5fe8ac8
  11. https://registry.npmjs.org/restringer/2.2.0
  12. https://registry.npmjs.org/restringer/2.3.0

More in Websites

All 34 entries in Websites