Skip to content

Commit 311a1fd

Browse files
authored
Add files via upload
1 parent 1f5015f commit 311a1fd

25 files changed

+4446
-39
lines changed

README.md

+15-39
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,15 @@
1-
# JSfuscator 🔒 🚀
2-
3-
Welcome to the official GitHub repository for JSfuscator! JSfuscator is a robust, free-to-use JavaScript obfuscator that helps protect your JavaScript code from reverse engineering. 🔎 💻
4-
5-
## Why JSfuscator? ❓
6-
7-
In the world of web development, JavaScript is everywhere. But with its ubiquity comes the risk of your code being stolen or tampered with. That's where JSfuscator comes in. 🛡️
8-
9-
JSfuscator uses advanced obfuscation techniques to transform your JavaScript into a form that's functionally identical to the original, but much harder for humans (and machines) to understand. 🧠 🤖
10-
11-
## Features 🌟
12-
13-
JSfuscator offers a variety of obfuscation techniques, including:
14-
15-
- Variable renaming 🔤
16-
- String encoding 📝
17-
- Control flow flattening ⛰️
18-
19-
You can customize the obfuscation settings to suit your needs. 🔧
20-
21-
## How It Works ⚙️
22-
23-
JSfuscator parses your JavaScript code into an abstract syntax tree (AST), applies obfuscation techniques to the AST, and then generates the obfuscated code from the modified AST. 🌳
24-
25-
## Try It Out 👉
26-
27-
Ready to give JSfuscator a spin? Head over to our [web service](https://user319183.github.io/jsfuscator.html) and start obfuscating! :rocket:
28-
29-
## Star Us ⭐
30-
31-
If you find JSfuscator useful, please give us a star! Your support helps us continue to maintain and improve JSfuscator. Plus, it helps other developers find us when they search for JavaScript obfuscators. 🔍
32-
33-
## Join Us 🤝
34-
35-
Have questions or feedback? Join us on our [Discord server](https://discord.gg/jbVnp3hnCa). We'd love to hear from you! 💬
36-
37-
## Future Plans 🔮
38-
39-
We're continually innovating and have exciting plans for the future, including a Discord bot version of JSfuscator. Stay tuned! 📺
1+
# JSfuscator 🔒 🚀
2+
3+
Welcome to the official GitHub repository for JSfuscator! JSfuscator is a robust, free-to-use JavaScript obfuscator that helps protect your JavaScript code from reverse engineering. 🔎 💻
4+
5+
We are excited to announce that we have open-sourced JSfuscator v1! To get started, copy the contents of the [`.env.example`](.env.example) file to a new file named `.env` and replace the placeholders with your actual values.
6+
7+
## Why JSfuscator? ❓
8+
9+
In the world of web development, JavaScript is everywhere. But with its ubiquity comes the risk of your code being stolen or tampered with. That's where JSfuscator comes in. 🛡️
10+
11+
JSfuscator uses advanced obfuscation techniques to transform your JavaScript into a form that's functionally identical to the original, but much harder for humans (and machines) to understand. 🧠 🤖
12+
13+
## Future Plans 🔮
14+
15+
We're continually innovating and have exciting plans for the future. We are currently working on JSfuscator v2, a complete rewrite of the obfuscator. This version will be closed-source and will include many improvements and new features. For more information, check out the [v2 README](v2/README.md). Stay tuned! 📺

examples/editpagecontent.js

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
console.log(document.body.contentEditable = document.body.contentEditable == "true" ? "false" : "true");

examples/ex1.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
(function(){
2+
function foo () {
3+
return function () {
4+
var sum = 1 + 2;
5+
console.log(1);
6+
console.log(2);
7+
console.log(3);
8+
console.log(4);
9+
console.log(5);
10+
console.log(6);
11+
}
12+
}
13+
14+
foo()();
15+
})();

examples/factorial.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
function factorial(n) {
3+
if (n === 0 || n === 1) {
4+
return 1;
5+
} else {
6+
return n * factorial(n - 1);
7+
}
8+
}
9+
10+
console.log(factorial(5)); // Output: 120

examples/inputGuessing.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
(async function() {
2+
let guess;
3+
do {
4+
guess = await new Promise(resolve => {
5+
setTimeout(() => resolve(prompt("Guess the number:")), 0);
6+
});
7+
} while (guess != 44902984);
8+
9+
console.log("Congratulations! You guessed the number.");
10+
})();

examples/intervalLooper.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
let count = 0;
2+
3+
// This function will be called every second
4+
const intervalId = setInterval(() => {
5+
console.log(`This is loop iteration number: ${count}`);
6+
count++;
7+
8+
// Stop the loop after 10 iterations
9+
if (count > 10) {
10+
clearInterval(intervalId);
11+
}
12+
}, 1000);

examples/literalEncryption1.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
var isTrue = true;
2+
var isFalse = false;
3+
var nothing = null;
4+
var notANumber = NaN;
5+
var infinite = Infinity;
6+
7+
console.log(isTrue, isFalse, nothing, notANumber, infinite);
8+
9+
// Obfuscated code
10+
var decrypt = function(str) {
11+
return str === "true" ? true :
12+
str === "false" ? false :
13+
str === "null" ? null :
14+
str === "NaN" ? NaN :
15+
str === "Infinity" ? Infinity :
16+
undefined;
17+
};
18+
19+
var isTrue = decrypt("true");
20+
var isFalse = decrypt("false");
21+
var nothing = decrypt("null");
22+
var notANumber = decrypt("NaN");
23+
var infinite = decrypt("Infinity");
24+
25+
console.log(isTrue, isFalse, nothing, notANumber, infinite);

examples/literalencryption2.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// Original code
2+
var x = true;
3+
var y = false;
4+
var z = undefined;
5+
var a = null;
6+
var b = NaN;
7+
var c = Infinity;

examples/obfuscator.io_default.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// This function prints a greeting message to the console.
2+
function helloWorld() {
3+
console.log("Hello, world!");
4+
}
5+
6+
// Invoke the helloWorld function
7+
helloWorld();

globalobjects_fetch.js

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
var globalObjects = Object.getOwnPropertyNames(window);
2+
console.log(globalObjects);

0 commit comments

Comments
 (0)