![]() |
eXeL@B —› Вопросы новичков —› Подскажите пожалуйста, как справиться с swf файлом? |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 05 октября 2013 11:42 · Личное сообщение · #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; ![]() |
|
Создано: 05 октября 2013 13:24 · Личное сообщение · #2 Используйте ASV или FFDec. Ссылки ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. ![]() |
|
Создано: 05 октября 2013 19:10 · Личное сообщение · #3 |
|
Создано: 05 октября 2013 19:38 · Личное сообщение · #4 |
|
Создано: 05 октября 2013 20:24 · Личное сообщение · #5 FFDec показывает код, хочу внести исправления, но выскакивает окно с ошибкоей. Подробно, на фото ![]() ![]() |
|
Создано: 05 октября 2013 20:30 · Личное сообщение · #6 |
|
Создано: 05 октября 2013 20:59 · Личное сообщение · #7 Защита, которую хотелось бы отключить, работает примерно так: Загружается файл .swf с сайта из интернета, на сайте есть еще папка, в которой хранится код (зашифровано имя сайта). swf файл загруженный на компьютере пользователя, проверяет сайт с которого скачан он (имя сайта), шифрует имя сайта, скачивает зашифрованный код из папки с сайта и сравнивает эти 2 кода. Совпало – работает, не совпало – просто клинит. Эта галиматья занимает в файле swf почти 1000 строчек кода (много раз обрабатывается по алгоритму MD5). ![]() |
|
Создано: 05 октября 2013 21:10 · Личное сообщение · #8 MoneyDai пишет: FFDec показывает код, хочу внести исправления, но выскакивает окно с ошибкоей. Либо в FFDec баг (а их там сейчас очень много), либо правите байткод направильно. Судя по всему, у вас as2, следовательно для его редактирования можете попробовать flasm, предварительно почистив флэшку от обфускации с помощью того же ffdec или asv. Кроме того, из вашего объяснения трудно понять что именно и как вы пытаетесь отредактировать. Судя по всему вам надо запатчить проверку, там где сравниваются некие коды, чаще всего это достаточно просто. В данный момент не понятно что вы хотите услышать, не понятно как вам помочь. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. ![]() |
|
Создано: 05 октября 2013 21:51 · Личное сообщение · #9 MoneyDai пишет: много раз обрабатывается по алгоритму MD5 что обрабатывается ![]() Скорее всего просто считается мд5 некоторых данных для дальнейшего сравнения мд5 хешей. 4kusNick прав, вы либо что-то выложите больше, чем своё малопонятное описалово и еще менее понятный скриншот либо помочь никто не сможет. ----- ds ![]() |
|
Создано: 06 октября 2013 06:41 · Личное сообщение · #10 |
|
Создано: 06 октября 2013 09:17 · Личное сообщение · #11 |
|
Создано: 06 октября 2013 15:40 · Личное сообщение · #12 FFDec видит код, но если даже ни чего не трогать а просто сохранить его, то файл уменьшается в два раза, по сравнению с оригиналом и уже он частично не работоспособен. Если открыть хороший ориганал файла и подправить, то тоже сохраниться и тоже в 2 раза меньше будет и не полностью работоспособен. Нужна другая программа. ASV найти не могу. Скачал, но требует регистрации. Где найти рабочую ASV (покупать не хочется, быстрей всего не поможет). ![]() |
|
Создано: 06 октября 2013 20:50 · Поправил: 4kusNick · Личное сообщение · #13 Выше я подсказал уже про flasm + ещё as2 байткод умеет редактировать SWiX. ASV код не умеет редактировать, его для деобфускации я советовал. P.S.: Надежнее всего - руками, там довольно примитивный байткод, редактируется не сложно, ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. ![]() |
|
Создано: 07 октября 2013 07:37 · Личное сообщение · #14 Я исследовал защиту флэш модуля одного из интернет казино (хобби у меня такое). Сначала казалось, что все просто, легко расковыряю, но имевшимися у меня и предложенными здесь средствами мне пока не удалось обойти защиту. Ближе всего я подобрался к ней с помощью FFDec, но он искажает файл, если хотя бы просто его сохранить (сам без моей воли меняет кучу байтов и портит часть полезного кода). Для интереса посмотрел, оказывается FFDec в одном месте из 8 байт 00, оставил только 7 байт 00, то есть адреса прямых переходов уже сдвинулись, а скорректировать уже их или не смог или не захотел. Два куска кода вижу, которые дважды проверяют привязку флэшки к домену сайта, но близко локоть, да не укусишь. Сейчас пока в раздумьях (мыслей больше нет). ![]() ![]() |
|
Создано: 07 октября 2013 13:59 · Личное сообщение · #15 |
|
Создано: 07 октября 2013 20:20 · Личное сообщение · #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" /> ![]() |
|
Создано: 07 октября 2013 20:56 · Поправил: 4kusNick · Личное сообщение · #17 Ну, если трудно разобраться в обфусцированном байткоде, то сперва его надо деобфусцировать. Ищите ASV старый или пробуйте SWFReader, там были относительно рабочие деобфускатеры для as2 протов. Ну и другие инструменты для деобфускации попробуйте, SWF Decrypt например. Если так ничего и не поможет - присылайте файл в личку, я подскажу в какую сторону рыть. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. ![]() |
|
Создано: 07 октября 2013 21:02 · Личное сообщение · #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> Но как ее расшифровать? ![]() |
|
Создано: 07 октября 2013 21:22 · Личное сообщение · #19 |
|
Создано: 07 октября 2013 21:28 · Личное сообщение · #20 |
|
Создано: 08 октября 2013 05:19 · Личное сообщение · #21 MoneyDai пишет: Один скачал, но ДРВЕБ его удалил, с трояном оказался. Вы ведь понимаете, что кричащий антивирус - не показатель? ![]() |
|
Создано: 08 октября 2013 13:19 · Личное сообщение · #22 |
|
Создано: 08 октября 2013 15:17 · Личное сообщение · #23 |
|
Создано: 08 октября 2013 16:58 · Личное сообщение · #24 |
|
Создано: 08 октября 2013 19:51 · Личное сообщение · #25 |
|
Создано: 08 октября 2013 20:42 · Личное сообщение · #26 Ну, значит купите полную версию или ищите в сети ломанные, я не понимаю чего вы хотите от сообщества. Вам уже всё разжевали, кучу советов дали, тематическую ветку с известными ссылками на известные инструменты дали, направили, а вы всё на месте топчитесь. Пользуйтесь поисковиками, постарайтесь разобраться, приходите сюда с конкртеными вопросами и вам помогут или приходите за готовым решением в ветку поиска специалистов \ в личку, если не хотите потрудиться. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. ![]() |
|
Создано: 08 октября 2013 22:17 · Личное сообщение · #27 4kusNick Не сердитесь пожалуйста на меня. Ни где не могу найти рабочую версию SWF Reader (все ссылки уже не рабочие и на другом форуме тоже самое). На сайте разработчика уже больше не продают лицензию, хотя демо версию совершенствует. Написал у них в поддержку, может быть что то ответят. Заказывать кому то сломать этот файл, проблематично. Чтобы проверить его работоспособность нужно еще денвер с разными ухищрениями поставить, то есть сначала создать среду для легальной работы файла, потом уже ломать защиту и проверять работоспособность. Заломят люди цену от самолета, а я ведь всего лишь исследую защиту, расковыряю - хорошо, нет - тоже не катострофа. Буду искать инструменты. ![]() |
|
Создано: 11 октября 2013 18:45 · Личное сообщение · #28 |
|
Создано: 11 октября 2013 19:12 · Поправил: Phantom007 · Личное сообщение · #29 |
|
Создано: 11 октября 2013 19:36 · Личное сообщение · #30 |
. 1 . 2 . >> |
![]() |
eXeL@B —› Вопросы новичков —› Подскажите пожалуйста, как справиться с swf файлом? |