All Projects → darsyn → obfuscator

darsyn / obfuscator

Licence: other
Obfuscate PHP source files with basic XOR encryption in userland code at runtime.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to obfuscator

Forsaken
One of the best Python3.9 obfuscators.
Stars: ✭ 94 (+370%)
Mutual labels:  obfuscation, obfuscate, obfuscator
code-obfuscation
一款iOS代码混淆工具(A code obfuscation tool for iOS.)
Stars: ✭ 32 (+60%)
Mutual labels:  obfuscation, obfuscate, obfuscator
Javascript Obfuscator
A powerful obfuscator for JavaScript and Node.js
Stars: ✭ 8,204 (+40920%)
Mutual labels:  obfuscation, obfuscate, obfuscator
gnirts
Obfuscate string literals in JavaScript code.
Stars: ✭ 65 (+225%)
Mutual labels:  obfuscation, obfuscate, obfuscator
AutoIt-Obfuscator
AutoIt Obfuscator lets you protect AutoIt script source code against analysis, reverse engineering & decompilation using advanced obfuscation techniques and polymorphic encryption.
Stars: ✭ 31 (+55%)
Mutual labels:  obfuscation, obfuscate, obfuscator
Obfuscator Class
👨‍💻 Simple and effective Obfuscator PHP class (this is not a stupid base64 encoding script, but a real and effective obfuscation script)
Stars: ✭ 202 (+910%)
Mutual labels:  obfuscation, obfuscator
Radon
Experimental Java bytecode obfuscator
Stars: ✭ 243 (+1115%)
Mutual labels:  obfuscation, obfuscator
data obfuscation
Data Obfuscation for C/C++ Code Based on Residue Number Coding (RNC)
Stars: ✭ 15 (-25%)
Mutual labels:  obfuscation, obfuscator
Mosey
A free and open source java bytecode obfuscator, experimental
Stars: ✭ 43 (+115%)
Mutual labels:  obfuscation, obfuscator
Vetric
WIP Java/Kotlin obfuscator
Stars: ✭ 39 (+95%)
Mutual labels:  obfuscation, obfuscator
Lua-Obfuscator
A Lua Obfuscator made for Roblox, but should work on most Lua applications
Stars: ✭ 84 (+320%)
Mutual labels:  obfuscation, obfuscator
Berserker
Obfuscate your Python scripts better, faster.
Stars: ✭ 81 (+305%)
Mutual labels:  obfuscation, obfuscate
Stringobfuscator
Simple header-only compile-time library for string obfuscation (C++14)
Stars: ✭ 164 (+720%)
Mutual labels:  obfuscation, obfuscator
Yguard
The open-source Java obfuscation tool working with Ant and Gradle by yWorks - the diagramming experts
Stars: ✭ 130 (+550%)
Mutual labels:  obfuscation, obfuscator
Deoptfuscator
Deobfuscator for Android Application
Stars: ✭ 115 (+475%)
Mutual labels:  obfuscation, obfuscator
Skater .net Obfuscator
Skater .NET Obfuscator is an obfuscation tool for .NET code protection. It implements all known software protection techniques and obfuscation algorithms.
Stars: ✭ 64 (+220%)
Mutual labels:  obfuscation, obfuscator
Alom
Alom PHP Obfuscator / Encoder can protect from your codes
Stars: ✭ 50 (+150%)
Mutual labels:  obfuscation, obfuscator
Enigma
Gradle Plugin - Obfuscator String Encryption (Android/Java)
Stars: ✭ 43 (+115%)
Mutual labels:  obfuscation, obfuscator
Obfuscar
Open source obfuscation tool for .NET assemblies
Stars: ✭ 1,040 (+5100%)
Mutual labels:  obfuscation, obfuscator
ColonialObfuscator
Java Obfuscator in Beta
Stars: ✭ 23 (+15%)
Mutual labels:  obfuscation, obfuscator

Darsyn Obfuscate

Obfuscate source code and decrypt it during run-time.

This is not designed to securely encrypt source code; merely obfuscate source code to ensure that any extraction of partial and/or full source code has been done with intent. This can then provide extra evidence in any legal dispute you have with said party.

This obfuscation method is a proof-of-concept and is not efficient performance-wise.

Setup

<?php declare(strict_types=1);

use Darsyn\Obfuscate\Obfuscate;

require_once __DIR__ . '/vendor/autoload.php';
// The call to the Obfuscator library must come *before* any files that are
// obfuscated are loaded by PHP (such as a call to a class which triggers the
// autoloader), therefore just after including the Autoloader is a good idea.
new Obfuscate([
    'excludePaths' => [
        // You *MUST* exclude the vendor directory from being checked for
        // obfuscated code.
        __DIR__ . '/vendor',
    ],
]);

// This file (the entry script) must not be obfuscated, in order to load
// Autoloaders and the Obfuscator library.
// Now continue your application logic as normal, any further files that are
// loaded will be checked if they are obfuscated and decrypted.

The Magic

The Obfuscator will intercept PHP files as they are loaded and transform (de-obfuscate) the source code before it is handed over to PHP's parsing engine.

Example

A PHP file on the filesystem will look like this:

<?php exit('Protected by Darsyn Obfuscator.'); ?>

aFcZG1BjeU4PAhFTEUEQAEM0AhViHgsdTAQyJ08HB1IBAxhFH15rZAFTEU9zCggFGhwcMDtVCwoPFyU2
BkEZDRJPAQQ3Bw0BTAYzJwpAIBoGH0wMAXwtABpUE08fCQYHSW8qCAkYUxJOIEUPElUCGzdPAxETARhM
ER0AFh0XEBwBH1ljCgAXABYcGEUGYh4qU09VUhMQQg8GB0VIIQYKB0kGHQAHARBFGWEQEQoaHE0JYUVZ
AEEVbgBJUwBOT1QAHwAVGwZOVEtUGwwQWEwXCRdEABxLVUMUEUYVHQlUSQYbFgYdDgsbCQkAIB8AFAdF
U3tkT1QAQQBTRUNVUkUATAcYUwQxAEkbVABTUVRSCAQNHhVUHEcEBw0KBl9bCxxUNQ8RExQVAEUGQEJL
Fh0bFw9LUgwAEDpKPRpOWgBHUwdBQVoHSABdRSc8ICBjPyoreT49IXAoIWE6ICYMZ0VBTlQAVE8ALkxY
f1JFTFldbxNp

But PHP's parsing engine will receive this:

<?php

namespace AppBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class DefaultController extends Controller
{
    public function indexAction()
    {
        return $this->render(':default:index.html.twig', [
            'base_dir' => realpath($this->getParameter('kernel.root_dir') . '/..') . DIRECTORY_SEPARATOR,
        ]);
    }
}

To-do

  • Performance (the bytecode of de-obfuscated source code currently does not get cached in OpCache).
  • Completely disable userland cache so that de-obfuscated code isn't saved to the filesystem.
  • Allow disabling of original AOP source transformers.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].