BigThink

Criptare e decriptare un sorgente javascript

Curiosando tra i sorgenti javascript dei siti altrui, magari sperando di poter carpire qualche segreto sul funzionamento di un particolare effetto o tool, potreste esservi imbattuti in script con un incipit simile:

eval(function(p,a,c,k,e,r){e=function(c) ...

seguito da una serie di funzioni, stringhe e numeri apparentemente senza logica e messi alla rinfusa.

Si tratta di codice javascript offuscato con Packer, il Javascript Compressor di Dean Edwards. Semplice quanto geniale: prende il codice e separa punteggiatura, sintassi e stringhe riarrangiandoli con array, split e replace, in modo da non rendere più leggibile il codice originario.

A prima vista potrebbe sembrare molto difficile risalire al javascript in chiaro, ma ci sono due modi molto semplici per aggirare l’ostacolo.

Il primo metodo sfrutta direttamente il tool stesso, abilitando il pulsante Decode e rendendo editabile l’area di testo dove compare il codice criptato. Basta copiare questa Bookmarklet, andare alla pagina di Packer ed eseguirla. Potremo così incollare il codice nel campo di testo Copy, cliccare su Decode ed ottenere lo script in chiaro nel campo Paste (metodo preso da Yaisb).

Il metodo alternativo è ancora più semplice e attacca la tecnica stessa di offuscamento. Se guardiamo bene, infatti, tutto il codice “criptato” è racchiuso nella funzione eval, la quale si occupa di eseguire e valutare quanto viene passato come argomento. E se la sostituissimo con un bel document.write, cosa credete succederebbe? Semplice, il codice originario verrebbe stampato in chiaro nella nostra pagina, al posto di eseguirlo.

Facile, no? Se volessimo essere ancora più pignoli, possiamo usare l’utilissimo Beautify javascript, tool online per indentare correttamente il codice javascript e renderlo più leggibile.

Articolo scritto da Ghido

Fondatore di BigThink.it, si occupa dello sviluppo e del coordinamento dei progetti tecnologici. Specializzato nel Marketing su Facebook e nello sviluppo di Applicazioni Social, fa consulenza e formazione ad aziende ed agenzie.

Leggi anche...

Mostrare contenuti riservati in cambio di uno Share su Facebook

Mostrare contenuti riservati in cambio di uno Share su Facebook

Tempo fa ti ho spiegato come mostrare un contenuto riservato sulla tua Pagina Facebook solamente a chi diventa fan. Puoi sfruttare una dinamica simile anche sulle pagine del tuo sito, mostrando dei contenuti riservati solamente a chi condivide in Bacheca un post. Vediamo insieme come fare! 1. Crea l'Applicazione e implementa la Javascript SDK Per prima cosa ...
7 Script FBJS per la tua Applicazione Facebook

7 Script FBJS per la tua Applicazione Facebook

Visto che la raccolta di Applicazioni Facebook Open Source è stata apprezzata, oggi ti propongo alcuni script FBJS che ho trovato in rete. FBJS è il Javascript riadattato da Facebook, che funziona sulle FBML Canvas Page. Un'interessante espansione è la libreria Animation, che permette di utilizzare diversi effetti di animazione. I primi 5 script della ...
Uno script jQuery per risolvere i problemi del Box Model

Uno script jQuery per risolvere i problemi del Box Model

Uno dei principali problemi di compatibilità tra browser è l'interpretazione del cosiddetto box model. Secondo gli standard dell W3C, la larghezza (width) o l'altezza (height) assegnata ad un box si riferisce solo all'area di contenuto del box. Il padding, i bordi ed i margini vengono sommati in un secondo momento per arrivare alla larghezza ...
Come creare Dialog Box nelle tue Applicazioni Facebook IFrame

Come creare Dialog Box nelle tue Applicazioni Facebook IFrame

Uno degli aspetti positivi nello sviluppare Applicazioni Facebook FBML è che puoi usare FBJS, che mette a disposizione alcuni oggetti molto comodi come le Dialog. Grazie ad esse possiamo far comparire i classici popup in stile Facebook, con una riga di codice. Passando, però, a sviluppare Applicazioni IFRAME — e pare che Facebook stia ...
PagePeel: script gratis

PagePeel: script gratis

Un ottimo strumento di advertising alternativo al classico banner è il cosiddetto PagePeel — conosciuto anche come PageEar, Peel Ad, Peel Away o Magic Corner. Si tratta di un elemento Flash che simula lo sfogliare di una pagina e richiama molto l'attenzione del lettore che, incuriosito, andrà ad appoggiare il mouse e a ...

6 Commenti

  1. andros

    grazie per il tuo post…

    26 settembre 2009, 15:23
  2. Gino Parigino

    ciao ho provato a usare il secondo metodo pero’ ottengo js un po più comprensibile ma sempre incomprensibile. come mai ?

    ciaoo

    21 gennaio 2009, 03:12
    • Ghido

      Mmm… strano. E col primo metodo che cosa succede, invece?

      21 gennaio 2009, 12:57
      • Gino Parigino

        anche col primo… volevo postare un esempio di javascript che mi restituiva ma non me lo fa postare.

        21 gennaio 2009, 15:34
        • Ghido

          Ho visto ora i tuoi commenti nello spam.
          Non saprei che dirti… Magari hanno usato un modo differente di codificare il sorgente, una versione più avanzata…

          21 gennaio 2009, 16:57

1 Citazioni