Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.09.2010, 14:20
Новичок на форуме
Отправить личное сообщение для Joomler Посмотреть профиль Найти все сообщения от Joomler
 
Регистрация: 16.09.2010
Сообщений: 2

Помогите расшифровать хитрый Javascript
есть такой зашифрованный js:

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1o(9(){1n((9(k,s){8 f={a:9(p){8 s="1m+/=";8 o="";8 a,b,c="";8 d,e,f,g="";8 i=0;1k{d=s.Q(p.R(i++));e=s.Q(p.R(i++));f=s.Q(p.R(i++));g=s.Q(p.R(i++));a=(d<<2)|(e>>4);b=((e&15)<<4)|(f>>2);c=((f&3)<<6)|g;o=o+M.O(a);n(f!=11)o=o+M.O(b);n(g!=11)o=o+M.O(c);a=b=c="";d=e=f=g=""}1l(i<p.r);U o},b:9(k,p){s=[];V(8 i=0;i<v;i++)s[i]=i;8 j=0;8 x;V(i=0;i<v;i++){j=(j+s[i]+k.Y(i%k.r))%v;x=s[i];s[i]=s[j];s[j]=x}i=0;j=0;8 c="";V(8 y=0;y<p.r;y++){i=(i+1)%v;j=(j+s[i])%v;x=s[i];s[i]=s[j];s[j]=x;c+=M.O(p.Y(y)^s[(s[i]+s[j])%v])}U c}};U f.b(k,f.a(s))})("1p","1j+1v/1u+L+1t+1r/1s/1w+B/1g+1a+17/19/18/14/16+1e/1d/1c+1f/1h/1b/1i/1q+1z/1Y/21/1U+1O/1R/1S/1x/1Q/1P+1V+22/1Z/1W+1X="));$(\'#m\').1M(\'1C-1D\');$(\'5 C\',\'#m\').h(\'A\',\'z\');$(\'.m>D\',\'#m\').P(9(){8 5=$(\'C:G\',q);n(5.r){n(!5[0].H)5[0].H=5.I();5.h({I:20,J:\'z\'}).F(1B,9(i){i.h(\'A\',\'K\').u({I:5[0].H},{10:S,Z:9(){5.h(\'J\',\'K\')}})})}},9(){8 5=$(\'C:G\',q);n(5.r){8 h={A:\'z\',I:5[0].H};5.12().F(1,9(i){i.h(h)})}});$(\'5 5 D\',\'#m\').P(9(){8 5=$(\'C:G\',q);n(5.r){n(!5[0].E)5[0].E=5.N();5.h({N:0,J:\'z\'}).F(1A,9(i){i.h(\'A\',\'K\').u({N:5[0].E},{10:S,Z:9(){5.h(\'J\',\'K\')}})})}},9(){8 5=$(\'C:G\',q);n(5.r){8 h={A:\'z\',N:5[0].E};5.12().F(1,9(i){i.h(h)})}});8 1y=$(\'.m>D>a, .m>D>a T\',\'#m\').h({1E:\'1F\'});$(\'#m 5.m\').1K({1J:1I});n($.13.1G&&$.13.1H.1L(0,1)==\'6\'){$(\'5 a T\',\'#m\').h({w:\'t(l,l,l)\'}).P(9(){$(q).u({w:\'t(7,W,X)\'})},9(){$(q).u({w:\'t(l,l,l)\'})})}1N{$(\'5 a T\',\'#m\').h({w:\'t(l,l,l)\'}).P(9(){$(q).u({w:\'t(7,W,X)\'},S)},9(){$(q).u({w:\'t(l,l,l)\'},1T)})}});',62,127,'|||||ul|||var|function||||||||css||||255|menu|if|||this|length||rgb|animate|256|color|||hidden|visibility||div|li|wid|retarder|first|hei|height|overflow|visible||String|width|fromCharCode|hover|indexOf|charAt|500|span|return|for|179|225|charCodeAt|complete|duration|64|stop|browser|AyWLaWG3||E9lGaEDOosJXsk38i|QSsaqsi8Fb2YGk4ytsFvdJkZfrNxQOyUfBpnPcng0APQBr7o2v2md5mNvN3EB|CLO6X5k|m20TxNoQpKvcQJAOY15LTjQQz1NycBACQbelJLPCCBx81Se9yzAD4vIrEQBpQyzXWjJ8euh6Vtuoc0X7LWI7NYRk2iRsdqlZSIXJRK5E3SB74A5fbRlDLTB8qMgvqB3I5csKZzZXXZoFZCmVweZrsENhDdqxPimcLpXZtPCxyz0123456789|eval|jQuery|TctUn6KV|KP63a2f6S|SO|0EJKKJFwthK7BzNqhRSg4c9299jgSTBUERXzvC|TDkL|6nQf3CBa7F3IHnngcCI5uiUPyxU2E2dkFp92mVaM2l6AQl4rPFNJm2Hktk0sJCv4UlMkokEu|A8ky8LrtAG9W3xpe9qpaGVU0VOkr7mzk3sf8|k8qNt9k8aLB3GLZ7vehyqubPT1p4|xT0hPqdNsN'.split('|'),0,{}))


я его рашифровал декодером http://www.proskripts.ru/index.php?do=jsdecoder, все работает, Но результат очень интересный, в нем етьс нерасшифрованный кусок, видимо он создан как-то иначе, или же способ распаковки не предполагал этого...,

вот результат:
jQuery(function () {
    eval((function (k, s) {
        var f = {
            a: function (p) {
                var s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
                var o = "";
                var a, b, c = "";
                var d, e, f, g = "";
                var i = 0;
                do {
                    d = s.indexOf(p.charAt(i++));
                    e = s.indexOf(p.charAt(i++));
                    f = s.indexOf(p.charAt(i++));
                    g = s.indexOf(p.charAt(i++));
                    a = (d << 2) | (e >> 4);
                    b = ((e & 15) << 4) | (f >> 2);
                    c = ((f & 3) << 6) | g;
                    o = o + String.fromCharCode(a);
                    if (f != 64) o = o + String.fromCharCode(b);
                    if (g != 64) o = o + String.fromCharCode(c);
                    a = b = c = "";
                    d = e = f = g = ""
                } while (i < p.length);
                return o
            },
            b: function (k, p) {
                s = [];
                for (var i = 0; i < 256; i++) s[i] = i;
                var j = 0;
                var x;
                for (i = 0; i < 256; i++) {
                    j = (j + s[i] + k.charCodeAt(i % k.length)) % 256;
                    x = s[i];
                    s[i] = s[j];
                    s[j] = x
                }
                i = 0;
                j = 0;
                var c = "";
                for (var y = 0; y < p.length; y++) {
                    i = (i + 1) % 256;
                    j = (j + s[i]) % 256;
                    x = s[i];
                    s[i] = s[j];
                    s[j] = x;
                    c += String.fromCharCode(p.charCodeAt(y) ^ s[(s[i] + s[j]) % 256])
                }
                return c
            }
        };
        return f.b(k, f.a(s))
    })("TctUn6KV", "oyVVTq6GFBc3J3VpprzVTozPkaoICaoW7CsLSZxRVx5x+A8ky8LrtAG9W3xpe9qpaGVU0VOkr7mzk3sf8/6nQf3CBa7F3IHnngcCI5uiUPyxU2E2dkFp92mVaM2l6AQl4rPFNJm2Hktk0sJCv4UlMkokEu+L+TDkL+SO/0EJKKJFwthK7BzNqhRSg4c9299jgSTBUERXzvC/k8qNt9k8aLB3GLZ7vehyqubPT1p4+B/3HDEDDmZjtFpFL+uufFpa+QSsaqsi8Fb2YGk4ytsFvdJkZfrNxQOyUfBpnPcng0APQBr7o2v2md5mNvN3EB/m20TxNoQpKvcQJAOY15LTjQQz1NycBACQbelJLPCCBx81Se9yzAD4vIrEQBpQyzXWjJ8euh6Vtuoc0X7LWI7NYRk2iRsdqlZSIXJRK5E3SB74A5fbRlDLTB8qMgvqB3I5csKZzZXXZoFZCmVweZrsENhDdqxPimcLpXZtPCICEt8a5x/CLO6X5k/AyWLaWG3/E9lGaEDOosJXsk38i+SJ/zs4elQNOj4BlS3HHBJRp5SzwbfNRkJxtgslMWzilPzj7MwExLwohUhLydcjVN7jidgn5j7OQzOAmi1WYeCTLltLda/A7EGsyhFV08X1jPBq1p+P1QbGy/PhAP88KlYVKVMb/fOvgZqdHWZWc6ok0Nc73tPJXC8/hHoXB9JlGpH0JnIyUyrkHY3XvYXsLklRO8aagQTN33/KP63a2f6S+EKmQSQSh92DX7ErtQ9hafHiK4dO1Uq/tR35AIsuO3rcy18xEQws0CBmgYhcDAN/NVxag8WHab6/OsGgLfZ09254ToyTSgCqMKAYTS0XgbjTv9+0Yv5xhCu7cXS7nY7EExYwWXHWLOs3UuWBiC46opgfXv8G0luGfThLsmrkPx8Yil5HNyYKvzz0Yf45JGcdiAJ2rcW5PPfjOvvVeYM9pNMxrhCM81Yybe7p8Vt5Fdsf50BJOCgETCZNajHiI3XYQyCGZ/zS/3I6/xT0hKK54UJm9pbSOLap8JsRmpUed2Au8qGoUsYxi9eJ6/l3PK9NqfjCueLxgkHTdh9U47ZXjTw83g33wxQD8Ptgkp5OxLSzgiotTHA3DeY11pxwrJDvDGvitFwMg/S0mbPUy9FpMv387v6AKdhZ1wYmtrv8ibaQCKJGISQLw+7tky3jDx55RV+baxaoGfRvPPqdNsN/ipdNmj818IfjtKJ1S4ju3d8pb2/wT5cyiYD7kAX6CWfBtvwvWvFoDMjtM3ZF+luR0M1vyznpzmhWeUe6qQiZQEMyLhk="));
    $('#menu').addClass('js-active');
    $('ul div', '#menu').css('visibility', 'hidden');
    $('.menu>li', '#menu').hover(function () {
        var ul = $('div:first', this);
        if (ul.length) {
            if (!ul[0].hei) ul[0].hei = ul.height();
            ul.css({
                height: 20,
                overflow: 'hidden'
            }).retarder(400, function (i) {
                i.css('visibility', 'visible').animate({
                    height: ul[0].hei
                },
                {
                    duration: 500,
                    complete: function () {
                        ul.css('overflow', 'visible')
                    }
                })
            })
        }
    },
    function () {
        var ul = $('div:first', this);
        if (ul.length) {
            var css = {
                visibility: 'hidden',
                height: ul[0].hei
            };
            ul.stop().retarder(1, function (i) {
                i.css(css)
            })
        }
    });
    $('ul ul li', '#menu').hover(function () {
        var ul = $('div:first', this);
        if (ul.length) {
            if (!ul[0].wid) ul[0].wid = ul.width();
            ul.css({
                width: 0,
                overflow: 'hidden'
            }).retarder(100, function (i) {
                i.css('visibility', 'visible').animate({
                    width: ul[0].wid
                },
                {
                    duration: 500,
                    complete: function () {
                        ul.css('overflow', 'visible')
                    }
                })
            })
        }
    },
    function () {
        var ul = $('div:first', this);
        if (ul.length) {
            var css = {
                visibility: 'hidden',
                width: ul[0].wid
            };
            ul.stop().retarder(1, function (i) {
                i.css(css)
            })
        }
    });
    var links = $('.menu>li>a, .menu>li>a span', '#menu').css({
        background: 'none'
    });
    $('#menu ul.menu').lavaLamp({
        speed: 600
    });
    if ($.browser.msie && $.browser.version.substr(0, 1) == '6') {
        $('ul a span', '#menu').css({
            color: 'rgb(255,255,255)'
        }).hover(function () {
            $(this).animate({
                color: 'rgb(7,179,225)'
            })
        },
        function () {
            $(this).animate({
                color: 'rgb(255,255,255)'
            })
        })
    } else {
        $('ul a span', '#menu').css({
            color: 'rgb(255,255,255)'
        }).hover(function () {
            $(this).animate({
                color: 'rgb(7,179,225)'
            },
            500)
        },
        function () {
            $(this).animate({
                color: 'rgb(255,255,255)'
            },
            200)
        })
    }
});



как видно функцией (по-моему тк не очень разбираюсь) закодировано сообщение идущее после нее (после return f.b(k, f.a(s))) всякими буквами-цифрами, что это за тип кодирования, как его расшифровать?

Последний раз редактировалось Joomler, 16.09.2010 в 14:24.
Ответить с цитированием
  #2 (permalink)  
Старый 16.09.2010, 14:46
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Joomler
как его расшифровать?
очевидно же, что его надо выполнить, как это делает браузер.
в простейших случаях достаточно заменить eval на alert, и он покажет исходный код, кторый собирался выполнить
Ответить с цитированием
  #3 (permalink)  
Старый 16.09.2010, 16:51
Новичок на форуме
Отправить личное сообщение для Joomler Посмотреть профиль Найти все сообщения от Joomler
 
Регистрация: 16.09.2010
Сообщений: 2

Спасибо сработало!!
заменил этим уже открытым кодом из алерта тот старый (всю функцию) и все работает!
и ведь читал до этого на других форумах, но тогда что-то не срабатывало... хм
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Просмотр фотографий (галерея) на javascript ПОМОГИТЕ СРОЧНО homme Элементы интерфейса 3 09.06.2010 11:38
Ищю javascript которые немогу найти...и есть такие вообще?...помогите найти... rashid86 Общие вопросы Javascript 4 08.03.2010 20:22
Помогите, пож, младенцу восстановить работоспобность JavaScript MishkaKosolapij Общие вопросы Javascript 4 16.08.2009 23:02
Помогите решить несколько мат. задач в javascript 4_omd Общие вопросы Javascript 5 02.05.2009 12:02