ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию Деобфусцируем вместе!

Есть такая ф-ция (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..
 
Ответить с цитированием

  #2  
Старый 22.12.2009, 04:34
Аватар для -=Static=-
-=Static=-
Участник форума
Регистрация: 12.11.2006
Сообщений: 213
Провел на форуме:
347573

Репутация: 185
По умолчанию

К сожалению эти хэши ввели не только для сообщений на стены, но и как минимум на приглашение в группы/встречи... У меня тоже скрипт сдох.
 
Ответить с цитированием

  #3  
Старый 22.12.2009, 16:21
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Даже без знания JS можно перекодировать функцию. Проверьте плиз на других входных данных: http://deadone.110mb.com/vk_hash.php

Задержка добавлена специально
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm

Последний раз редактировалось Gifts; 22.12.2009 в 16:24..
 
Ответить с цитированием

  #4  
Старый 22.12.2009, 16:32
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

ТС, тебе генератор хешей нужен?
 
Ответить с цитированием

  #5  
Старый 22.12.2009, 18:22
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Код:
sub decode_hash
{
  my $s = shift;
  
  $s =  substr($s, 4, 4) . substr($s, 0, 3) . substr($s, 9);
  $s =~ s/([m-z])/ord($1) - 109/ge;
  $s =  reverse $s;

  substr($s, 8, length($s) - 12) . substr($s, 0, 5);
}
Код:
<?php

function decode_hash($s)
{
  $m = array_combine(range('m', 'z'), range('0', '13'));

  $s = substr($s, 4, 4) . substr($s, 0, 3) . substr($s, 9);
  $s = strtr($s, $m);
  $s = strrev($s);
  
  return substr($s, 8, strlen($s) - 12) . substr($s, 0, 5);
}
Код:
// O_o

function decode_hash(s)
{
  s =
    (s.slice(4, 8) + s.slice(0, 3) + s.slice(9))
    .replace(/[m-z]/g, function(m)
    {
      return m.charCodeAt(0) - 109;
    }).split('').reverse().join('');

  return s.slice(8, -4) + s.slice(0, 5);
}

Последний раз редактировалось astrologer; 22.12.2009 в 23:39.. Причина: v2.0
 
Ответить с цитированием

  #6  
Старый 22.12.2009, 19:09
Аватар для stasik
stasik
Новичок
Регистрация: 06.08.2009
Сообщений: 17
Провел на форуме:
514669

Репутация: 5
По умолчанию

astrologer браво!!
жалко что гугл, если ввести в запрос исходный текст оригинальной функции, выдаёт этот топик на первом месте, сейчас каждый прилепит декодер, на любой язык программирования уже перевести не сложно

Последний раз редактировалось stasik; 22.12.2009 в 22:15..
 
Ответить с цитированием

  #7  
Старый 22.12.2009, 22:15
Аватар для stasik
stasik
Новичок
Регистрация: 06.08.2009
Сообщений: 17
Провел на форуме:
514669

Репутация: 5
По умолчанию

хотя нет, оригинальный яваскрипт возвращает другой хеш
 
Ответить с цитированием

  #8  
Старый 05.01.2010, 00:41
Аватар для maximmazurenkoo
maximmazurenkoo
Новичок
Регистрация: 03.01.2010
Сообщений: 2
Провел на форуме:
4001

Репутация: 0
По умолчанию

Угу контакт поменял кодер:

window.dec_hash = function(hash) {
(function(_){window.decoded_hashes[_]=(function(__){var ___=window[String.fromCharCode(103,101,116,88,89)]?'':'___';for(____=0;____<__.length;++____)___+=__ .charAt(__.length-____-1);return ___;})(_.substr(_.length-5)+_.substr(4,_.length-12));})(hash);

deadone.110mb.com/vk_hash.php - этот скрипт Работает неправильно Ошыбается в 34 символах
}
вот скрипт
Кто то может его перевести в PHP ??Ну очень надо...
 
Ответить с цитированием

  #9  
Старый 05.01.2010, 00:50
Аватар для Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

PHP код:
<?php
function decode($hash)
{
 
$hash substr($hashstrlen($hash)-5).substr($hash4strlen($hash)-12);
 for(
$i=0,$j=strlen($hash);$i<$j;$i++) $temp .= $hash[$j-$i-1];
 return 
$temp;
}
?>
 
Ответить с цитированием

  #10  
Старый 05.01.2010, 01:41
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Или так:
PHP код:
function vk_hash($str)
{
    
$str substr($str,-5).substr($str,4,-8);
    return 
strrev($str);

__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Материнские платы Intel будут продаваться вместе с Eset NOD32 [BES] Мировые новости 5 24.09.2009 23:09
В Firefox нашли больше уязвимостей, чем в IE, Safari и Opera вместе взятых WAR!9G Мировые новости 19 07.03.2009 22:56
Вместе мы сила! Вместе мы СПлоА! СПлоА Болталка 110 10.12.2007 22:14
Людей всё чаще хоронят вместе с мобильными телефонами novichok Новости мира "железа" 18 17.02.2007 19:56



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ