Obskuration ist eine lustige sache aber wenn jemand den quellcode haben möchte, dann bekommt er ihn auch.
praktisches Beispiel - etwas nach Javascript obscure gesucht und folgenden Schnipsel gefunden (übrigens fügt er ein Javascript auf die Seite ein von einer Internetseite die nicht mehr existiert)
<script type="text/javascript">
var nhZE2uSD="Ow8xN18Ow8xN31";
var usW1446O0="Ow8xN3cOw8xN73Ow8xN63Ow8xN72";
var usW1446O1="Ow8xN69Ow8xN70Ow8xN74Ow8xN20";
var usW1446O2="Ow8xN74Ow8xN79Ow8xN70Ow8xN65";
var usW1446O3="Ow8xN3dOw8xN22Ow8xN74Ow8xN65";
var usW1446O4="Ow8xN78Ow8xN74Ow8xN2fOw8xN6a";
var usW1446O5="Ow8xN61Ow8xN76Ow8xN61Ow8xN73";
var usW1446O6="Ow8xN63Ow8xN72Ow8xN69Ow8xN70";
var usW1446O7="Ow8xN74Ow8xN22Ow8xN20Ow8xN73";
var usW1446O8="Ow8xN72Ow8xN63Ow8xN3dOw8xN22";
var usW1446O9="Ow8xN68Ow8xN74Ow8xN74Ow8xN70";
var usW1446O10="Ow8xN3aOw8xN2fOw8xN2fOw8xN61";
var usW1446O11="Ow8xN6eOw8xN6eOw8xN6fOw8xN75";
var usW1446O12="Ow8xN2eOw8xN73Ow8xN65Ow8xN72";
var usW1446O13="Ow8xN76Ow8xN65Ow8xN68Ow8xN74";
var usW1446O14="Ow8xN74Ow8xN70Ow8xN2eOw8xN63";
var usW1446O15="Ow8xN6fOw8xN6dOw8xN2fOw8xN2f";
var usW1446O16="Ow8xN6dOw8xN6cOw8xN2eOw8xN70";
var usW1446O17="Ow8xN68Ow8xN70Ow8xN22Ow8xN3e";
var usW1446O18="Ow8xN20Ow8xN3cOw8xN2fOw8xN73";
var usW1446O19="Ow8xN63Ow8xN72Ow8xN69Ow8xN70";
var usW1446O20="Ow8xN74Ow8xN3e";
var JgUg10US="g4Uuq18Ow8xN31";
var Q8NVsUq5=usW1446O0+usW1446O1+usW1446O2+usW1446O3+
usW1446O4+usW1446O5+usW1446O6+usW1446O7+usW1446O8+
usW1446O9+usW1446O10+usW1446O11+usW1446O12+usW1446O13+
usW1446O14+usW1446O15+usW1446O16+usW1446O17+
usW1446O18+usW1446O19+usW1446O20;
CvhvkAeR=Q8NVsUq5.replace(/Ow8xN/g,"%");
var KcQGBJKD=unescape;
var nhZE2uSD="cZLH618g4Uuq31";
q9124=this;
var WrEGuKeo=q9124["*Z*1GoGYc2uG1mYGe2YnltY".replace(/[Y12WlG\:]/g, "")];
WrEGuKeo.write(KcQGBJKD(CvhvkAeR));
</script>
Nun alles von Hinten:
WrEGuKeo.write(KcQGBJKD(CvhvkAeR));
schreibt also in ein Objekt was WrEGuKeo genannt ist etwas rein.
Es wird eine Funktion benutzt:
KcQGBJKD(CvhvkAeR)
Die Funktion ist scheinbar "unescape":
var KcQGBJKD=unescape;
also steht da eigentlich
WrEGuKeo.write(unescape(CvhvkAeR));
und schon haben wir eigentlich was das ding tut. Die Variable "CvhvkAeR" kann man sich mal mit javascript:alert(CvhvkAeR) über die Adresszeile anschauen, man sieht einen haufen % zeichen mit zahlen - das erklärt auch warum das mit unescape geschrieben wird. Unescape und Escape sind 2 Javafunktionen um einen Text in ein Format umzuwandeln, was man über die Adresszeile weitergeben kann und für das menschliche auge nach Datenmüll aussieht.
schreibt man in die Adresszeile also
javascript:alert(unescape(CvhvkAeR))
sieht man das diese ganze verwirrungstechnik nur folgende Zeile in den Quellcode der Seite einbaut:
Also selbst wenn man nun die ".write" funktion obscuriert hätte würde man das auch wiederum sehen können. Man Kann den Faden endlos lange weiterspinnen und es wird irgendwann langweilig aber was auch immer von fremden seiten verlinkt oder an zusätzlichen Javascripten eingebunden wird, man kann es finden.