Сейчас на форуме: site-pro, Rio, johnniewalker, vsv1 (+5 невидимых) |
eXeL@B —› Крэки, обсуждения —› Decrypt SWF, подверженный обфускации Amayeta SWF Encrypt |
<< . 1 . 2 . 3 . 4 . |
Посл.ответ | Сообщение |
|
Создано: 08 октября 2008 17:40 · Поправил: root-master · Личное сообщение · #1 Доброго времени суток! Я работаю над проектом, задачей которого является получение live статистики матчей на одном из серверов (http://www.atptennis.com/; флешка по адресу http://www.protennislive.com/frameset.asp?year=2008&wkno=39&lang=en&ta bno=1&eventid=M015&ref=www.atptennis.com) по определенным запросам. Проблема заключается в том, что данные с каких-то пор начали шифроваться (раньше они приходили в открытых xml-файлах). Этот вопрос поднимался на cracklab.ru http://www.exelab.ru/f/action=vthread&forum=5&topic=10317 Однако достучаться до человека, который вроде бы нашел алго, не получилось (его ник TamTam). Флешка есть в наличии, но не знаю, как к ней подступиться, чтобы хоть начать копать в нужном направлении на разрешение данного витка вопроса. Проблемы сл характера: SWF подвержен обфускации однозначно. Предположительно Amayeta SWF Encrypt. Попытка решения данного вопроса : - Пробовал пропускать флешку через SWF Protect Remover, но не помогло, только размер вырос. - В сети нашлось пару тем по защитам ActionScript в swf. http://www.woodmann.com/forum/showthread.php?t=11720 http://www.w oodmann.com/forum/showthread.php?t=10300 Однако те методы, которые использовались для снятия защиты уже порядком устарели, либо используется какая-то доп защита. Как следствие, Action Script-ы абсолютно нечитабельны. Среди констант нашлось что-то наподобие используемого словаря для шифрования входящего сообщения. Это было замечено ещё TamTam-ом. 1234567890ABCDEFGHIJKLMNOPQRTSUVWXYZabcdefghijklmnopqrstuvwxyz.,/?!@$% ^&*()_+-=:;~{}<> Пробовал ксорить : alph := '1234567890ABCDEFGHIJKLMNOPQRTSUVWXYZabcdefghijklmnopqrstuvwxyz.,/?!@$ % ^&*()_+-=:;~{}<>'; function GetIndSymb(ch: char): integer; var i: integer; begin for i:=1 to length(alph) do if alph[i] = ch then begin Result := i; Exit; end; end; function XorAlg(s: string): string; var CurIndEl: integer; begin for CurIndEl:=1 to length(s) do begin s[CurIndEl]:=chr(ord(s[CurIndEl]) xor byte(GetIndSymb(s[CurIndEl]))); end; Result := s; end; Однако тоже ничего не вышло. Все попытки вычислений позиций в словаре, побитовые умножения, сложения - ничего толком не дали. Вообще ничего. Запустить каким-либо образом виртуальную машину, чтобы перед тем, как, по идее, выполнялся бы байт-код по распаковки полученных шифр. данных от сервера, тоже понятия не имею Как. Сегодня на утро пришла несовсем здравая мысль конвертировать .swf в .exe - и пропустить через дебагер, однако как и предполагалось раньше, конвертер, судя по всему, создает лишь оболочку для запуска флешки, ни больше, ни меньше. Флешка в приложении (компрессор снял). Может как вариант закачивать эту статистику с др серверов, правда, опять же, насколько я знаю, бесплатным и быстрым, как этот сервер по получению статистики теннисных матчей, нету. Ещё раз напоследок хочу выделить возможные варианты решения проблемы: 1. Попробывать снять обфускацию с флешки 2. Найти подход к запуску виртуальной машины и начать исследовать 3. Пробовать известные алгоритмы шифрации информации и применять их к данной задаче, с учетом того, что предположительные данные, которые можно получить в результате, имеются в наличии. -- AQH18 :+M72JDN"eYV"Ybfp6682_DC8h<uI< 18.>Ou{l"aiy," H%288;5>46"z/xb" P@~LAFCk"p." +JqT"," F6l"hiUhvux" NGKg"Hqws.?Ttse,cqnvhos" ;O1V"tfczJnnhqeUathq.tY"Iv Предположительно начало файла расшифровывается в последовательность: <?xml version="1.0"?><MatchList_Live eventId=" -- Прошу, если кто может помочь в данном вопросе, или хотя бы наставить на истинный путь был бы оч признателен. Я писал модерам данного форума, но, видимо, сообщения не были доставлены до них в силу ранга моего аккаунта. Прошу, если есть возможность связаться с человеком TamTam, отписать в личку. 1024_08.10.2008_CRACKLAB.rU.tgz - de.swf |
|
Создано: 12 мая 2012 23:43 · Личное сообщение · #2 |
|
Создано: 12 мая 2012 23:57 · Личное сообщение · #3 |
|
Создано: 13 мая 2012 00:31 · Личное сообщение · #4 |
|
Создано: 14 мая 2012 06:20 · Личное сообщение · #5 |
|
Создано: 16 мая 2012 18:38 · Личное сообщение · #6 |
|
Создано: 16 мая 2012 22:54 · Личное сообщение · #7 |
|
Создано: 16 мая 2012 23:03 · Личное сообщение · #8 |
|
Создано: 17 мая 2012 00:17 · Поправил: JohnyDoe · Личное сообщение · #9 Мусор это код который никогда не выполнится, но он дурным дизассемблерам выносит мозг. Код весь замусорен. Надо искать лишнее и удалять. Например следующий код абсолютно бесполезен. Code:
или Code:
Все такие включения надо удалить. И надо бы еще переменные переименовать в нормальный вид. Некоторые из них переименованы во всякую непотребщину. Посмотрите тему про flash. Там есть инструменты. rabcd похоже не поможет из-за имен переменных. Но flash скальпель поможет. Если что могу помочь, не за бесплатно. Бесплатно никто делать не будет. Там работы дофига. К тому же чужую работу стырить пытаетесь. Уж не знаю для каких целей. P.S. не знаю обращались ли к 4kusNick'у. Он вроде первый предлагал к нему обращаться. |
|
Создано: 17 мая 2012 00:23 · Личное сообщение · #10 JohnyDoe пишет: Все такие включения надо удалить. И надо бы еще переменные переименовать в нормальный вид. Некоторые из них переименованы во всякую непотребщину. Посмотрите тему про flash. Там есть инструменты. rabcd похоже не поможет из-за имен переменных. Но flash скальпель поможет. Если что могу помочь, не за бесплатно. Бесплатно никто делать не будет. Там работы дофига. P.S. не знаю обращались ли к 4kusNick'у. Он вроде первый предлагал к нему обращаться. До него сообщения в личку не доходили. Назовите цену в личку. Я прекрасно понимаю, что человеческий труд стоит денег |
|
Создано: 17 мая 2012 00:50 · Поправил: JohnyDoe · Личное сообщение · #11 Здесь не принято обсуждать коммерческие стороны в темах для этого непредназначенных. Переходим к общению через личку. Можете оставить свое предложение в специальной теме, на случай если мы с вами не сможем договориться. Самое прикольное что даже AS3Sorcerer не всегда правильно код декомпилирует. Например может цикл do .. while декомпилировать как просто while и вы потом будете долго репу чесать что что не так в декомпилированном коде. Всякие софинки вообще в if декомпилируют . |
|
Создано: 04 ноября 2012 17:58 · Личное сообщение · #12 |
<< . 1 . 2 . 3 . 4 . |
eXeL@B —› Крэки, обсуждения —› Decrypt SWF, подверженный обфускации Amayeta SWF Encrypt |