Newsgroup: it.comp.lang.javascript
Titolo: criptare javascript

Saluto tutti intanto che sono nuovo su questo NG.
Volevo chiedervi se ce la possibilitą di criptare il codice Javascript in
maniera drastica e senza scappatoie.
max
--
PHOENIXWEB.iT
divisione design: 
www.phoenixweb.it
email: 
m...@phoenixweb.it

mmmmmmm.....no!
Se intendi nasconderlo la domanda è stata fatta centinaia di
volte..CMQ la risposta rimane no.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 volte..CMQ la risposta rimane no.
Come no?
Lo si puň criptare benissimo proprio qualche giorno fa era su un sito che lo
faceva e dimostrava il tutto con esempi e prove on-line...
Ci asono due modi:
a) usare una tecnoligia tipo ASP o PHP
b) usare un'altro JS che cripta a sua volta tutti i codici...
Domani vedo se lo rovo cosě lo posto....
BYE

Ho disponibilità di PHP, ma il javascript è praticamente il core del
programma, è quello che mi preme oscurare. Il php (stranissimo ma vero) fa
poco.

 poco.
Quella di oscurare il codice JS e' una stra-FAQ, a cui normalmente si 
risponde no.
In realta', se ci cerca poi in qualche archivio (dejavu, google) si nota 
come parecchi anni fa (forse il periodo coincideva con la venuta di 
Riccardo Riccardi in questo NG, ma non ci metteri la mano sul fuoco :) ) 
vi fu una specie di "contest" sulla criptazione dei dati.
In sostanza, alcuni affermavano di riuscire a oscurare gli script con un 
certo grado di sicurezza. Il che era vero. Vi erano stati anche 
esperimenti misti con tecnologie server-side.
Quel che pero' dicevano alcuni di noi (tra cui io), era che cmq il JS 
per essere eseguito DOVEVA risultare comprensibile al client. Ergo, in 
un certo punto, vi doveva essere qualcosa che convertisse il codice 
criptato e lo rendesse chiaro.
Ovviamente questo punto era ipernascosto, protetto, e difficile da 
individuare (tramite creazione di finestre ex novo e codice generato 
direttamente in memoria).
Io non ero, e non sono, un esperto di criptazione. Eppure ho "bucato" 
tutti i tentativi di criptare il codice da parte loro, in quanto 
"aggiravo" semplicemente il problema, andando a pescare il codice 
decrittato.
Inizialmente fu facile. Con uno "script debugger" mandavi in malora ogni 
sforzo fatto da qualunque persona volesse proteggere il codice.
Poi, la M$, aggiunse ai suoi browser dalla vers 5 in poi, l'encoder. 
Anche se l'algoritmo di criptazione faceva un po' pieta', a detta di 
Danele / Neo (uno dei crypters di cui prima), era utile in quanto 
impediva l'esecuzione dello Script Debugger.
E quindi, almeno sui browser IE, il problema pareva risolto.
In realta' no. Aggirai anche questo ostacolo, e recuperai il codice 
ugualmente.
Non so se adesso l'Encode della M$ e' migliorato, ma dubito..inoltre non 
si puo' fare un sito internet limitato al solo IE (dio me ne scampi), a 
meno che non sia una web application che giri su una intranet..
.. ma cmq, il succo del discorso e' che non vi e' un modo assoluto di 
impedire il recupero di un JS, criptato quanto vuoi, da una persona 
sufficientemente abile.
Alla peggio, posso sempre crearmi un browser io, ed in tal modo 
ovviamente posso recuperare tutte le informazioni che mi servono. E non 
pensate che ci voglia una vita o che sia una cosa strana "realizzarsi" 
un browser. Se si parte da componenti esistenti, ci si mette cinque 
minuti (ad esempio, riusando parti di Internet Explorer sotto Windows 
con .NET).
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 meno che non sia una web application che giri su una intranet..
Dicono sia migliorato, ma loro stessi scrivono che "è solo un palliativo";
se si cerca in qualche sito magari non proprio legale si trovano
decriptatori che ci mettono un secondo (al di là, appunto, che sarebbe
leggibile solo con IE/Win...)

 risalire al sorgente
Non esattamente. Alcune cose non erano visibili sul client perche' 
create direttamente in memoria e bloccavano lo script debugger. Su IE>4, 
non era cosi' immediato recuperarne il codice. 


risponde no.
beh dai non proprio tutto è perduto :)
si può sempre "comprimere" il codice facendolo sembrare di per se una
pagina crittata :))
Se poi uno realmente ci capisce e si applica un pò forse resce a
capire come funziona ed a riadattarlo secondo le sue esigenze. Ma solo
il lavoraccio di estendere il codice e comprendere il suo
funzionamento vale il permesso di riutilizzarlo :)
--
Ciao!
Davide
[DAOC PG]Armorgod Troll Sciamano - Midgard Vortigern[/DAOC PG]

 protezione, allora si e' guadagnato il diritto di leggermi il codice ;)
Condivido in pieno! :-)
Il punto fondamentale e' proprio quello nell'altro tuo post precedente: 
il browser in qualche modo deve disporre del codice decriptato per farlo 
funzionare, ergo deve disporre ANCHE della chiave di decrittatura e del 
relativo algoritmo.
Come dire: mandiamo un corriere con un messaggio cifrato stampato sul 
foglio e con la chiave di decodifica stampata sotto al messaggio :-)
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

 pagina crittata :))
Ti sei dimenticato di leggere il resto del thread, eh.. :)
Indipendentemente dal tipo di algoritmo che usi per la crittazione (che 
comprenda o meno la compressione.. ma sprechi risorse inutili), il punto 
e' che poi questa stringa andra' nuovamente resa "in chiaro" a livello 
client. :)
Quindi non hai bisogno di decrittarlo o di capire come funziona 
l'algoritmo, basta recuperare il codice gia' decrittato.


 webmastella con uno script debugger in mano.
Esatto: sono solo palliativi, come bloccare il tasto dx per non far
scaricare l'immagine: a chi vuole scaricarsela "tanto per" ci rinuncia, a
chi ci capisce qualcosa e gli interessa veramente bypassa in 5 secondi...

l'algoritmo, basta recuperare il codice gia' decrittato.
infatti, io mi riferivo allo scrivere codice che pur essendo in chiaro
abbia la mancanza totale di indentazioni e commenti, ovvero il più
caotico possibile. :)


 caotico possibile. :)
Non lo cripti comunque.


 non era cosi' immediato recuperarne il codice.
Come come come.... :) voglio sapere tutto!!!!! :)
max

 pagina crittata :))
Già fatto... !!!!

 l'algoritmo, basta recuperare il codice gia' decrittato.
No non proprio... nel mio caso la funzione stampa della grafica che non può
essere cammuffata e credo che se riutilizzassero il codice senza decifrarlo
potrei ucciderli.... (so già chi verrà a fare un copia incolla delle ideuzze
nuove).
max