Защита JavaScript

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

CrazyHacKeRs

Guest
Защита JavaScript

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


Посоветуйте что-нибудь...
 

Фанат

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

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

Crazy

Developer
Re: Защита JavaScript

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

CrazyHacKeRs

Guest
Originally posted by Фанат


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

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


Главная мысль понятна.....
 

young

Новичок
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>
 

deek

Новичок
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
(вторая ссылка сверху, обсуждение на эту тему)
 

young

Новичок
обфускатором (obfuscator).
Мало эффективно, как для меня
Не позднее как позавчера пилил

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

Это все заняло 2 часа
 

deek

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

переверни логику и состав файлов с ног на логову, обфускать несколько раз подряд, закодируй JScript.Encoder, и отнимешь у янга в 3 раза больше времени.
 

Altex

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

Altex

Новичок

Altex

Новичок
Автор оригинала: young
Он от этого не спасает никак

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

CrazyHacKeRs

Guest
Вообще, мне это нужно для того - что должен передать один проект, где некоторые модули помимо пхп, писались на JS.


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

Вот и всё.

Выслушав все, пришел к тому, что лучше не заморачиваться и отдвать как есть
 

.des.

Поставил пиво кому надо ;-)
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
 

Crazy

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

Краткое резюме твоего проекта: ты передал на клиента алгоритм раскодирования и все требуемые для его работы ключи. Это значит, что ты автоматически разрушил секретность кодирования. Что лишает смысла весь процесс.
 

DiMA

php.spb.ru
Команда форума
Если каждый день перед началом работы тратить по 5 минут на новый способ кодирования/раскодирования строк, то через годик получите совсем не взламываемый алгоритм :)
 
Сверху