Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Кодирование Js (https://forum.antichat.xyz/showthread.php?t=58966)

TheSystems 17.01.2008 16:45

Кодирование Js
 
Нужен скрипт кодирования текста (html-тегов ...) в таково рода кодировку:
<script>document.write(String.fromCharCode(90,100, 100,110,90 ... ));</script>

Не помню точно что это за кодировка, но помню раньше был такой скрипт который вот так кодировал, а другой раскодировал.

Заранее спасибо.

groundhog 17.01.2008 16:50

Ну воспользуйся моей разработкой:

PHP код:

    function protect_email($tpl_output) {
        if (
preg_match_all('/[a-z0-9\._-]{2,}@[a-z0-9\._-]{2,}\.[a-z]{2,6}/i'$tpl_output$matches)) {
            foreach(
$matches[0] as $email) {
                
$key rand (1255);
                
$result '';
                for(
$i 0$i strlen($email); $i++, $result .= $i != strlen($email) ? ';' '')
                    
$result .= strval(ord($email[$i]) ^ $key);
                
$code  "<script>x=String('{$result}').split(';');for(i=0,z='';i<x.length;i++)";
                
$code .= "z+=String.fromCharCode(x[i]^{$key});document.write(z);</script>";
                
$tpl_output str_replace($email$code$tpl_output);
            }
        }

        return 
$tpl_output;
    } 

З.Ы. Меняешь регулярку на поиск нужной тебе строки, и на выходе она будет закодирована...

+toxa+ 17.01.2008 17:13

http://h4k.in/encoding/

TheSystems 17.01.2008 19:55

Цитата:

Сообщение от groundhog
Ну воспользуйся моей разработкой

непонял.
куда текст то вставлять?

+toxa+
thanks


А где есть скрипты которые декодируют этот toCharCode ?

Macro 17.01.2008 20:14

Напиши этот скрипт внутри тегов <textarea></textarea> вот и вся раскодировка

genom-- 17.01.2008 20:32

chr() и ord() =)
PS это не кодировка это просто намера символов в таблице их размешения

TheSystems 17.01.2008 21:09

Macro
дык, ну сделал
<textarea><script>document.write(String.fromCharCo de(60,105,102))</script></textarea>

и че? :) в браузере просто этот <script>document.write(String.fromCharCode(60,105, 102))</script> в строке и отобразился

groundhog
куда в твоем скрипте текст то вводить?


genom--
выложи куда нибуть скрипт который вот таким образом кодирует который у тебя в iframere есть, плз %)

Macro 17.01.2008 21:20

Код:

<script>
document.write('<textarea cols=90 rows=90>');
document.write(String.fromCharCode(60,105,102));
document.write('</textarea>');
</script>

Вот так и никакой головной боли по утрам

TheSystems 19.01.2008 01:14

Спасибо!

А не подскажите, я раньше где то видел то такой же скрипт по сути, но там уже обратного кодирования небыло! Причем автор скрипта клялся что раскодировать код никак нельзя а он только в браузере выполняется.
Не подскажите такое?

Macro 19.01.2008 01:44

невозможно сделать так чтобы нельзя было раскодировать, чем бы там автор не клялся. Если браузер может раскодировать и выполнить код, значит и мы можем.

genom-- 19.01.2008 15:28

вытянул из фреймера - но это уже старая и банальная шифровка - я бы лудше ей не пользовался уже

$injcode='ваш_код';
$crcode='';
for ($i=0;$i<strlen($injcode); $i++) {
$crcode.=ord($injcode[$i]);
if($i<(strlen($injcode)-1)){$crcode.=',';};
}$crcode='<script>document.write(String.fromCharCo de('.$crcode.'));</script>';
$injcode=$crcode;

TheSystems 21.01.2008 02:28

ну поновее что нить выложи :)
и что ты имеешь ввиду более новое?

groundhog 21.01.2008 12:13

TheSystems, это функция на языке PHP. То есть, она выполняется на стороне веб-сервера, следовательно ты её должен вызывать из страницы, а страница в свою очередь должна парситься на предмет PHP-кода. Вот смотри пример (я несколько модифицировал функцию, чтобы привести к универсальной форме):

PHP код:

<?php

/**
* test.php - filtering output of the html code.
* This file is the proof of concept of filtering output
*
* Modified by: nobody
* Added: nothing
*
* @author  groundhog <groundhog[doggy]cccp[dot]su>
* @package  generic
* @version  $Revision: 1.0 $
*/

/**
* HTML code filter function
*
* Implemets JavaScript filter based on 'String.fromCharCode' call and
* XORed data
*
* @param  string Regexp of target HTML code
* @param  string Source of output
* @return  string Filtered output
*/
function protect_html_output($pattern$tpl_output) {
    if (
preg_match_all($pattern$tpl_output$matches)) {
        foreach(
$matches[0] as $target) {
            
$key rand (1255);
            
$result '';
            for(
$i 0$i strlen($target); $i++, $result .= $i != strlen($target) ? ';' '')
                
$result .= strval(ord($target[$i]) ^ $key);
            
$code  "<script>x=String('{$result}').split(';');for(i=0,z='';i<x.length;i++)";
            
$code .= "z+=String.fromCharCode(x[i]^{$key});document.write(z);</script>";
            
$tpl_output str_replace($target$code$tpl_output);
        }
    }

    return 
$tpl_output;
}

// Это код нашей страницы, он содержит тег textarea
$html_page =<<<HTML_PAGE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <title>Это тестовая страница</title>
    </head>
    <body>
        Это тестовая страница с зашифрованным тегом &lt;textarea&gt;
        <br /><br /><br />
        <textarea id="textarea" cols="20" rows="10">
            Hello, world!
        </textarea>
    </body>
</html>
HTML_PAGE;

// Делаем вывод пропарсеного HTML-кода. Код парсится по регулярке
// '/<textarea.*>.*<\/textarea.*>/iUs', которая цепляет любой тег
// textarea. Разумеется, модфицируя эту регулярку можно добиться
// шифрования чего угодно. Кодирование проходит с использованием
// ксорирования (ключ рандомный от 1 до 255).
echo protect_html_output('/<textarea.*>.*<\/textarea.*>/iUs'$html_page);

?>

В нашем примере кусок HTML-кода:

Код:

<textarea id="textarea" cols="20" rows="10">
Hello, world!
</textarea>

будет заменён на код:

Код:

<script>x=String('53;107;102;109;112;55;4;3;0;0;212;251;231;41;251;236;248;251;231;235;233;246;41;248;251;249;233;228;225;255;233;41;248;41;238;233;241;225;253;249;231;235;233;228;228;242;229;41;251;236;234;231;229;41;47;101;125;50;125;108;113;125;104;123;108;104;47;110;125;50;4;3;0;0;53;107;123;41;38;55;53;107;123;41;38;55;53;107;123;41;38;55;4;3;0;0;53;125;108;113;125;104;123;108;104;41;96;109;52;43;125;108;113;125;104;123;108;104;43;41;106;102;101;122;52;43;59;57;43;41;123;102;126;122;52;43;56;57;43;55;4;3;0;0;0;65;108;101;101;102;37;41;126;102;123;101;109;40;4;3;0;0;53;38;125;108;113;125;104;123;108;104;55;4;3;0;53;38;107;102;109;112;55').split(';');for(i=0,z='';i<x.length;i++)z+=String.fromCharCode(x[i]^9);document.write(z);</script>
Разумеется, ты можешь регуляркой задавать, какой кусок нужно выцепить для шифрования...

TheSystems 21.01.2008 22:08

пустую страницу показывает

genom-- 21.01.2008 22:12

Цитата:

Сообщение от TheSystems
ну поновее что нить выложи :)
и что ты имеешь ввиду более новое?

мб тебе еще весь скрипт выложить =)

поновее -- у меня уже 10 способов криптовки кода причем 3 из них с рандомизирующимися элементами

TheSystems 24.01.2008 12:35

genom--
ну зачем весь, просто тот участок где кодирование :))
я думаю очень многие бы тебе сказали спасибо :)

groundhog
у меня твой скрипт просто пустую страницу выводит :(

groundhog 24.01.2008 12:47

TheSystems, не может быть... Возможно, где-то вставился пробел и идёт синтаксическая ошибка, а у тебя отключён вывод ошибок... Смотри error_log, там будет причина белой страницы, я перед тем как тебе отпостить, разумеется, всё проверил...

TheSystems 26.01.2008 06:11

Parse error: syntax error, unexpected T_SL in /home/www/public_html/html/crypt.php on line 42


Время: 23:23