Сейчас на форуме: -Sanchez- (+8 невидимых) |
eXeL@B —› Основной форум —› Flash (swf). Декомпиляция, взлом |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
Посл.ответ | Сообщение |
|
Создано: 11 апреля 2011 15:04 · Поправил: 4kusNick · Личное сообщение · #1 Дружественные темы: Анализаторы: Декомпиляторы\редакторы: Работа с байткодом\тэгами: Автоматизированное снятие защит + уже упомянутые: ASV, FFDec, RABCDAsm mod и SWF Reader. Дапмеры\Распаковщики (для тех, кому лень Есть ещё обычный SWF Revealer, который входит в комплект ASV. Тоже весьма прокачанный распаковщик, работает по другому принципу. + уже упомянутые: SWF Reader, SWF iD. Разное За скомпилированный бинарь Другие местные обсуждения в области исследования Flash: Чтиво на тему Доки \ маны Debug-версии Flash Player - Они позволяют трейсить и отлаживать код (см. описание AS3Trace и AS3Verbose ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: uncleua, OKOB, SReg, res, ClockMan, Gideon Vi, sendersu, Oott, _ruzmaz_, FrenFolio, d0wn, SGA, Flint, Coderess, daFix, Runner, tracename, pollllll_n, Hexxx, DenCoder, Lumen, NikolayD, AKAB, ==DJ==[ZLO], Rustem, BAHEK, SyntaX, nick8606, UniSoft, Soso, sivorog, MarcElBichon, soho |
|
Создано: 23 октября 2013 15:12 · Личное сообщение · #2 SWFReader опенсорснулся. Бинарники последней PRO версии можно найти тут: А сорцы - тут: ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: Gideon Vi, LIZARD, t0ShA |
|
Создано: 25 октября 2013 22:15 · Поправил: JohnyDoe · Личное сообщение · #3 Ох уж эти Java-приложения. SWF-reader тоже почему-то тупит. Бодрячком прогресс дополз до 47 процентов и здрасьте все опять замерло. Это я испытывал снятие secureSWF. Может сама Java где-то косячит? Выжирает память или еще какая-нибудь фигня с ней? Для усложнения эксперимента скормил ридеру флешовый supaplex. Там все достаточно злобно в плане кода. И ведь не справляются ни ридер, ни ffdec. Прям беда... Попробовал не все опции при деобфускации включать. Файл на выходе на 10% больше стал. И это при том что оригинал не был сжат. Это прям шутка юмора какая-то. |
|
Создано: 26 октября 2013 00:47 · Личное сообщение · #4 Фигня в том, что оба этих приложения очень глючные сами по себе + ява тупит, если ей памяти недостаточно (надо настраивать в конфиге память для кучи и общую виртуальную память, по умолчанию там не всегда адекватные значения). Правда у меня хоть и настроено нормально всё в плане памяти - всё равно оба приложения так же тупят как и у тебя =\ Зато ASV работает нормально) ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: JohnyDoe |
|
Создано: 26 октября 2013 01:02 · Личное сообщение · #5 |
|
Создано: 27 октября 2013 04:39 · Поправил: Isaev · Личное сообщение · #6 |
|
Создано: 27 октября 2013 04:51 · Личное сообщение · #7 |
|
Создано: 27 октября 2013 06:49 · Личное сообщение · #8 |
|
Создано: 27 октября 2013 09:41 · Личное сообщение · #9 |
|
Создано: 27 октября 2013 10:13 · Личное сообщение · #10 |
|
Создано: 27 октября 2013 17:15 · Личное сообщение · #11 |
|
Создано: 29 октября 2013 12:04 · Поправил: JohnyDoe · Личное сообщение · #12 |
|
Создано: 02 декабря 2013 20:04 · Личное сообщение · #13 |
|
Создано: 09 декабря 2013 23:17 · Поправил: yagello · Личное сообщение · #14 Gideon Vi пишет: автор дает возможность пользоваться ключиделом переводя системное время. Это не автор дает, это MAZE накосячили. Если в ключеделе один байтик поправить, все будет работать без перевода даты. На руборде ужО есть исправленный ключедел. | Сообщение посчитали полезным: t0ShA |
|
Создано: 10 декабря 2013 04:24 · Личное сообщение · #15 |
|
Создано: 18 января 2014 23:35 · Личное сообщение · #16 |
|
Создано: 19 января 2014 04:42 · Личное сообщение · #17 |
|
Создано: 24 января 2014 19:56 · Поправил: Xlab0s · Личное сообщение · #18 правайдеры наёбывают со скоростью причём вместо 100мбит/с дают 4-5мбит/с и посылают сюда speedtest.net там всё что им надо показывают и тебя как лоха посылают ....... (хорошо видно по торрентам где много раздач я так обычно смотрел было 6мбайт/с при этом это в 2а раза меньше тарифа щас же 500кбайт/с причём стабильно) решил глянуть флешку теста скорости думал там всё просто выдрал флешь Amayeta SWFEncrypt OLD другой SecureSWF 3.6 и унпак несправился сами флешки ниже 30d9_24.01.2014_EXELAB.rU.tgz - swf.rar |
|
Создано: 24 января 2014 20:55 · Личное сообщение · #19 |
|
Создано: 14 марта 2014 19:09 · Личное сообщение · #20 Подскажите, а есть где-то вменяемый обзор формата с примерами (стихами и картинками), а не официальная спецификация? Т.е. в чём проблема. Мне хотелось бы узнать, как я могу вручную воспроизвести функционал декомпилятора. Т.е. как парсить теги, что такое вообще теги, как их патчить в файле вручную (хекс редактором). Ну откуда же люди знают, как писать декомпили? Где-то же берётся инфа о том, как это делается. Потом интересно, чем вообще можно создать флэшку для тестов? Ну, имеется ввиду что-то не очень большое. Также хотелось бы почитать про ручную деобфускацию байткода, про опкоды байткода, про интсрукции байткода. Сссылки в шапке смотрел, но там или просто готовые инструменты, или поверхностные статьи. В спецификации по формату тупо не вижу этой инфы, гугл даёт ссылки на слишком поверхностные статьи, прям печаль-беда. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 14 марта 2014 20:14 · Личное сообщение · #21 Вменяемей официальной спецификации ничего не найдёшь.Советую посмотреть любой исходный код SWF декомпилятора,там всё нагляднее.Например RABCDAsm.Я так и сделал. | Сообщение посчитали полезным: v00doo |
|
Создано: 14 марта 2014 23:45 · Личное сообщение · #22 ARCHANGEL пишет: Т.е. как парсить теги, что такое вообще теги, как их патчить в файле вручную (хекс редактором) Теги - по сути это байткодовые блоки. >как парсить теги Находим заголовок флешки - это файловая сигнатура FWS, версия плеера, размер файла, размер кадра, частота кадров, количество кадров. После заголовка идет первый тег. Читаем два байта после заголовка, у полученного значения сдвигаем 6 бит вправо и получаем ID тега, далее читаем следующие 4 байта - это размер тега. Передвигаемся в конец первого тега и читаем первые два байта второго тега, и т.д. пока не дойдем до нулевого - последнего тега. Вкратце как-то так, если ничего не забыл. >как их патчить в файле вручную (хекс редактором) Если после патча должен поменяться размер, то пропатчить не распарсив на теги будет сложно, ибо надо править размер тега, размер элемента, который изменяется(например строка) и размер файла. У 010 Editor есть темплейт SWFTemplate, который как раз парсит флешку, там же можно посмотреть алгоритм. |
|
Создано: 15 марта 2014 14:38 · Поправил: JohnyDoe · Личное сообщение · #23 RABCDAsm написан на языке D. C ним все не слишком просто. Но самое главное что в нем реализован только функционал работы с тэгами DoABC. Если хочется поковыряться, то лучше взять исходники swfdump из пакета swftools. Он написан на С. Код не то чтобы длинный . Также можно взять Sothink SWFEditor. В нем структура тоже вполне прилично разложена по полочкам. Eltima SWFDecompiler умеет делать дамп в котором шестнадуатиричные коды соседствуют с описанием того что эти коды значат. Тоже вариант. Описаний, кроме официальных от адоба, насколько я знаю нет. Опкоды менять в hex-редакторе уже не слишком модно. RABCDasm позволяет все делать проще. В нем можно и обфусцированный код лопатить руками, если очень хочется. Но это муторно. Я пробовал . |
|
Создано: 17 марта 2014 12:16 · Личное сообщение · #24 Распаковал флешку и обработал утилитой nowar_swf_decompiler.exe Только она сняла Amayeta SWF Encrypt. По ссылке флешка, распакованный вариант, деобфусцированный вариант. http://rghost.ru/private/53050868/f558009e1e79deb928abbed29815d9d9 4kusNick дал код нужной функции, но хотелось бы самому дойти до этого также. Если правильно понимаю - код замусорен и поэтому декомпилятор вылетает ( например, здесь об этом написано http://exelab.ru/f/action=vthread&forum=2&topic=12987&page=3#9 ). Как мне получить доступ к коду, чтобы его поправить перед декомпиляцией в сотнике? Практически только он обрабатывает третий фрейм, все остальные падают. Action Script Viewer (2010-03 Eng и 2010-06 Chinese - то что удалось найти) то же падает на третьем фрейме, хотя второй дизассемблирует. ffdec_2.0.0 справляется только со 2 фреймом. |
|
Создано: 17 марта 2014 14:07 · Поправил: 4kusNick · Личное сообщение · #25 ARCHANGEL LIZARD JohnyDoe По поводу сорцов декомпиля. Самые интересные сейчас на паблике - ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 17 марта 2014 15:07 · Личное сообщение · #26 |
|
Создано: 17 марта 2014 18:24 · Поправил: 4kusNick · Личное сообщение · #27 gegter пишет: Если правильно понимаю - код замусорен и поэтому декомпилятор вылетает Основная проблема там не замусоренность, а количество кода в одном DoAction тэге. FFDec вроде как пытается что-то сделать, но уж больно долго деобфусцирует, срабатывает таймаут (пробовал ждать минут 20) и съедает до 9 гигов оперативы (если принудительно выставить большой таймаут а advanced options). Как вариант - можно попробовать разнести код на несколько разных DoAction на одном кадре (FP их все равно склеит при выполнении, финкционал не пострадает), тогда возможно FFDec одолеет их по одному. ARCHANGEL пишет: Потом интересно, чем вообще можно создать флэшку для тестов? Есть несколько способов - какой-нибуль портабельный древний Adobe Flash Macromedia 8 Pro (53 мб), либо Flash Develop, сам он лёгкий, но для разработки надо будет выкачивать SDK (он сам выкачает), который немало весит. Третий вариант - юзать онлайн площадки-билдеры, типа http://wonderfl.net/ и выкачивать флэшки оттуда =) ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 17 марта 2014 18:47 · Личное сообщение · #28 |
|
Создано: 17 марта 2014 21:22 · Поправил: JohnyDoe · Личное сообщение · #29 ARCHANGEL Конец флешки - это конец флешки. Официально то что за тэгом END работать не будет. Но можно из скриптов обратиться к данным находяшимся за тэгом END и сделать с ними все что захочется. Таким образом один китайский протектор например работает. Ах, да. Насколько я помню тэг DoABC должен быть внутри определенного фрейма, т.е. до тэга showframe. |
|
Создано: 17 марта 2014 22:18 · Личное сообщение · #30 |
|
Создано: 18 марта 2014 01:39 · Личное сообщение · #31 ARCHANGEL JohnyDoe LIZARD Напомню, что речь о совсем разных тэгах. DoAction - это тэг с as2 байткодом (avm1), DoABC - это совсем другой тэг с as3 байткодом (avm2), они по-разному устроены и по-разноу работают. По поводу тэга END - выше все верно подсказали. Если он есть, FP отрабатывает только те тэги, что есть до него (если его нет - отрабатыват все до последнего тэга в файле). Но можно без проблем запихнуть что угодно после тэга END и обращаться к этому из кода. Примерно так работают "спёртые байты" (так будет проще понять людям, хорошо знакомым с классическим реверсом) в некоторых обфускаторах - закидывают в конец файла реальный байткод (иногда пошифрованный, иногда нет), оставляя на исходной позиции обращения к расшифровщикам \ считывалкам \ переносчикам байткода. Наиболее простой пример такой обфускации видел в какой-то древней версии Amayeta, и именно при накрывании as2. Забавно, что имена они не тёрли, так что для полного восстановления сорца в почти первозданном виде было достаточно восстановить "украденное" (делалось, к слову, как статически, самописной тулзой, ползающей по байткоду, так и динамически, трейсером), потому, кстати, Amayeta "прославилась" в определнных кругах, как мошенническая контора. Чет меня понесло ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: ARCHANGEL |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
eXeL@B —› Основной форум —› Flash (swf). Декомпиляция, взлом |