├── .github └── workflows │ └── tests.yml ├── .gitignore ├── examples ├── basic.js ├── expressAsync.js └── expressSync.js ├── package.json ├── readme.md ├── sample ├── branching.js ├── conditional.js ├── expressionhell.js ├── externalcalls.js ├── fakeasync.js ├── functhis.js ├── functionWithDefault.js ├── functionWithRest.js ├── literalhell.js ├── loops.js ├── memberexpression.js ├── newexpression.js ├── objectarrays.js ├── patterns.js ├── protos.js ├── sequences.js ├── spread.js ├── sum.js ├── switch.js ├── templateliterals.js ├── trycatch.js ├── unary.js ├── variabledecl.js └── variableexpressions.js ├── src ├── postTranspilation │ ├── obfuscateCode.js │ └── obfuscateOpcodes.js ├── templates │ ├── functionWrapper.template │ └── requireTemplate.template ├── transformations │ ├── ArrayExpression.js │ ├── AssignmentExpression.js │ ├── AssignmentPattern.js │ ├── AwaitExpression.js │ ├── BinaryExpression.js │ ├── CallExpression.js │ ├── ConditionalExpression.js │ ├── ForInStatement.js │ ├── ForOfStatement.js │ ├── ForStatement.js │ ├── FunctionDeclaration.js │ ├── IfStatement.js │ ├── LogicalExpression.js │ ├── MemberExpression.js │ ├── NewExpression.js │ ├── ObjectExpression.js │ ├── SequenceExpression.js │ ├── SpreadElement.js │ ├── SwitchStatement.js │ ├── TemplateLiteral.js │ ├── ThrowStatement.js │ ├── TryStatement.js │ ├── UnaryExpression.js │ ├── UpdateExpression.js │ ├── WhileStatement.js │ └── resolveToRegister.js ├── transpile.js ├── utils │ ├── BytecodeGenerator.js │ ├── assembler.js │ ├── constants.js │ ├── log.js │ ├── opcodes.js │ ├── random.js │ └── ref.js ├── vm_dev.js └── vm_dist.js └── tests ├── branching.test.js ├── loaders.test.js ├── math.test.js ├── transpiler.js ├── try_catch.test.js └── vfunc.test.js /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | output 4 | .DS_Store 5 | -------------------------------------------------------------------------------- /examples/basic.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/examples/basic.js -------------------------------------------------------------------------------- /examples/expressAsync.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/examples/expressAsync.js -------------------------------------------------------------------------------- /examples/expressSync.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/examples/expressSync.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/package.json -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/readme.md -------------------------------------------------------------------------------- /sample/branching.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/branching.js -------------------------------------------------------------------------------- /sample/conditional.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/conditional.js -------------------------------------------------------------------------------- /sample/expressionhell.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/expressionhell.js -------------------------------------------------------------------------------- /sample/externalcalls.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/externalcalls.js -------------------------------------------------------------------------------- /sample/fakeasync.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/fakeasync.js -------------------------------------------------------------------------------- /sample/functhis.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/functhis.js -------------------------------------------------------------------------------- /sample/functionWithDefault.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/functionWithDefault.js -------------------------------------------------------------------------------- /sample/functionWithRest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/functionWithRest.js -------------------------------------------------------------------------------- /sample/literalhell.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/literalhell.js -------------------------------------------------------------------------------- /sample/loops.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/loops.js -------------------------------------------------------------------------------- /sample/memberexpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/memberexpression.js -------------------------------------------------------------------------------- /sample/newexpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/newexpression.js -------------------------------------------------------------------------------- /sample/objectarrays.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/objectarrays.js -------------------------------------------------------------------------------- /sample/patterns.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/patterns.js -------------------------------------------------------------------------------- /sample/protos.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/protos.js -------------------------------------------------------------------------------- /sample/sequences.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/sequences.js -------------------------------------------------------------------------------- /sample/spread.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/spread.js -------------------------------------------------------------------------------- /sample/sum.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/sum.js -------------------------------------------------------------------------------- /sample/switch.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/switch.js -------------------------------------------------------------------------------- /sample/templateliterals.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/templateliterals.js -------------------------------------------------------------------------------- /sample/trycatch.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/trycatch.js -------------------------------------------------------------------------------- /sample/unary.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/unary.js -------------------------------------------------------------------------------- /sample/variabledecl.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/variabledecl.js -------------------------------------------------------------------------------- /sample/variableexpressions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/sample/variableexpressions.js -------------------------------------------------------------------------------- /src/postTranspilation/obfuscateCode.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/postTranspilation/obfuscateCode.js -------------------------------------------------------------------------------- /src/postTranspilation/obfuscateOpcodes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/postTranspilation/obfuscateOpcodes.js -------------------------------------------------------------------------------- /src/templates/functionWrapper.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/templates/functionWrapper.template -------------------------------------------------------------------------------- /src/templates/requireTemplate.template: -------------------------------------------------------------------------------- 1 | const JSVM = require("%VM_PATH%"); 2 | -------------------------------------------------------------------------------- /src/transformations/ArrayExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/ArrayExpression.js -------------------------------------------------------------------------------- /src/transformations/AssignmentExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/AssignmentExpression.js -------------------------------------------------------------------------------- /src/transformations/AssignmentPattern.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/AssignmentPattern.js -------------------------------------------------------------------------------- /src/transformations/AwaitExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/AwaitExpression.js -------------------------------------------------------------------------------- /src/transformations/BinaryExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/BinaryExpression.js -------------------------------------------------------------------------------- /src/transformations/CallExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/CallExpression.js -------------------------------------------------------------------------------- /src/transformations/ConditionalExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/ConditionalExpression.js -------------------------------------------------------------------------------- /src/transformations/ForInStatement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/ForInStatement.js -------------------------------------------------------------------------------- /src/transformations/ForOfStatement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/ForOfStatement.js -------------------------------------------------------------------------------- /src/transformations/ForStatement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/ForStatement.js -------------------------------------------------------------------------------- /src/transformations/FunctionDeclaration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/FunctionDeclaration.js -------------------------------------------------------------------------------- /src/transformations/IfStatement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/IfStatement.js -------------------------------------------------------------------------------- /src/transformations/LogicalExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/LogicalExpression.js -------------------------------------------------------------------------------- /src/transformations/MemberExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/MemberExpression.js -------------------------------------------------------------------------------- /src/transformations/NewExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/NewExpression.js -------------------------------------------------------------------------------- /src/transformations/ObjectExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/ObjectExpression.js -------------------------------------------------------------------------------- /src/transformations/SequenceExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/SequenceExpression.js -------------------------------------------------------------------------------- /src/transformations/SpreadElement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/SpreadElement.js -------------------------------------------------------------------------------- /src/transformations/SwitchStatement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/SwitchStatement.js -------------------------------------------------------------------------------- /src/transformations/TemplateLiteral.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/TemplateLiteral.js -------------------------------------------------------------------------------- /src/transformations/ThrowStatement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/ThrowStatement.js -------------------------------------------------------------------------------- /src/transformations/TryStatement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/TryStatement.js -------------------------------------------------------------------------------- /src/transformations/UnaryExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/UnaryExpression.js -------------------------------------------------------------------------------- /src/transformations/UpdateExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/UpdateExpression.js -------------------------------------------------------------------------------- /src/transformations/WhileStatement.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/WhileStatement.js -------------------------------------------------------------------------------- /src/transformations/resolveToRegister.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transformations/resolveToRegister.js -------------------------------------------------------------------------------- /src/transpile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/transpile.js -------------------------------------------------------------------------------- /src/utils/BytecodeGenerator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/utils/BytecodeGenerator.js -------------------------------------------------------------------------------- /src/utils/assembler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/utils/assembler.js -------------------------------------------------------------------------------- /src/utils/constants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/utils/constants.js -------------------------------------------------------------------------------- /src/utils/log.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/utils/log.js -------------------------------------------------------------------------------- /src/utils/opcodes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/utils/opcodes.js -------------------------------------------------------------------------------- /src/utils/random.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/utils/random.js -------------------------------------------------------------------------------- /src/utils/ref.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/utils/ref.js -------------------------------------------------------------------------------- /src/vm_dev.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/vm_dev.js -------------------------------------------------------------------------------- /src/vm_dist.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/src/vm_dist.js -------------------------------------------------------------------------------- /tests/branching.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/tests/branching.test.js -------------------------------------------------------------------------------- /tests/loaders.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/tests/loaders.test.js -------------------------------------------------------------------------------- /tests/math.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/tests/math.test.js -------------------------------------------------------------------------------- /tests/transpiler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/tests/transpiler.js -------------------------------------------------------------------------------- /tests/try_catch.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/tests/try_catch.test.js -------------------------------------------------------------------------------- /tests/vfunc.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aesthetic0001/js-virtualizer/HEAD/tests/vfunc.test.js --------------------------------------------------------------------------------