Skip to content

Obfuscation Failure #1308

@ematrex-abderrahim

Description

@ematrex-abderrahim

I created a js script that goes inside my sveltekits build folder and tries to obfuscate any js file that it can find

Expected Behavior

Even though it works in preview mode locally it doesn't work in production on a real server

Current Behavior

The Whole app crashes

App Url

e-matrex.com

Obfucation Code :

import fs from 'fs';
import path from 'path';
import obfuscator from 'javascript-obfuscator';

const buildDir = 'build';

function obfuscateFiles(dir) {
	fs.readdirSync(dir).forEach((file) => {
		const filePath = path.join(dir, file);

		if (
			filePath.includes('/server/') ||
			filePath.includes('/node_modules/') ||
			filePath.includes('/.svelte-kit/')
		) {
			return;
		}

		if (fs.statSync(filePath).isDirectory()) {
			obfuscateFiles(filePath);
		} else if (file.endsWith('.js')) {
			console.log(`Obfuscating: ${filePath}`);
			const code = fs.readFileSync(filePath, 'utf8');
			const obfuscatedCode = obfuscator
				.obfuscate(code, {
					compact: true,
					controlFlowFlattening: true
				})
				.getObfuscatedCode();
			fs.writeFileSync(filePath, obfuscatedCode, 'utf8');
		}
	});
}

obfuscateFiles(buildDir);

console.log('JavaScript obfuscation completed.');

Your Environment

  • Obfuscator version used: 4.1.1
  • Node version used: Latest LTS

Stack trace

Image

Minimal working example that will help to reproduce issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions