Сейчас на форуме: -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 |
|
Создано: 20 октября 2015 12:02 · Личное сообщение · #2 |
|
Создано: 20 октября 2015 14:08 · Личное сообщение · #3 Ну так и почитайте что мы советовали Isaev. Там упоминались разные инструменты, которые вам могут пригодиться. Проверьте сперва что вообще грузится, потом найдите жертву и работайте с ней - маппите через чарли или подменяйте вручную, если я вообще правильно понял что вам нужно. Если не понятно как что-то конкретное сделать - спрашивайте, пока я с трудом понимаю вашу задачу и конечную цель и на чём именно вы застряли. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 20 октября 2015 14:16 · Поправил: soho · Личное сообщение · #4 |
|
Создано: 02 декабря 2015 13:36 · Личное сообщение · #5 Зашел посмотреть, что там нового в JPEXS Free Flash Decompiler. Оказалось отладчик флеша в нем появился. Сам не пользовался, но кто-то вроде интересовался. | Сообщение посчитали полезным: DenCoder |
|
Создано: 02 декабря 2015 21:39 · Личное сообщение · #6 |
|
Создано: 02 декабря 2015 22:15 · Личное сообщение · #7 |
|
Создано: 06 января 2016 12:14 · Поправил: ClockMan · Личное сообщение · #8 Вопрос знатокам байт кода AS3 имеем такой код Code:
Его байт код Code:
при замене Code:
на Code:
флешь вылетает с ошибкой но если занопить часть кода то флешь работает нормально Ещё вопрос есть инфа по опкодам AS3? ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 06 января 2016 14:31 · Поправил: 4kusNick · Личное сообщение · #9 ClockMan Инфу по опкодам можно в офмане для avm2 посмотреть: pushbyte в частности принимает аргумент - какой именно байт пушить pushbyte 1 напр. ClockMan пишет: от меняя тебе ашь две благодарности ы ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: ClockMan |
|
Создано: 06 января 2016 15:59 · Поправил: ClockMan · Личное сообщение · #10 4kusNick пишет: Инфу по опкодам можно в офмане для avm2 посмотреть: --> Link <-- Спасибо решил по изучать AS3 ))) Разобрался Нужно было писать так(меняю в чужой флешке байт код) Code:
P.S от меняя тебе ашь две благодарности ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. | Сообщение посчитали полезным: 4kusNick |
|
Создано: 06 января 2016 17:51 · Личное сообщение · #11 |
|
Создано: 06 января 2016 18:23 · Личное сообщение · #12 |
|
Создано: 06 января 2016 19:38 · Личное сообщение · #13 4kusNick предпочитаю исключительно rabcdasm использовать. В этом случае для меня результат получается гарантированно предсказуемым. Однажды пришлось "оперировать" флешку в которую влезли не очень умелые руки, вооруженные FFDec'ом. Было интересно покопаться, но для простого любителя поковыряться в флеше все закончилось бы отправкой в морг. В смысле флешки . Были нарушены всего пара значений на бинарном уровне в DoABC блоке, но этого достаточно, чтобы испортить его и больше никогда не восстановить. Инструментов ведь для хирургического вмешательства не существует. Любые декомпиляторы просто падают без каких-либо предупреждений в таком случае. Честно говоря, я даже не знаю как такое с флешкой могло произойти. Но вызов меня порадовал |
|
Создано: 06 января 2016 21:41 · Поправил: 4kusNick · Личное сообщение · #14 JohnyDoe Раньше тоже использовал исключительно RABCDAsm, в том числе твою суперскую тулзу, которая автоматизирует всю рутину, т.к. других надёжных инструментов просто не было, FFDec тогда в большинстве случаев запарывал либо структуру, либо байткод, либо что-нибудь ещё. Сейчас же FFDec'ом пользуюсь чаще, т.к. большинство таких багов уже поправили и в нём значительно быстрее процесс проходит, особенно если надо переписать большие объёмы. Ну и встроенный отладчик иногда полезен бывает. Конечно, он и сейчас может запороть флэшку, особенно если она обфусцирована, потому сперва пробую им, а если вижу ошибки в консоли или если на выходе получается нерабочий файл - достаю с полки rabcdasm. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 07 января 2016 02:02 · Поправил: ClockMan · Личное сообщение · #15 JohnyDoe пишет: В hex-редакторе меняешь? Так уже никто не делает Мне много и не надо поменять пару байт,вообще я только начил изучать эти дебри)))))))) Ещё вопрос по структуре флешек может скинете мануал по структуре SWF файлов? Всё нашёл ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 07 января 2016 09:19 · Поправил: JohnyDoe · Личное сообщение · #16 Структуру флешек можно детально изучить поигравшись со SWIX, Sothink SWF Editor. Eltima Flash Decompiler также может сдампить структуру флешки. Там все наглядно. SWF Editor при этом подсвечивает шестнадцатиричные данные связанные с теми или иными значениями. Правда часто значения упакованы и поэтому нельзя точно понять каким образом значение хранится внутри файла. SWIX умеет пересобирать флешку обратно. Но не стоит его использовать для пересборки. Файл может быть испорчен. У меня были проблемы со звуками после пересборки. 4kusNick Надо будет попробовать FFDec в деле. Я его пробовал использовать только для деобфускации, но безуспешно. Потому и забил на него. |
|
Создано: 10 января 2016 12:03 · Личное сообщение · #17 |
|
Создано: 10 января 2016 14:46 · Личное сообщение · #18 |
|
Создано: 10 января 2016 16:32 · Поправил: manco · Личное сообщение · #19 Есть exe обертка + swf (на флексе). Отдельно запустить swf в браузере или отладочной версии флэшплеера не получается. Снял дамп флэшки, подправил нужные байты - все работает как надо, но вместо патча файла, хотелось бы сделать лоадер, который патчит флэш в памяти. Лоадеры, которыми я пробовал это делать (dup, uppp) не помогли. Вот собственно и спрашиваю. И попутно, как подцепить отладчик (типа монстердебагер) к флэшке, которая запускается со своей флэшбиблиотекой, а не системной? правка mm.cfg не помогла. |
|
Создано: 10 января 2016 17:41 · Личное сообщение · #20 Готовых инструментов для таких задач я не видел, возможно придется кодить - ловить swf после чтения с диска но до съедения проигрывателем и патчить. Ещё можно попробовать пропатчить swf в памяти уже после того как проигрыватель его прогрузит, но тут могут быть неожиданные неприятности. По поводу отладчиков по типу монстрдебаггер и т.п. - если своя флэш-либа стандартная, то посмотреть отладочная или нет, если нет, попробовать заменить на отладочную, релизная вроде бы в mm.cfg не смотрит или не всё оттуда прорабатывает. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 09 февраля 2016 23:31 · Поправил: -=AkaBOSS=- · Личное сообщение · #21 RABCDAsm v1.18 (2016.01.16) --------------------------- * Fix disassembly of `pushbyte` instructions (the AVM specification incorrectly lists the argument as unsigned). * Bump `#version` directive of new disassemblies to 4: - Versions below 4 treat `pushbyte` as unsigned, and throw an exception if the argument is outside the range `0` ... `255`. - Versions 4 and above treat `pushbyte` as signed, and throw an exception if the argument is outside the range `-128` ... `127`. * Fix buffer reuse bugs when using macros * Dump floating-point numbers in hex notation if necessary to ensure precision * Cease emitting a number in a comment after opening `script` tags * Detect a known DMD bug in `build_rabcdasm` * Ignore invalid file size in header | Сообщение посчитали полезным: 4kusNick, tracename |
|
Создано: 19 февраля 2016 10:08 · Поправил: 4kusNick · Личное сообщение · #22 FFDec 8.0 Обновился неплохо так - теперь можно отлаживать на уровне p-кода и они наконец занялись деобфускацией - проверил на нескольких семплах, которые раньше FFDec не мог осилить - все декомпильнулось отлично. Code:
----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: nick8606, ClockMan, -=AkaBOSS=-, t0ShA, tracename |
|
Создано: 14 августа 2016 15:34 · Личное сообщение · #23 JPEXS Free Flash Decompiler (FFDec) 9.0.0 Code:
| Сообщение посчитали полезным: nick8606, -=AkaBOSS=- |
|
Создано: 11 сентября 2016 17:54 · Личное сообщение · #24 Добрый вечер подскажите есть ли программа для редактирования swf файлов с функцией импорта скриптов обратно Это программа https://www.free-decompiler.com/flash/download/ позволяет лишь экспортировать из файла скрипты в формате as вот скрин https://cloud.mail.ru/public/GLSy/q59Vs3ojw А вот что б обратно его засунуть я такого не нашел увы ) Ну то есть я экспортировал все скрипты из файла swf на компьютер отредактировал их и хочу обратно засунуть их в этот файл swf Возможно ли такое ? |
|
Создано: 12 сентября 2016 00:12 · Личное сообщение · #25 для несложных патчей FFDec предлагает возможность править сам код но у меня чёт постоянно косяки с пространствами имён там вылазили (еще в версии 8, новые не тестил) можно еще конешн разбирать всё до уровня исходников и молиться чтобы успешно пересобралось но надёжнее всего - учить байткод и править его RABCDasm'ом |
|
Создано: 28 сентября 2016 13:39 · Личное сообщение · #26 при вопроса к знатокам 1) есть такой кусок кода public static function decrypt(cipher:ByteArray, password:String) : ByteArray { ... var array2:* = new ByteArray(); array2.writeUTFBytes(password); array2.writeBytes(cipher, 0, 16); ... вопрос: перетирается ли в array2 часть пароля password, или (cipher, 0, 16) дописывается в его конец? 2) в выражении tmp2 = tmp2 + array3[index1] + _MD5_digest.charCodeAt(index1 % _MD5_digest.length) & 255; маскироваться будет вся сумма tmp2 + array3[index1] + _MD5_digest.charCodeAt(index1 % _MD5_digest.length) или только последнее слагаемое _MD5_digest.charCodeAt(index1 % _MD5_digest.length)? 3) вышеупомянутый декрипт применяется к байткоду перед загрузкой var loader:* = new Loader(); var cipher:* = Run_main; var plain:* = decrypt(ByteArray(new cipher), password); loader.loadBytes(plain); вопрос: как в файле найти начало Run_main? ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 28 сентября 2016 15:23 · Личное сообщение · #27 OKOB пишет: вопрос: перетирается ли в array2 часть пароля password, или (cipher, 0, 16) дописывается в его конец? перетирается, т.к. пишут 16 байт с 0 оффсета (с начала массива). OKOB пишет: маскироваться будет вся сумма tmp2 + array3[index1] + _MD5_digest.charCodeAt(index1 % _MD5_digest.length) или только последнее слагаемое _MD5_digest.charCodeAt(index1 % _MD5_digest.length)? Побитовое & выполнится после сложений (к сумме). OKOB пишет: вопрос: как в файле найти начало Run_main? Судя по всему это просто массив байт, тэг DefineBinaryData, его легко найти с помощью того же FFDec, в разделе binaryData. Там должен быть ваш тэг с именем символа Run_main. Там и offset посмотреть можно (начало массива в файле), да и сам массив выдрать. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: OKOB |
|
Создано: 28 сентября 2016 17:14 · Поправил: OKOB · Личное сообщение · #28 собрали такой сэмпл package { import flash.display.Sprite; import flash.utils.ByteArray; import flash.utils.*; import flash.text.TextField; public class FlashTest extends Sprite { public function FlashTest() { var newBytes:ByteArray = new ByteArray(); var fData:ByteArray = new ByteArray(); fData.writeUTFBytes("Hello World!"); newBytes.writeUTFBytes("xxxxxxxxxxxxx"); newBytes.writeBytes(fData, 2, 7); var field:TextField=new TextField(); field.text=newBytes.toString(); addChild(field); } } } в результате получили "xxxxxxxxxxxxxllo Wor", что означает, что не перетирает ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 28 сентября 2016 18:28 · Личное сообщение · #29 |
|
Создано: 30 сентября 2016 08:57 · Личное сообщение · #30 Почистил бы кто шапку топика до актуального состояния, а то понадобилось в кои веки поковырять флэш, а ссылки все на которые ходил битые, что на офсайты инструментов, что на обменники, что на топики по форуму. Примеры: ссылка в топе на который ведет RABCDAsm mod - очередная редакция дизассемблера от местного обывателя, JohnyDoe, на этот раз с автоматической деобфускацией имён и некоторой чисткой от мусора; ссыла на офсайт SWF Decrypt - снимает старые версии Amayeta SWF Encrypt и DComSoft SWF Protector... Про моего подопытного SWFiD сказал, что secureSWF v.4.0 (kindi.com). Чем кроме sulo можно помочь себе? ----- 127.0.0.1, sweet 127.0.0.1 |
|
Создано: 30 сентября 2016 12:13 · Поправил: 4kusNick · Личное сообщение · #31 OKOB пишет: Почистил бы кто шапку топика до актуального состояния Освежил OKOB пишет: Чем кроме sulo можно помочь себе? Попробуйте ASV, или кидайте файл мне через личку, я прогоню через него. Если нужен только код, то AS3 Sorcerer (от автора ASV) тоже должен сработать. FFDec тоже в последних версиях научился кое-как его деобфусцировать, но подробно не тестил, надо смотреть, может и справится. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
eXeL@B —› Основной форум —› Flash (swf). Декомпиляция, взлом |