Кодирование Js

Discussion in 'PHP' started by TheSystems, 17 Jan 2008.

  1. TheSystems

    TheSystems New Member

    Joined:
    28 Dec 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Нужен скрипт кодирования текста (html-тегов ...) в таково рода кодировку:
    <script>document.write(String.fromCharCode(90,100,100,110,90 ... ));</script>

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

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

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Ну воспользуйся моей разработкой:

    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;
        }
    З.Ы. Меняешь регулярку на поиск нужной тебе строки, и на выходе она будет закодирована...
     
  3. +toxa+

    +toxa+ Smack! SMACK!!!

    Joined:
    16 Jan 2005
    Messages:
    1,674
    Likes Received:
    1,029
    Reputations:
    1,228
    http://h4k.in/encoding/
     
    _________________________
  4. TheSystems

    TheSystems New Member

    Joined:
    28 Dec 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    непонял.
    куда текст то вставлять?

    +toxa+
    thanks


    А где есть скрипты которые декодируют этот toCharCode ?
     
    #4 TheSystems, 17 Jan 2008
    Last edited: 17 Jan 2008
  5. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Напиши этот скрипт внутри тегов <textarea></textarea> вот и вся раскодировка
     
  6. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    chr() и ord() =)
    PS это не кодировка это просто намера символов в таблице их размешения
     
    #6 genom--, 17 Jan 2008
    Last edited: 17 Jan 2008
  7. TheSystems

    TheSystems New Member

    Joined:
    28 Dec 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Macro
    дык, ну сделал
    <textarea><script>document.write(String.fromCharCode(60,105,102))</script></textarea>

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

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


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

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Code:
    <script>
    document.write('<textarea cols=90 rows=90>');
    document.write(String.fromCharCode(60,105,102));
    document.write('</textarea>');
    </script>
    
    Вот так и никакой головной боли по утрам
     
    1 person likes this.
  9. TheSystems

    TheSystems New Member

    Joined:
    28 Dec 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Спасибо!

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

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    невозможно сделать так чтобы нельзя было раскодировать, чем бы там автор не клялся. Если браузер может раскодировать и выполнить код, значит и мы можем.
     
  11. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    вытянул из фреймера - но это уже старая и банальная шифровка - я бы лудше ей не пользовался уже

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

    TheSystems New Member

    Joined:
    28 Dec 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    ну поновее что нить выложи :)
    и что ты имеешь ввиду более новое?
     
  13. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    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-кода:

    Code:
    <textarea id="textarea" cols="20" rows="10">
    Hello, world!
    </textarea>
    будет заменён на код:

    Code:
    <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>
    Разумеется, ты можешь регуляркой задавать, какой кусок нужно выцепить для шифрования...
     
    1 person likes this.
  14. TheSystems

    TheSystems New Member

    Joined:
    28 Dec 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    пустую страницу показывает
     
  15. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    мб тебе еще весь скрипт выложить =)

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

    TheSystems New Member

    Joined:
    28 Dec 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    genom--
    ну зачем весь, просто тот участок где кодирование :))
    я думаю очень многие бы тебе сказали спасибо :)

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

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    TheSystems, не может быть... Возможно, где-то вставился пробел и идёт синтаксическая ошибка, а у тебя отключён вывод ошибок... Смотри error_log, там будет причина белой страницы, я перед тем как тебе отпостить, разумеется, всё проверил...
     
  18. TheSystems

    TheSystems New Member

    Joined:
    28 Dec 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Parse error: syntax error, unexpected T_SL in /home/www/public_html/html/crypt.php on line 42