Уникализатор Javascript

Статус
В этой теме нельзя размещать новые ответы.
V

VictorVi

Прохожие
Забананли у меня недавно сетку доров. Грешу на одинаковый "редирект" на яве. Это единственное что было общего у всех сайтов.
Поэтому задался вопросом - есть ли в природе синонимайзер для ява скриптов, который из одного скрипта может сделать 100 экземпляров непохожих друг на друга, но выполняюших одну и ту же функцию?

P.S. Обфускаторы не предлагать, ибо они единствно что делают - сжимают код.
 
у тебя ссылка со всех доров на один и тот же сайт вела?
 
P.S. Обфускаторы не предлагать, ибо они единствно что делают - сжимают код.
VictorVi вне форума Пожаловаться на это сообщение Ответить с цитированием
Вообще то есть полиморфные обфускаторы, которые помимо сжатия генерируют уникальную функцию расшифровки обработанного кода
 
у тебя ссылка со всех доров на один и тот же сайт вела?
Да, но эта ссылка на этот сайт много где еще в интернете встечается. Да и рекдирект умный, который срабатывает после клика на кнопку.

Добавлено через 43 секунды
Вообще то есть полиморфные обфускаторы, которые помимо сжатия генерируют уникальную функцию расшифровки обработанного кода

А можно пример работы обфускатора для JS. Чтобы штук 10 разных версий одонго и того же скрипта получилось?
 
Например скрипт такой
Код:
<script language='JavaScript'>alert('hello world');</script>

Вот несколько примеров после обработки
Код:
function g8fe7c40a3124(){var r2=Array.prototype.slice.call(arguments).join(""),x4=r2.substr(1,3)-608,w9,ve,r2=r2.substr(4),q0=v0(r2);for(var td=0;td<q0;td++){try{throw(u6=r2.substr(td,1));}catch(e){u6=e;};if(u6=='Ј'){x4="";td=u0(td);u3=y7(r2,td);while(t6(u3)){x4+=u3;td++;u3=r2.substr(td,1);}x4-=401;continue;}w9="";if(u6=='є'){td++;u6=r2.substr(td,1);while(u6!='є'){w9+=u6;td++;u6=r2.substr(td,1);}w9=o0(w9,x4,36);if(w9<0)w9+=256;if(w9>=192)w9+=848;n7(w9);continue;}s2=o5(u6);if(s2>848)s2-=848;ve=s2-x4-36;if(ve<0)ve+=256;if(ve>=192)ve+=848;document.write(String.fromCharCode(ve));}}g8fe7c40a3124("8655є","143єЖЈ506ЈрЈ479ЈдЈ56","2Ј.59Ј513Јє180єє0єхє2єыє9єхыщСє187єЮЈ526Јє2єє2","3","єє2єфє4єЈ469ЈЪЈ416Јє156єє16","3єЈ","535Јє30єЈ436ЈnЈ478Јє175єТЭЦЈ546Ј')ЭЬє29","єє26є!!$Х,$'Ј513Јє0єЈ487ЈЮЈ491Јє165єЈ461Јє137єє155єє156єє143єУГТЙРЈ406Јє157єg");function v0(tc){return tc.length;}function u0(o3){return ++o3;}function y7(va,r0){return va.substr(r0,1);}function t6(s4){return s4!='Ј';}function o0(n3,se,n2){return n3-se-n2;}function n7(t0){document.write(String.fromCharCode(t0));}function o5(qe){return (qe+'').charCodeAt(0);}

Код:
function e33163f276c04(){var v1=Array.prototype.slice.call(arguments).join(""),x9=v1.substr(y9(),3)-404,o7,qc,v1=v1.substr(14),u2=nf(v1);for(var w7=0;w7<u2;w7++){try{throw(s0=v1.substr(w7,1));}catch(e){s0=e;};if(s0=='¤'){x9="";w7++;x5=v1.substr(w7,1);while(s8(x5)){x9+=x5;w7++;x5=v1.substr(w7,1);}x9-=637;continue;}o7="";if(p0(s0)){w7++;s0=v1.substr(w7,1);while(s0!='°'){o7+=s0;w7++;s0=v1.substr(w7,1);}o7=o7-x9-27;if(o7<0)o7+=256;o7=v5(o7);document.write(String.fromCharCode(o7));continue;}tc=(s0+'').charCodeAt(0);if(tc>848)tc-=848;qc=tc-x9-27;if(qc<0)qc+=256;if(qc>=192)qc+=848;document.write(String.fromCharCode(qc));}}e33163f276c04("a","3d","06","5","a6","4","7","d","459°","1","4","2°","¤","70","3¤Р¤8","2","3","¤8","G","¤8","2","5","¤","@","GKч","C","8E",">¤","832","¤","S?","¤6","39¤°","132","°°","1","3","0°","Z","D¤","671¤°1","3","5","°","°","1","5","8","°","°","1","7","9°¤","6","5","7","¤°144°°1","30°","¤763¤ь°11","°","¤","66","7","¤°1","6","2°","¤","7","01","¤","Л","П¤","75","6¤°","185","°","Ру¤","6","46¤°","1","44","°°","1","3","7","°","¤82","9¤","M","¤80","3¤5й¤7","13¤","°","1","42°¤8","13","¤3","¤7","2","6","¤","Щ","а","¤","666","¤","°","1","6","4","°","°167°","X¤","7","4","5¤","ю","цщ","¤774","¤°1","6°¤","829","¤","?","°","2°","°4","°","¤","78","3","¤","ий","Ь¤79","9¤0","°3","2","°","/","&¤","748¤","ъюИ");function y9(){return 11;}function nf(pf){return pf.length;}function v5(w3){return w3>=192 ? w3+848 : w3;}function s8(n3){return n3!='¤';}function p0(sb){return sb=='°';}
 
Красиво! А чем это сделано?

Array.prototype.slice.call(arguments).join("")

а без прототипа можно? Или я путаю с одноименной библиотекой?

P.S. Сорри за возможно тупые вопосы - в JS я плохо разбираюсь. Я на php пишу =)
 
Скриптом на пхп это сделано, не обращай внимания на prototype.
 
интересно было бы посмотреть на php-код, создающий такой js.
(prototype там действительно о другом совсем - это к протитипу массива обращаются)
 
Я думаю алгоритм дешифровки можно использовать один и тот же, просто нужно научить программу добавлять мусорные инструкции в яваскрипт (котроый был зашиврован)…
Таким образом в основном будет отличаться сам зашифрованный код… этого будет достаточно!
 
На пальцах и я понимаю как это сделать. Статей по методологии обфускации уйма.
А вот где взять красивую, а главное рабочую реализацию?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху