Сейчас на форуме: -Sanchez- (+8 невидимых)

 eXeL@B —› Основной форум —› Flash (swf). Декомпиляция, взлом
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
Посл.ответ Сообщение


Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 11 апреля 2011 15:04 · Поправил: 4kusNick
· Личное сообщение · #1

Дружественные темы: Взлом .net, Java. Взлом и реверсинг, Взлом Android приложений, Unity3D.

Анализаторы:
SWF iD - первый и единственный анализатор для SWF, позволяет выяснить чем накрыта флэшка, имеет встроенный дампер флэшек с отсевом фэйков.

Декомпиляторы\редакторы:
Action Script Viewer (ASV) - лучшее, что есть для работы с обфусцированными swf (ru-board).
AS3 Sorcerer - только код, только as3 (от автора ASV) (ru-board).
JPEXS Free Flash Decompiler (FFDec) - декомпилятор и редактор байткода; есть автоматическая деобфускация (слабенькая), редактирование кода (именно кода!), сохранение в fla, пакетное переименование.
SWiX - редактор swf в виде xml.
Sothink SWF Decompiler (ru-board).
Eltima Flash Decompiler Trillix (ru-board).
SWFWire Inspector - отличная утилитка на AIR, которая позволяет ползать по структуре swf, декомпилировать код и т.д.
Adobe SWF Investigator - аналог SWFWire от Adobe, по некоторому функционалу интереснее.

Работа с байткодом\тэгами:
RABCDAsm - асм/дизасм байткода, опенсорс (as3).
Редактор на базе RABCDAsm - удобный редактор с подсветкой и сворачиванием блоков.
WinRABCDAsm - ещё один GUI для RABCDAsm, на этот раз более практичный - можно использовать с любой версией RABCDAsm.
RABCDAsm mod - удобная редакция RABCDasm от местного обывателя JohnyDoe, позволяет разбирать\собирать swf простым перетаскиванием на основной exe, с автоматической деобфускацией имён и некоторой чисткой от мусора.
SWF Reader - позволяет править все тэги и данные в swf, содержит декрипторы\депротекторы, разработка прекращена.
FlashHacker - инструмент на основе RABCDAsm для работы с байткодом, сделан для исследователей малвари.

Автоматизированное снятие защит
SWF Decrypt - снимает старые версии Amayeta SWF Encrypt и DComSoft SWF Protector (офсайт сдох).
+ уже упомянутые: ASV, FFDec, RABCDAsm mod и SWF Reader.

Дапмеры\Распаковщики (для тех, кому лень руками)
SWF Revealer Ultimate - самый продвинутый из автоматических инструментов данного типа, вытащит все, что проиграется в локальном проигрывателе. Платный, количество лицензий ограничено.
Есть ещё обычный SWF Revealer, который входит в комплект ASV. Тоже весьма прокачанный распаковщик, работает по другому принципу.
SWF Memory Dumper - бесплатный и простой дампер.
Sothink SWF Catcher - умеет вытаскивать swfки из кэшей браузеров и искать их в памяти процессов (ru-board).
+ уже упомянутые: SWF Reader, SWF iD.

Разное
Sulo - дополнение к Intel Pin kit. Может трейсить инструкции (пример), дампить всё что загружается с помощью loader.loadBytes() и расшифровывать SecureSWF строки.
За скомпилированный бинарь 1 спасибо JohnyDoe, еще компилил OKOB, но ссылка сдохла.

Другие местные обсуждения в области исследования Flash:
Decrypt SWF, подверженный обфускации Amayeta SWF Encrypt
Вытащить swf из exe (Camtasia Studio)
Реверсинг Adobe Flash Player
Формат данных флэш-вьювера "Электронной библиотеки" РНБ
DoSWF - professional flash encrypter
Реверсинг Флэша, поменять размер массива
Новый метод защиты swf
Реверсинг flash(action script)
www.teachshop.ru - Обновленная защита
Разбор флешки - о том, как находить и вытаскивать включённые в swf файлы с двоичными данными

Чтиво на тему
Способы "защиты" flash-приложений
Упакованный SWF. Как распаковать?
Продвинутое шифрование в DoSWF? Вызов принят!

Доки \ маны
AVM2 Overview - описание вирт. машины для as3 с опкодами и проч.
SWF File Format Specification - спецификация формата swf (строение, расположение тэгов и проч.).

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


Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 07 марта 2015 04:37
· Личное сообщение · #2

Isaev
Не сталкивался с таким... Надо попробовать через http открыть если есть возможность, либо насильно поставить сертификат.

Ещё можно руками в кеше подменять по описанной выше схеме, я в IE успешно подменял правда, в опере не пробовал.

И ещё есть вариант с прокси FFDec'а, но я не уверен работают ли они с https.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 07 марта 2015 05:26
· Личное сообщение · #3

4kusNick пишет:
http открыть если есть возможность

Практически на всех серверах принудительно устанавливается защищенное соединение.
Как минимум нужно сделать это:

т.е. включить SSL проксирование + добавить необходимые домены (хост+порт), которые используют защищенное соединение.

-----
TEST YOUR MIGHT


| Сообщение посчитали полезным: Isaev

Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

Создано: 07 марта 2015 09:33
· Личное сообщение · #4

Isaev

Надо добавить сертификат чарли в список доверенных сертификатов в браузере.

http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

| Сообщение посчитали полезным: Isaev


Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 07 марта 2015 14:31 · Поправил: Isaev
· Личное сообщение · #5

Заработало), но крешится в конце загрузки
http://i.imgur.com/p8IvwTK.png

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

Создано: 07 марта 2015 16:29
· Личное сообщение · #6

Isaev

Для начала попробуй оригинальную флешку подсунуть, вместо исправленной. Надо хотя бы понять работает маппинг или нет.

Далее нежно класс смотреть, на который плеер ругается и разбираться почему не найден необходимый объект. На самом деле, если ошибка не приводит к неработоспособности приложения, ее можно пропустить.

Уверен что твоя флешка той же версии, что и на сервере? А то ведь уже могли быть внесены изменения. Или например флешку обфусцировали и твоя флешка обращается не к тому свойству.



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 07 марта 2015 19:48
· Личное сообщение · #7

JohnyDoe
Флешка вообще может грузиться с другого сервака прелоадером, а путь к ней парсится из txt/html документа какого-нибудь, как это можно реализовать в VK Api, тогда никакой маппинг вам не поможет.Хотя..

-----
TEST YOUR MIGHT





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 07 марта 2015 20:45
· Личное сообщение · #8

JohnyDoe
нет с оригиналом тоже не проходит
unknownproject
да там этих прелоадеров куча, уже что только не пробовал мэпить

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 07 марта 2015 21:12
· Личное сообщение · #9

Isaev
Попробуй заюзать прокси в FFDec тогда или подменить в браузерном кэше (самый "прямой" и надёжный способ, если не используется анти-кэш).
Ещё оно после этой ошибки точно крашится? Во флэшках зачастую бывает куча ошибок, которые видны только в отладочном проигрывателе и которые никак не сказываются на работоспосоности в конечном итоге...

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 07 марта 2015 23:04
· Личное сообщение · #10

4kusNick пишет:
или подменить в браузерном кэше (самый "прямой" и надёжный способ, если не используется анти-кэш).

пожменить в чём ещё можно? JohnyDoe писал про старые оперы, в ней не работает флешка, опера падает при загрузке, а в новой нет кнопки "применить изменения". в других браузерах это как делается?
4kusNick пишет:
Ещё оно после этой ошибки точно крашится?

она появляется и всё висит, нет возможности нажать кнопку пока процесс не убьёшь
FFDec пока не пробовал

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

Создано: 08 марта 2015 12:27 · Поправил: JohnyDoe
· Личное сообщение · #11

Ну, я не знаю. Только что сделал то, что ты пытаешься сделать, чтобы проверить как все сработает. Никаких проблем не возникло. Клавишу открытия игровой консоли сменил и массив скинул в лог.

Игра встроена через iframe, грузится через wrapper.swf. Флешка получает параметры через строку адреса. Все сработало без каких-либо проблем.

Подменял main.swf.






Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 08 марта 2015 18:25
· Личное сообщение · #12

Isaev пишет:
пожменить в чём ещё можно?

В IE например. Кэш у него лежит в открытом виде, просто почисть перед тем как загружать игру, затем после загрузки глянь какие swf там появились и без труда найдёшь свой главный swf.

Isaev пишет:
она появляется и всё висит, нет возможности нажать кнопку пока процесс не убьёшь

Это на баг FP или лисы похоже, попробуй поставить последнюю версию FF и последнюю FP. Если всё и так последнее - попробуй поставить FP постарее, 14й там какой-нибудь например.

JohnyDoe
ЧИТД

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 09 марта 2015 15:49 · Поправил: Isaev
· Личное сообщение · #13

JohnyDoe пишет:
Только что сделал то, что ты пытаешься сделать, чтобы проверить как все сработает.

я и не сомневался в твоих способностях)
ты ещё в vk попробуй и я вообще разочаруюсь...
Вроде всё по шагам уже не раз прошёл сначала.
Или я что-то упускаю или в vk какая-то особенность есть в работе врапперов. Пойду пробовать на майле пока.

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

Создано: 09 марта 2015 19:01
· Личное сообщение · #14

к сожалению я больше не знаю чем помочь. Меня только смущает ошибка, которая у тебя вылезает. Обычно ошибки связаны с NullReference, а у тебя плеер ругается на то, что поле wrapper вообще не существует в объекте.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 21 марта 2015 14:26
· Личное сообщение · #15

вопросик ещё такой... когда флеш работает, можно программкой найти его в памяти и посмотреть нужные данные самому программно? может кто делал что подобное?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 21 марта 2015 22:10
· Личное сообщение · #16

Isaev
Не совсем понятно какие "нужные данные", все сильно зависит от того что именно нужно посмотреть.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 22 марта 2015 01:42 · Поправил: Isaev
· Личное сообщение · #17

4kusNick пишет:
все сильно зависит от того что именно нужно посмотреть.

помелочам... байт, слово, строку, значение какой-то переменной, которая постоянно меняется в процессе работы игры... Интересен общий принцип
через трейс всё работает, но не удобно пользоваться

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 22 марта 2015 09:21
· Личное сообщение · #18

Isaev
Monster Debugger можешь попробовать, но там тоже не всё можно увидеть...

-----
Everything is relative...


| Сообщение посчитали полезным: Isaev


Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 22 марта 2015 12:49
· Личное сообщение · #19

Isaev
Если без трейсинга, то только публичные поля можно посмотреть вроде, хотя могу ошибаться, я уже давно не пробовал так данные смотреть.
Обычно я использовал либо FlashFirebug, либо консоль в TheMiner.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.


| Сообщение посчитали полезным: Isaev


Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 22 марта 2015 15:17
· Личное сообщение · #20

не, вы меня немного не поняли, я имел ввиду из своего кода без сторонних утилек

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 22 марта 2015 16:35
· Личное сообщение · #21

Из своего кода - только если кодить аналог вышеперечисленных инструментов. По сути нужно закодить свой загрузчик и из него уже дотягиваться до нужных мест.
В любом случае, задача нетривиальная и может просто не стоить потраченного на нее времени.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 22 марта 2015 21:05
· Личное сообщение · #22

4kusNick, а как же читерские программки, которые патчат в памяти пару байт... Нужно по идее то же самое, только вместо патча, показать их содержимое. И весят они поло обычно все, не думаю, что для них писали "аналог вышеперечисленных инструментов"

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 22 марта 2015 22:22
· Личное сообщение · #23

Isaev
Эти программки работают по принципу AoB читов для CheatEngine - они просто патчат байткод в памяти, меняя поведение программы, никакие данные таким образом получить не получится.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 27 марта 2015 00:23
· Личное сообщение · #24

Какая-нибудь из утилит показывает расшифрованые строки при SecureSWF обфускации строк? Вроде многие работают с этой защитой, но нигде не нашёл этой функции. Её нет или я просмотрел?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 27 марта 2015 02:43
· Личное сообщение · #25

Isaev
Вот:
https://exelab.ru/f/action=vthread&forum=1&topic=18041&page=5#28

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.


| Сообщение посчитали полезным: Isaev


Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 27 марта 2015 03:11
· Личное сообщение · #26

4kusNick а из чего эти dll юзаются? И aes я там не заметил в сырках, версия, которая без aes была я и сам деобфусцировал, а эту лениво... Хотя если не найду что покажет строки, придётся рипать

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 27 марта 2015 03:27 · Поправил: 4kusNick
· Личное сообщение · #27

Isaev
Через интеловский Pin, там в репе описано как завести (https://github.com/F-Secure/Sulo/).
Модуль для логгирования строк работает универсально, насколько помню - надо сообщить ему имя метода, который расшифровывает строки и он будет его же и использовать для расшифровки.

Я обычно вручную так же делал - либо дёргал метод расшифровки, либо просто в него трейс впатчивал, чтобы видеть результат расшифровки каждой строки в логе.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 30 сентября 2015 12:28
· Личное сообщение · #28

Автор: Jacob Thompson
Конференция: DerbyCon 5.0
Дата проведения: September 26, 2015
Название доклада: DYNAMIC ANALYSIS OF ADOBE FLASH FILES

Слайды
http://www.securityevaluators.com/knowledge/flash/flash.pdf

-----
127.0.0.1, sweet 127.0.0.1


| Сообщение посчитали полезным: Hellspawn, 4kusNick, mak


Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 30 сентября 2015 15:34
· Личное сообщение · #29

А вот видео доклада:
https://www.youtube.com/watch?t=39&v=aLOUooGX2kY

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




Ранг: 30.6 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 19 октября 2015 15:10
· Личное сообщение · #30

Isaev, 4kusNick, JohnyDoe
Не поделитесь своими наработками в виде какого-нть тутора? Для тех, кому тоже интересно, но опыта с флешем не хватает. Имхо, подобное было бы весьма полльзительно узнать/попробовать )
Или, может, FlashFirebug может кто поделиться леченным?




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 20 октября 2015 00:14 · Поправил: 4kusNick
· Личное сообщение · #31

soho
Наработками чего?
Если есть какие-то вопросы - задавайте, может быть сможем помочь.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.



<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
 eXeL@B —› Основной форум —› Flash (swf). Декомпиляция, взлом
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати