eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: parfetka, _MBK_ (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› Подскажите пожалуйста, как справиться с swf файлом?
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 0.8 (гость)
Статус: Участник

Создано: 5 октября 2013 11:42 New!
Цитата · Личное сообщение · #1

Господа, как раскодировать код в swf фале.
Код имеет примерно такой вид:
// Тег действия #1
do
{
function ()
{
= 1896 % 511 * true;
" ";
return ;
}
var = 25 + ();
for (;;)
{
if ( == 388)
{
= + 233;
continue;
}
if ( == 894)
{
= - 532;
continue;
}
var __local0;
if ( == 404)
{
= - 262;
continue;
__local0 = eval(true);
}
else
{
__local0 = true;
}
if ( == 624)
{
= - 456;
continue;
}
if ( == 197)
{
= + 697;
continue;
}
if ( == 168)
{
= - 39;
continue;
}
if ( == 652)
{
= - 28;
continue;
}
if ( == 129)
{
= + 664;
var = 1;
continue;
}
if ( == 621)
{
= + 31;
if (__local0)
{
= - 28;
}
continue;
}
if ( == 793)
{
= - 389;
continue;
}
var __local1;
if ( == 142)
{
= + 484;
continue;
__local1 = !" ";
}
else
{
__local1 = " ";
}
if ( == 626)
{
= - 429;
if (__local1)
{
= + 697;
}
continue;
}
if ( != 268)
{
break;
}
= - 100;
}
}
while ( != 362);
= - 362;


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 5 октября 2013 13:24 New!
Цитата · Личное сообщение · #2

Используйте ASV или FFDec.
Ссылки тут.

Ранг: 0.8 (гость)
Статус: Участник

Создано: 5 октября 2013 19:10 New!
Цитата · Личное сообщение · #3

Спасибо 4kusNick
FFDec помог, код виден.

Теперь ума не хватает как обойти часть кода.


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 5 октября 2013 19:38 New!
Цитата · Личное сообщение · #4

Опишите подробнее что именно не получается. Или идите в поиск специалистов, если хотите чтобы все сделали за вас.

Ранг: 0.8 (гость)
Статус: Участник

Создано: 5 октября 2013 20:24 New!
Цитата · Личное сообщение · #5

FFDec показывает код, хочу внести исправления, но выскакивает окно с ошибкоей.

Подробно, на фото

{ Атач доступен только для участников форума } - ffd_error.jpg

Ранг: 0.8 (гость)
Статус: Участник

Создано: 5 октября 2013 20:30 New!
Цитата · Личное сообщение · #6

Что то фото не подключилось.
Сообщение такое: "IDENTIFIER expected but PARENT_OPEN found в строкеDm 1" (Dm - не английские, а абаркадабра, D имеет черточку по середине вертикали, а m это латинская мю).

Ранг: 0.8 (гость)
Статус: Участник

Создано: 5 октября 2013 20:59 New!
Цитата · Личное сообщение · #7

Защита, которую хотелось бы отключить, работает примерно так:

Загружается файл .swf с сайта из интернета, на сайте есть еще папка, в которой хранится код (зашифровано имя сайта).
swf файл загруженный на компьютере пользователя, проверяет сайт с которого скачан он (имя сайта), шифрует имя сайта, скачивает зашифрованный код из папки с сайта и сравнивает эти 2 кода. Совпало – работает, не совпало – просто клинит.

Эта галиматья занимает в файле swf почти 1000 строчек кода (много раз обрабатывается по алгоритму MD5).


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 5 октября 2013 21:10 New!
Цитата · Личное сообщение · #8

MoneyDai пишет:
FFDec показывает код, хочу внести исправления, но выскакивает окно с ошибкоей.

Либо в FFDec баг (а их там сейчас очень много), либо правите байткод направильно.
Судя по всему, у вас as2, следовательно для его редактирования можете попробовать flasm, предварительно почистив флэшку от обфускации с помощью того же ffdec или asv.

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


Ранг: 228.9 (наставник)
Статус: Участник
radical

Создано: 5 октября 2013 21:51 New!
Цитата · Личное сообщение · #9

MoneyDai пишет:
много раз обрабатывается по алгоритму MD5

что обрабатывается

Скорее всего просто считается мд5 некоторых данных для дальнейшего сравнения мд5 хешей.
4kusNick прав, вы либо что-то выложите больше, чем своё малопонятное описалово и еще менее понятный скриншот либо помочь никто не сможет.


Ранг: 539.6 (!)
Статус: Участник
оптимист

Создано: 6 октября 2013 06:41 New!
Цитата · Личное сообщение · #10

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


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 6 октября 2013 09:17 New!
Цитата · Личное сообщение · #11

Мы тут так и будем на гуще гадать пока автор не ответит =)

Ранг: 0.8 (гость)
Статус: Участник

Создано: 6 октября 2013 15:40 New!
Цитата · Личное сообщение · #12

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

Если открыть хороший ориганал файла и подправить, то тоже сохраниться и тоже в 2 раза меньше будет и не полностью работоспособен.

Нужна другая программа.

ASV найти не могу. Скачал, но требует регистрации.

Где найти рабочую ASV (покупать не хочется, быстрей всего не поможет).


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 6 октября 2013 20:50 · Поправил: 4kusNick New!
Цитата · Личное сообщение · #13

Выше я подсказал уже про flasm + ещё as2 байткод умеет редактировать SWiX.
ASV код не умеет редактировать, его для деобфускации я советовал.
P.S.: Надежнее всего - руками, там довольно примитивный байткод, редактируется не сложно, подсказка.

Ранг: 0.8 (гость)
Статус: Участник

Создано: 7 октября 2013 07:37 New!
Цитата · Личное сообщение · #14

Я исследовал защиту флэш модуля одного из интернет казино (хобби у меня такое). Сначала казалось, что все просто, легко расковыряю, но имевшимися у меня и предложенными здесь средствами мне пока не удалось обойти защиту. Ближе всего я подобрался к ней с помощью FFDec, но он искажает файл, если хотя бы просто его сохранить (сам без моей воли меняет кучу байтов и портит часть полезного кода). Для интереса посмотрел, оказывается FFDec в одном месте из 8 байт 00, оставил только 7 байт 00, то есть адреса прямых переходов уже сдвинулись, а скорректировать уже их или не смог или не захотел.

Два куска кода вижу, которые дважды проверяют привязку флэшки к домену сайта, но близко локоть, да не укусишь.

Сейчас пока в раздумьях (мыслей больше нет).


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 7 октября 2013 13:59 New!
Цитата · Личное сообщение · #15

Так вы пробовали flasm или SWiX?

Ранг: 0.8 (гость)
Статус: Участник

Создано: 7 октября 2013 20:20 New!
Цитата · Личное сообщение · #16

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

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

Вот нижняя часть одного из участков кода:
<Subtract />
<SetVariable />
<Jump Offset="-1604" />
<Jump Offset="163" />
<Push>
<String Name="_" />
</Push>
<GetVariable />
<Push>
<Integer Value="607" />
</Push>
<Equals />
<Not />
<If Offset="29" />
<Push>
<String Name="_" />
</Push>
<Push>
<String Name="_" />
</Push>
<GetVariable />
<Push>
<Integer Value="199" />
</Push>
<Subtract />
<SetVariable />
<DefineLocal />
<Jump Offset="-1552" />
<Push>
<String Name="_" />
</Push>
<GetVariable />
<Push>
<Integer Value="408" />
</Push>
<Equals />
<Not />
<If Offset="34" />
<Push>
<String Name="_" />
</Push>
<Push>
<String Name="_" />
</Push>
<GetVariable />
<Push>
<Integer Value="159" />
</Push>
<Subtract />
<SetVariable />
<Push>
<String Name="_" />
</Push>
<Jump Offset="-1608" />
<Push>
<String Name="_" />
</Push>
<GetVariable />
<Push>
<Integer Value="438" />
</Push>
<Equals />
<Not />
<If Offset="29" />
<Push>
<String Name="_" />
</Push>
<Push>
<String Name="_" />
</Push>
<GetVariable />
<Push>
<Integer Value="438" />
</Push>
<Subtract />
<SetVariable />
<End />
</Actions>
</DoAction>

Но как его расшифровать пока не пойму.

flasm пока еще не пробовал.

SWiX в самом верху сообщает:
<FileAttributes UseNetwork="false" ActionScript3="false" HasMetadata="false" UseGPU="false" UseDirectBlit="false" />


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 7 октября 2013 20:56 · Поправил: 4kusNick New!
Цитата · Личное сообщение · #17

Ну, если трудно разобраться в обфусцированном байткоде, то сперва его надо деобфусцировать.
Ищите ASV старый или пробуйте SWFReader, там были относительно рабочие деобфускатеры для as2 протов.
Ну и другие инструменты для деобфускации попробуйте, SWF Decrypt например.
Если так ничего и не поможет - присылайте файл в личку, я подскажу в какую сторону рыть.

Ранг: 0.8 (гость)
Статус: Участник

Создано: 7 октября 2013 21:02 New!
Цитата · Личное сообщение · #18

Ситуация такая:
В FFdec я вижу где и что нужно изменить, что бы добиться нужного мне результата, но в этой программе не получается правильно сохранить (даже без вмешательства, после сохранения файл повреждается),
В программе SWiX вижу этот же модуль, но не могу найти нужный участок кода

В первой программе Р-код:
GetVariable
Push "enabled" false
SetMember
Push "_level0"
GetVariable
Push "_visible" false
(нужно false изменить на true), но где этот код в SWiX?

Приблизительно он в этом участке кода (всего одна функция):
<DoAction>
<Actions>
<DefineFunction Name="__">
<Params>
</Params>
<Actions>
<Push>
<String Name="_" />
</Push>
<Push>
<Integer Value="2470" />
</Push>
<Push>
<Integer Value="511" />
</Push>
<Modulo />
<Push>
<Boolean Value="3" />
</Push>
<Multiply />
<SetVariable />
<Push>
<String Name="_" />
</Push>
<Push>
<String Name="_" />
</Push>
<If Offset="5" />
<Jump Offset="0" />
<GetVariable />
<Return />
</Actions>
</DefineFunction>

Но как ее расшифровать?


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 7 октября 2013 21:22 New!
Цитата · Личное сообщение · #19

В SWiX вы видите обфусцированный код, в FFDec - уже после деобфускации.
Что делать дальше я вам уже написал.

Ранг: 0.8 (гость)
Статус: Участник

Создано: 7 октября 2013 21:28 New!
Цитата · Личное сообщение · #20

SWFReader ищу. Один скачал, но ДРВЕБ его удалил, с трояном оказался.


Ранг: 1120.2 (!!!!)
Статус: Участник

Создано: 8 октября 2013 05:19 New!
Цитата · Личное сообщение · #21

MoneyDai пишет:
Один скачал, но ДРВЕБ его удалил, с трояном оказался.


Вы ведь понимаете, что кричащий антивирус - не показатель?

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


Ранг: 0.8 (гость)
Статус: Участник

Создано: 8 октября 2013 13:19 New!
Цитата · Личное сообщение · #22

Установил 2 SWFReader (Demo и Free), но разобраться (извлечь пользу) пока не могу.
Загружаешь файл, а дальше что делать, чтобы добраться до кода пока не понятно.


Ранг: 1120.2 (!!!!)
Статус: Участник

Создано: 8 октября 2013 15:17 New!
Цитата · Личное сообщение · #23

Здесь есть видео-туториалы. Ломаная демка есть на руборде.


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 8 октября 2013 16:58 New!
Цитата · Личное сообщение · #24

MoneyDai
Для вас там интересно меню Deobfuscators. Что может быть проще выбора пункта меню?

Ранг: 0.8 (гость)
Статус: Участник

Создано: 8 октября 2013 19:51 New!
Цитата · Личное сообщение · #25

В демо версии меню есть.
Жму его, но после выходит сообщение: "This is demo version - unprotect only half structures"

Но я и половины то не вижу (ни чего не вижу).


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 8 октября 2013 20:42 New!
Цитата · Личное сообщение · #26

Ну, значит купите полную версию или ищите в сети ломанные, я не понимаю чего вы хотите от сообщества.
Вам уже всё разжевали, кучу советов дали, тематическую ветку с известными ссылками на известные инструменты дали, направили, а вы всё на месте топчитесь.

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

Ранг: 0.8 (гость)
Статус: Участник

Создано: 8 октября 2013 22:17 New!
Цитата · Личное сообщение · #27

4kusNick

Не сердитесь пожалуйста на меня.

Ни где не могу найти рабочую версию SWF Reader (все ссылки уже не рабочие и на другом форуме тоже самое).

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

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

Заказывать кому то сломать этот файл, проблематично. Чтобы проверить его работоспособность нужно еще денвер с разными ухищрениями поставить, то есть сначала создать среду для легальной работы файла, потом уже ломать защиту и проверять работоспособность. Заломят люди цену от самолета, а я ведь всего лишь исследую защиту, расковыряю - хорошо, нет - тоже не катострофа. Буду искать инструменты.

Ранг: 0.8 (гость)
Статус: Участник

Создано: 11 октября 2013 18:45 New!
Цитата · Личное сообщение · #28

Господа, помогите! Дайте ссылку на рабочую программу SWFReader.

Ранг: 19.7 (новичок)
Статус: Участник

Создано: 11 октября 2013 19:12 · Поправил: Phantom007 New!
Цитата · Личное сообщение · #29

MoneyDai
--> Оно? <--

Ранг: 0.8 (гость)
Статус: Участник

Создано: 11 октября 2013 19:36 New!
Цитата · Личное сообщение · #30

Спасибо Phantom007, но этот мне не подходит, это версия free.
Мне нужна версия с меню Deobfuscators.
. 1 . 2 . >>
 eXeL@B —› Вопросы новичков —› Подскажите пожалуйста, как справиться с swf файлом?

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS