Offuscatore di codice PHP scritto in C# 2.0

PHP Obfuscator è un progetto di Craig Spitzkoff, ed è corredato non solo dal codice sorgente, ma anche da un installer MSI.
Il progetto, come quasi tutti i prodotti Open Source, è nato da una esigenza personale di Craig Spitzkoff quando, dovendo redistribuire una versione demo, si accorse che tutti i compilatori di bytecode richiedevano la redistribuzione di moduli addizionali da caricare a run time, o addirittura di estensioni per il Web server, come nel caso del Zend Guard.
Per i prodotti Open Source, invece, si accorse che essi provocavano qualche problema al codice offuscato tale da richiedere dei cambiamenti.
Per utilizzare l’offuscatore, dovete semplicemente avere cura di usare gli array $_REQUEST, $_POST e $_GET per tutte le variabili di input HTML (un refactoring che non potrà che fare bene al vostro codice). Il codice sorgente (meno di 400 KB) comprende la GUI, un tool a linea di comando utile per lo scripting, e soprattutto la classe Obfuscator, basata sul potente MD5CryptoServiceProvider del .NET Framework 2.0.

Il progetto di codifica di un insieme di file PHP viene salvato come un oggetto ObfuscatorConfig reso persistente tramite serializzazione XML. L’uso della main class si riduce all’istanziarla passandogli un oggetto ObfuscatorUI come parametro, ed all’invocarne il metodo Start:

ObfuscatorUI ui = new ObfuscatorUI();
Obfuscator obfuscator = new Obfuscator(ui);
obfuscator.Start(config, false);

Il secondo parametro di Start serve a stabilire se la codifica deve avvenire in maniera sincrona o asincrona. La classe Obfuscator ha altri tre metodi che realizzano la codifica dei nomi di variabili e di funzioni (ad eccezione di quelli propri di PHP, elencati nel file phpFunctions.cs), e rimuovono gli spazi bianchi nei file PHP da offuscare.

Naturalmente, il punto debole della soluzione è proprio il file phpFunctions.cs: va mantenuto aggiornato col progredire delle versioni di PHP, e per motivi prestazionali potrebbe essere opportuno personalizzarlo a seconda del codice che si vuole offuscare.

[via Programmazione.it]


Un Commento to “Offuscatore di codice PHP scritto in C# 2.0”

  1. 1
    PhpLover ha detto

    un’altro progetto interessante è http://www.autistici.org/ermes.....mp;post=75

Lascia un messaggio

Il tuo commento:


Chiudi
Invia e-mail