[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Che strumenti usereste voi per decodificare questo codice?



Il Wednesday 09 April 2008 00:17:27 nextime@nexlab.it ha scritto:
> On Tue, Apr 08, 2008 at 11:29:01PM +0200, gollum1 wrote:
> > Non funziona con entrambi i pezzi di codice, non mi ? molto chiaro il
> > codice che hai fatto... vediamo se sono riuscito a capirlo...
>
> Uhmm da me funziona, e tra le altre cose si evince dai nomi delle
> funzioni presenti che si tratta di un footer.php si un wordpress :)

sì, infatti era un utente del forum di WP che chiedeva che era questa cosa, e 
mi sono incuriosito più per la questione "informatica" che per un interesse 
vero e proprio del contenuto (i miei temi sono fatti in casa, e non uso 
codice offuscato)

> prendo un codice, lo trasformo gzippo, lo trasformo in base64, ne faccio
> un rot13, prendo cio' ch e' uscito e ripeto tutta l'operazione da
> capo... e cosi' via per 42 volte.

quindi avevo capito correttamente il tuo procedimento...

> Quindi io non faccio altro che fare un ciclo con l'operazione inversa,
> trasformo l'eval in print_r() pulendo eventuali <? ?> che romperebbero
> poi, faccio un ob_start per far si che eval() della mia stringa
> trasformata con la print_r possa essere catturata in una stringa,
> controllo se pulendo ulteriormente <? e simili inizia con eval, se si
> ripeto l'operazione e cosi' via fino a quando non e' piu iniziante con
> eval. A quel punto so di avere il codice "vero" e lo printo.

qui ho dovuto andare a riguardarmi il manuale di php, non mi ricordavo per 
nulla le funzioni ob_ (ma ce ne sono tante altre che non conosco o fatico a 
ricordare, i manuali servono per quello no?)

> > evidentemente si ferma all'ultimo ciclo, perch? in uscita ho ancora il
> > codice offuscato...
>
> Be l'ho scritto grezzamente in due secondi, ovviamente si puo' far di
> meglio, comunque se semplicemente pigli anche a mano, cambi eval con
> print_r e redirigi su un file, avrai ancora codice offuscato, ripeti il
> cambio di eval con print_r e salvi su un terzo file.. e cosi' via per 42
> volte, alla fine avrai il codice in chiaro.

certo, questo dopo il suggerimento del primo post e dopo essermi letto il tuo 
ero riuscito a capirlo, che dovevo continuare in modo ricorsivo, ma mi 
interessava vedere se esisteva un sistema meno "manuale"...

> Assolutamente corretto. Offuscare il codice in quel modo e'
> semi-inutile, serve solo a fermare persone che di php davvero non
> conoscono NULLA (ok, non sono poche), ma chi ha un minimo di esperienza
> o comunque basi di programmazione anche scarse e' in grado di ricavarne
> tranquillamente il sorgente, al costo di far fare la bellezza di 42 eval
> e trasformazioni varie che ovviamente appesantiscono molto il tutto.
>
> Insomma, e' inutile e dannoso. Esistono poi altri metodi migliori,
> molti proprietari e anche qualcuno open source come l'estensione
> bcompiler che sta in pear, che fondamentalmente si basano sul
> byte-compilare il codice php con un'operazione one-way only. In quel
> modo risalire al codice sorgente *preciso* e' impossibile, anche queste
> operazioni sono comunque reversabili lavorando in maniera piu' "interna"
> a php, ma almeno garantiscono un livello di sicurezza piu' elevato ( per
> quanto lo si possa elevare non e' comunque assoluto ) ad un costo
> computazionale decisamente inferiore.

in passato mi avevano chiesto qualcosa del genere, ma non mi ci sono mai messo 
seriamente, non mi è mai interessato poi tanto il discorso di offuscamento 
del codice, lo trovo alquanto anti-opensource....

> comunque:
>  dedalo:/home/nextime/MAIL/allegati> ./a.php
[...]

ti ringrazio, ero comunque riuscito a vederlo tramite quel sito di cui ti ho 
lasciato il link nel precedente post, il mio interesse era rimasto 
puramente "accademico".


Byez
-- 
Gollum 1
Tessssssoro, dov'é il mio tesssssssoro...


Reply to: