javascript-snippet

Scraper JavaScript Obfuscator

jangan lupa install npm/package javascript-obfuscator

Lines: 73Chars: 2058Size: 2.01 KB
javascript-snippet
1import JavaScriptObfuscator from "javascript-obfuscator";
2
3export async function obfuscateJs(code, level = "easy") {
4    if (!code) {
5        throw new Error("Code tidak boleh kosong");
6    }
7
8    let config = {};
9
10    switch (level.toLowerCase()) {
11        case "easy":
12            config = {
13                compact: true,
14                controlFlowFlattening: false,
15                deadCodeInjection: false,
16                renameGlobals: false
17            };
18            break;
19
20        case "medium":
21            config = {
22                compact: true,
23                controlFlowFlattening: true,
24                controlFlowFlatteningThreshold: 0.3,
25                deadCodeInjection: false,
26                renameGlobals: false
27            };
28            break;
29
30        case "hard":
31            config = {
32                compact: true,
33                controlFlowFlattening: true,
34                controlFlowFlatteningThreshold: 0.75,
35                deadCodeInjection: true,
36                deadCodeInjectionThreshold: 0.4,
37                renameGlobals: true,
38                stringArray: true,
39                stringArrayThreshold: 0.75
40            };
41            break;
42
43        case "extreme":
44            config = {
45                compact: true,
46                controlFlowFlattening: true,
47                controlFlowFlatteningThreshold: 1,
48                deadCodeInjection: true,
49                deadCodeInjectionThreshold: 1,
50                renameGlobals: true,
51                stringArray: true,
52                stringArrayThreshold: 1,
53                stringArrayRotate: true,
54                stringArrayShuffle: true,
55                splitStrings: true,
56                splitStringsChunkLength: 3
57            };
58            break;
59
60        default:
61            throw new Error(
62                "Level harus easy, medium, hard, atau extreme"
63            );
64    }
65
66    const result = JavaScriptObfuscator.obfuscate(code, config);
67
68    return {
69        status: true,
70        level,
71        result: result.getObfuscatedCode()
72    };
73}

Komentar