Как расшифровать хитрый яваскрипт


Если Вы подозреваете, что Ваш сайт, или интересный Вам сайт заражён вирусом, Вы можете увидеть в исходном коде HTML страницы что-то вот в таком духе:
function dF(s){
var s1=unescape(s.substr(0,s.length-1));
var t='';
for(i=0;it+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));
document.write(unescape(t));
}

dF('%297Gwgvmtx%2964perkyeki%297H... длинная-длинная строка...');
Как такие вещи расшифровать? примерный результат расшифровки яваскрипта
  1. Создаём локальный файл t.html с таким содержимым:
    <html>
     <head>
      <SCRIPT type="text/javascript" language="javascript">// <![CDATA[
    место 1
    // ]]></SCRIPT>
     </head>
    <body>
    <form name="fA">
    <textarea id="f1" rows="10" cols="50"></textarea>
    <br>
    <input onclick="document.fA.f1.value=decodeTxt(document.fA.c1.value);" value="Расшифровать" type="button">
    <br>
    Вставьте зашифрованный текст и нажмите расшифровать
    <br>
    <textarea id="c1" rows="10" cols="50">место 2</textarea>
    </body>
    </html>
    
  2. В место 1 вставляем объявление функции, заменив в нём document.write(....); на return(...), а имя функции на decodeTxt
  3. В место 2 вставляем длинную-длиную строку - аргумент функции, без кавычек, пробелов и переводов строки!
  4. Грузим получившийся html файл в браусер
  5. Нажимаем "Расшифровать"
  6. Рассматриваем расшифрованный код в верхней текстовой области (как показано на скриншоте справа)
(С) 2013 Яковлев Сергей по просьбе Влада Элбакяна