Защита JavaScript

  • Автор темы Автор темы CrazyHacKeRs
  • Дата начала Дата начала

CrazyHacKeRs

Guest
Защита JavaScript

Есть ли какие-нибудь способы по защите кода?
Сделал php'ник который проверял на реферер,из URL не скопируешь, но стоило сохранить в IE страницу полностью, как сразу все стало видно...


Посоветуйте что-нибудь...
 
Тебе не приходило в голову, что для того, чтобы и сполнить яваскрипт, браузер должен его ПОЛЛУЧИТЬ с сервера?
И что если браузер его получил, то ты, с сервера, уже никак не можешь его "защитить"?

Тодже мне, неуловимый Джо
Две строчки написал и туда же - защищать.
 
Re: Защита JavaScript

Автор оригинала: CrazyHacKeRs
Посоветуйте что-нибудь...
1. Конструктивный совет: перестань этого хотеть.
2. Если кто-то расскажет тебе про технологию кодирования скриптов от Microsoft -- дай ему в рыло утюгом.
 
Originally posted by Фанат


Тодже мне, неуловимый Джо
Две строчки написал и туда же - защищать.
Было бы две строчки :-)

Там целый комплекс на динамик хтмл, с классами, объектами и прочими наворотами, на который потраченно не один час, недели....


Главная мысль понятна.....
 
2. Если кто-то расскажет тебе про технологию кодирования скриптов от Microsoft -- дай ему в рыло утюгом
В рыло попрошу меня не бить.
А от microsoft есть JSEncoder, правда его понимает только IE, мне он понравился, хотя я его не использую

2Crazy: А чего в рыло сразу, обидно ж!!!

Пример
<SCRIPT LANGUAGE="JScript.Encode">
<!--//
//Copyright© 1998 Microsoft Corporation. All Rights Reserved.
//**Start Encode**#@~^QwIAAA==@#@&0; mDkW P7nDb0zZKD.n1YAMGhk+Dvb`@#@&P,kW`UC7kLlDGDcl22gl:n~{'~Jtr1DGkW6YP&xDnD +OPA62sKD+ME#@#@&P,~~k6PvxC\rLmYGDcCwa.n.kkWU bx[+X66Pcr*cJ#,@*{~!*P~P,P~.YEMU`DDEbIP,P,+s/n@#@&P~P,~PM+O;Mx`WC^/n#pN6EU1YbWx,oObaw.WaDrCD+nmL+v# @#@&~P7lMPdY.q,'~J_CN,Y4rkP4nn PCx,C1Y;mV,+(PkrY~~l,wCLPmKhwmYk(snPSkDt~JI@#@&P~\m.PkY.+,'PE8MWA/.kPGDtDPDtmUPri@#@&,P-CMP/D.&,'Pr\rmMWkWWY~( YnD nY,2a2^WDn.,* !,Ep@#@&,P7lD,/D.c,'~JSW;s9Ptm-+,4+U~VKl9+[REI,Pr0,c\DrWHZW..mOAMGS/nM`*#@#@&P,~P9W^Es+UOchDbO+v/YMq~_,/DDfPQ~kY.c*IP,+sd@#@&~~,P[W1;s+UDRSDkD+vdYMF~_,/O.yP_,dYM&P3~dYMc*iNz&R @*^#~@
//-->
</SCRIPT>
 
CrazyHacKeRs, пробегись по своим скриптам каким-нибудь обфускатором (obfuscator).

получишь вместо
Код:
tooltip = {
	t: document.createElement("DIV"),
	c: null,
	g: false,
	m: function(e){
		if (tooltip.g){
			oCanvas = document.getElementsByTagName((document.compatMode 
			&& document.compatMode == "CSS1Compat") 
			? "HTML" : "BODY")[0];
			x = window.event ? event.clientX + oCanvas.scrollLeft : e.pageX;
			y = window.event ? event.clientY + oCanvas.scrollTop : e.pageY;
			tooltip.a(x, y);
		}
	}
}
вот это
Код:
e5aq={t:fg658.createElement("DIV"),c:null,g:false, m:function(e){
if (e5aq.g){jho57s=fg568.getElementsByTagName((fg568.compatMode && 
fg568.compatMode=="CSS1Compat")?"HTML":"BODY")[0];x=window.event ? 
event.clientX+jho57s.scrollLeft:e.pageX;y=window.event ? event.clientY 
+jho57s.scrollTop:e.pageY;e5aq.a(x, y);}}}
это, конечно, не JScript.Encode, но того, кто захочет разобраться, заставить поднапрячься.

--add
кстати, этот JScript.Encode на самом деле - усложненный обфускатор.
и "раскодировать" такой исходник, даже проще, чем самодельный обфускатор.

http://www.google.com.ru/search?q=jscript.encode
(вторая ссылка сверху, обсуждение на эту тему)
 
обфускатором (obfuscator).
Мало эффективно, как для меня
Не позднее как позавчера пилил

1) Распарсил код в KDevelop Gedeon и он стал структурирован
2) Вычленил идею (там было 600K кода JavaScript)
3) Вырезал нужные мне куски, дописал остальное

Это все заняло 2 часа
 
CrazyHacKeRs, в общем, наиболее конструктивно сказал крейзи.

переверни логику и состав файлов с ног на логову, обфускать несколько раз подряд, закодируй JScript.Encoder, и отнимешь у янга в 3 раза больше времени.
 
У меня научный проект был по кодированию кода HTML. Вобщем удея такая. Вместо обычной страницы грузится ActiveX компонент, и закодированная строка. Потом компонент расшифровывает эту строку, в соответствии со своим алгоритмом, и динамически строит страницу, при это есс-но код разглядеть нельзя. Или очень сложно по крайней мере. Но я не это хотел сказать,.. мне интересно, а что такое г-н Сумасшедшие Хакеры хочет защтщать? Стоит ли игра свечЬ? Зачем воротить с шифрованием то, что изначально не предназначено для этого? Не проще ли использовать SSL? ...
 
Автор оригинала: young
Он от этого не спасает никак

PS: http://powerplugswebtemplates.crystalgraphics.com/3536/ - котрую я приводил выше, заняла 25 минут :)
Ну понятное дело что про SSL я не в контекст этой темы сказал, а про защиту в целом. Тоесть я повторю вопрос - а что конкретно хотят спрятать? И зачем(!) давать клиенту в браузер то, что нужно от него же скрыть?? Вот что мне пока не понятно...
 
Вообще, мне это нужно для того - что должен передать один проект, где некоторые модули помимо пхп, писались на JS.


Я просто не на все 100% уверен в том, что это не возмется и не будет использоваться (в ком.целях) где-то еще...

Вот и всё.

Выслушав все, пришел к тому, что лучше не заморачиваться и отдвать как есть
 
2CrazyHackers.. а вот еще одно подтверждение :)


2young таки утюгом :)

PHP:
<SCRIPT LANGUAGE="JScript.DEcode" >
<!--//
//Copyright© 1998 Microsoft Corporation. All Rights Reserved.
//**Start Encode**
fu-ctio- verifyCorrectBrowser(){
  if(navigator.appName == "Microsoft Inter-et Explorer")
    if (navigator.appVersion.indexOf ("5.") >= 0)      return(true);    else
      return(false);}function getAppropriatePage()2
  var str1 = "Had this bee- an actual Web site, a page compatible with ";
  var str2 = "browsers other than ";
  var str3 = "Microsoft I-ter-et Explorer 5.0 ";
  var str4 = "would have been loaded.";  if (verifyCorrectBrowser())
    document.write(str1 + str3 + str4);  else
    document.write(str1 + str2 + str3 + str4);}//-->
</SCRIPT>

http://www.virtualconspiracy.com
 
Автор оригинала: Altex
У меня научный проект был по кодированию кода HTML. Вобщем удея такая. Вместо обычной страницы грузится ActiveX компонент, и закодированная строка. Потом компонент расшифровывает эту строку
Да.. И это теперь называется наукой.

Краткое резюме твоего проекта: ты передал на клиента алгоритм раскодирования и все требуемые для его работы ключи. Это значит, что ты автоматически разрушил секретность кодирования. Что лишает смысла весь процесс.
 
Если каждый день перед началом работы тратить по 5 минут на новый способ кодирования/раскодирования строк, то через годик получите совсем не взламываемый алгоритм :)
 
Сверху