Показать сообщение отдельно

Деобфусцируем вместе!
  #1  
Старый 21.12.2009, 23:49
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами: 9410786

Репутация: 2731


По умолчанию Деобфусцируем вместе!

Есть такая ф-ция (javascript):
Код:
window.decode_hash = function(hash) {
  return (function(__){return _(__,8,_____(__)-12)+_(__,0,5);})((function(__){____='';for(___=0;___<_____(__);++___)____+=______(__,_____(__)-___-1);return ____;})((function(__){____='';for(___=0;___<_____(__);++___)____+=(function(__){return __>108?(__-109):String.fromCharCode(__);})(__.charCodeAt(___));return ____;})((function(__){______=function(__,___){return __.charAt(___);};_____=function(__){return __.length;};____=(_=function(_,__,___){____='';(___=___?___:(_____(_)-__));for(;___;--___)____+=(function(_,__){return ______(_,__)})(_,__++);return ____;})(__,4,4);____+=_(__,0,3)+_(__,9);return ____;})(hash))));
}
Её использование:

Код:
window.wall_post_hash = decode_hash('usbseansqcopnfptrdursbqsrtvaoamrcrbaenquv');
Код:
window.wall_post_hash
будет равно
Код:
c50a2a97564b658d573f132cb689841e
Я с JS не очень дружу, но походу там связано что-то с подстроками и CHAR-символами....

Я привел код в удобочитаемый вид, но это мало чем помогло:

Код:
window.decode_hash = function(hash) {
    return (function(first) {
        return second(first, 8, third(first) - 12) + second(first, 0, 5);
    })
((
function(first)
 {
        fourth = '';
        for (fifth = 0; fifth < third(first);++fifth)
            fourth += sixth(first, third(first) - fifth - 1);
        return fourth;
    }
)((
function(first)
 {
        fourth = '';
        for (fifth = 0; fifth < third(first);++fifth)
            fourth += (function(first) {
            return first > 108 ? (first - 109) : String.fromCharCode(first);
        })(first.charCodeAt(fifth));
        return fourth;
    }
)((
function(first) {
        sixth = function(first, fifth) {
            return first.charAt(fifth);
        };
        third = function(first) {
            return first.length;
        };
        fourth = (second = function(second, first, fifth) {
            fourth = ''; (fifth = fifth ? fifth: (third(second) - first));
            for (; fifth;--fifth)
                fourth += (function(second, first) {
                return sixth(second, first)
                })(second, first++);
            return fourth;
        })(first, 4, 4);
        fourth += second(first, 0, 3) + second(first, 9);
        return fourth;
    }
)(hash))));
}
PS: Мне нужен имено алгоритм деобфускации. Точнее не мне, а многим юзерам (спаммерам) соц. сети ВКонтакте

Спасибо заранее...

PS2: Если кому интерестно предназначение - расскажу... Для того, чтобы отослать сообщение на стену ВКонтакте, необходим некий decode_hash. Раньше там было просто:
Код:
decode_hash = c50a2a97564b658d573f132cb689841e
Но потом они намудрили-начудили ф-цию, которая декодирует (деобфусцирует) специальный набор символов, получая при этом хеш. Если отправлять сообщение вручную - все ок, т.к. JS выполняется, НО в связи с тем, что спаммеры работают по принципу регулярок - вытащил, отправил... все они перестали работать, даже тот, который я за 250$ взял...

Последний раз редактировалось mailbrush; 21.12.2009 в 23:55..
 
Ответить с цитированием