Skip to content

Commit 22248c6

Browse files
committed
init
0 parents  commit 22248c6

19 files changed

+1146
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/node_modules
2+
/.idea

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# JavaScript Obfuscate
2+
3+
Demo of JavaScript Obfuscate.

demo_compact.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const code = `
2+
let x = '1' + 1
3+
console.log('x', x)
4+
`
5+
6+
const options = {
7+
compact: false,
8+
}
9+
10+
const obfuscator = require('javascript-obfuscator')
11+
12+
function obfuscate(code, options) {
13+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
14+
}
15+
16+
console.log(obfuscate(code, options))
17+
// var _0x151c=['log'];(function(_0x1ce384,_0x20a7c7){var _0x25fc92=function(_0x188aec){while(--_0x188aec){_0x1ce384['push'](_0x1ce384['shift']());}};_0x25fc92(++_0x20a7c7);}(_0x151c,0x1b7));var _0x553e=function(_0x259219,_0x241445){_0x259219=_0x259219-0x0;var _0x56d72d=_0x151c[_0x259219];return _0x56d72d;};let x='1'+0x1;console[_0x553e('0x0')]('x',x);

demo_control_flow_flattening.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
const code = `
2+
(function(){
3+
function foo () {
4+
return function () {
5+
var sum = 1 + 2;
6+
console.log(1);
7+
console.log(2);
8+
console.log(3);
9+
console.log(4);
10+
console.log(5);
11+
console.log(6);
12+
}
13+
}
14+
15+
foo()();
16+
})();
17+
`
18+
19+
const options = {
20+
compact: false,
21+
controlFlowFlattening: false
22+
}
23+
24+
const obfuscator = require('javascript-obfuscator')
25+
26+
function obfuscate(code, options) {
27+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
28+
}
29+
30+
console.log(obfuscate(code, options))

demo_dead_code_injection.js

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
const code = `
2+
console.log('abc');
3+
console.log('cde');
4+
console.log('efg');
5+
console.log('hij');
6+
`
7+
8+
const options = {
9+
compact: false,
10+
deadCodeInjection: true,
11+
deadCodeInjectionThreshold: 1
12+
}
13+
14+
const obfuscator = require('javascript-obfuscator')
15+
16+
function obfuscate(code, options) {
17+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
18+
}
19+
20+
console.log(obfuscate(code, options))

demo_debug_protection.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const code = `
2+
for (let i = 0; i < 5; i ++) {
3+
console.log('i', i)
4+
}
5+
`
6+
7+
const options = {
8+
debugProtection: true
9+
}
10+
11+
const obfuscator = require('javascript-obfuscator')
12+
13+
function obfuscate(code, options) {
14+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
15+
}
16+
17+
console.log(obfuscate(code, options))

demo_disable_console_output.js

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
const code = `
2+
console.log('hello world')
3+
`
4+
const options = {
5+
disableConsoleOutput: true
6+
}
7+
8+
const obfuscator = require('javascript-obfuscator')
9+
10+
function obfuscate(code, options) {
11+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
12+
}
13+
14+
console.log(obfuscate(code, options))

demo_domain_lock.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const code = `
2+
console.log('hello world')
3+
`
4+
5+
const options = {
6+
domainLock: ['cuiqingcai.com']
7+
}
8+
9+
const obfuscator = require('javascript-obfuscator')
10+
11+
function obfuscate(code, options) {
12+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
13+
}
14+
15+
console.log(obfuscate(code, options))

demo_identifier_names_generator.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const code = `
2+
let hello = '1' + 1
3+
console.log('hello', hello)
4+
`
5+
6+
const options = {
7+
compact: true,
8+
identifierNamesGenerator: 'mangled'
9+
}
10+
11+
const obfuscator = require('javascript-obfuscator')
12+
13+
function obfuscate(code, options) {
14+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
15+
}
16+
17+
console.log(obfuscate(code, options))

demo_identifiers_prefix.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const code = `
2+
let hello = '1' + 1
3+
console.log('hello', hello)
4+
`
5+
6+
const options = {
7+
identifiersPrefix: 'germey'
8+
}
9+
10+
const obfuscator = require('javascript-obfuscator')
11+
12+
function obfuscate(code, options) {
13+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
14+
}
15+
16+
console.log(obfuscate(code, options))

demo_rename_globals.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const code = `
2+
var $ = function(id) {
3+
return document.getElementById(id);
4+
};
5+
`
6+
7+
const options = {
8+
renameGlobals: true
9+
}
10+
11+
const obfuscator = require('javascript-obfuscator')
12+
13+
function obfuscate(code, options) {
14+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
15+
}
16+
17+
console.log(obfuscate(code, options))

demo_self_defending.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const code = `
2+
console.log('hello world')
3+
`
4+
5+
const options = {
6+
selfDefending: true
7+
}
8+
9+
const obfuscator = require('javascript-obfuscator')
10+
11+
function obfuscate(code, options) {
12+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
13+
}
14+
15+
console.log(obfuscate(code, options))

demo_string_array.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const code = `
2+
var a = 'hello world'
3+
`
4+
const options = {
5+
stringArray: false,
6+
rotateStringArray: true,
7+
stringArrayEncoding: true, // 'base64' or 'rc4' or false
8+
stringArrayThreshold: 1,
9+
}
10+
11+
const obfuscator = require('javascript-obfuscator')
12+
13+
function obfuscate(code, options) {
14+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
15+
}
16+
17+
console.log(obfuscate(code, options))

demo_target.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const code = `
2+
console.log('hello world')
3+
`
4+
5+
const options = {
6+
target: 'browser-no-eval'
7+
}
8+
9+
const obfuscator = require('javascript-obfuscator')
10+
11+
function obfuscate(code, options) {
12+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
13+
}
14+
15+
console.log(obfuscate(code, options))

demo_transform_object_keys.js

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const code = `
2+
(function(){
3+
var object = {
4+
foo: 'test1',
5+
bar: {
6+
baz: 'test2'
7+
}
8+
};
9+
})();
10+
`
11+
const options = {
12+
compact: false,
13+
transformObjectKeys: true
14+
}
15+
16+
const obfuscator = require('javascript-obfuscator')
17+
18+
function obfuscate(code, options) {
19+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
20+
}
21+
22+
console.log(obfuscate(code, options))

demo_unicode_escape_sequence.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const code = `
2+
var a = 'hello world'
3+
`
4+
const options = {
5+
compact: false,
6+
unicodeEscapeSequence: true
7+
}
8+
9+
const obfuscator = require('javascript-obfuscator')
10+
11+
function obfuscate(code, options) {
12+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
13+
}
14+
15+
console.log(obfuscate(code, options))

main.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const code = `
2+
let x = '1' + 1
3+
console.log('x', x)
4+
`
5+
6+
const options = {
7+
compact: false,
8+
controlFlowFlattening: true
9+
}
10+
11+
const obfuscator = require('javascript-obfuscator')
12+
function obfuscate(code, options) {
13+
return obfuscator.obfuscate(code, options).getObfuscatedCode()
14+
}
15+
console.log(obfuscate(code, options))

0 commit comments

Comments
 (0)