Вытащить .swf файл из exe созданного в ZINC v 2.0

Тема в разделе "WASM.BEGINNERS", создана пользователем Kopanda, 13 сен 2010.

  1. Kopanda

    Kopanda New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2010
    Сообщения:
    10
    Встала передо мной такая задача. И главное даже не только вытащить, а то редактировать и засунуть обратно. Но для начала хотя бы вытащить..

    Если кто не знает Zinc создает экзешник из флэш приложения, набивает какими то стандартными файлами, запаковывает UPX'ом и выдает нам.

    То, что это ZINC я узнал после того, как вытащил все ресы из экзешника Restoratore'ом и там оказался ко всему прочему логотип цинка, но искомого SWF там не нашлось. Были жирные (около 2 мб) файлы .res, думал может в них дело, но потом скачал ZINC, сам сделал экзешник из подвернувшейся флэш игрушки, провел ту же процедуру распаковки и к моему разочарованию все распакованные ресурсы оказались на 99.9% идентичны тем, которые я вытащил из нужного мне файла.

    Попытался искать различия в распакованных текстовых файлах (TFORMTIP.txt, TFSPFORM.txt, TFSPTRFORM.txt, TPASSFORM.txt, TSCRSETTINGS.txt, TSETUPFORM.txt, TSPLASH.txt итд.) - они есть, но во-первых мой цинк 2.5, а там был 2.0 и причина может крыться в этом, а во-вторых все равно я ничего в них не понял.. Если что - могу залить все распаковавшиеся ресы обоих экзешников сюда - может кто сможет разобраться.

    В конце концов если вытащу SWF - потом можно будет не запихивать обратно после редактирования, а просто создать тем же цинком экзешник из него.

    Буду благодарен любым советам.

    ЗЫ: Еще там где то что то промелькнуло про Blowfish и Zlib, вроде PEid выдал при анализе на криптографию. К чему бы это? Вот полный отчет криптоанализа:
    ADLER32 :: 001402AB :: 00540EAB
    The reference is above.
    ADLER32 :: 001BA0DF :: 005BACDF
    The reference is above.
    ADLER32 :: 001C902F :: 005C9C2F
    The reference is above.
    ADLER32 :: 00233033 :: 00633C33
    The reference is above.
    ADLER32 :: 004277F3 :: 008471F3
    The reference is above.
    ADLER32 :: 004278C0 :: 008472C0
    The reference is above.
    BASE64 table :: 0007CFCC :: 0047DBCC
    Referenced at 006E1154
    BASE64 table :: 001A8F18 :: 005A9B18
    Referenced at 006E92DC
    BASE64 table :: 002E5D54 :: 006E6D54
    Referenced at 0055A4BD
    Referenced at 0055A4E1
    Referenced at 0055A508
    Referenced at 0055A521
    Referenced at 0055A552
    Referenced at 0055A569
    Referenced at 0055A587
    Referenced at 0055A5A9
    Referenced at 0055A5C1
    BASE64 table :: 002E8274 :: 006E9274
    Referenced at 005A27BB
    Referenced at 005A35C0
    Referenced at 005A35DD
    Referenced at 005A3627
    Referenced at 005A364F
    Referenced at 005A366C
    Referenced at 005A36C7
    Referenced at 005A36EF
    Referenced at 005A3717
    Referenced at 005A3731
    BLOWFISH [sbox] :: 002E5E04 :: 006E6E04
    Referenced at 0055D6F8
    CRC16 [long] :: 00513994 :: 00933394
    The reference is above.
    CRC32 :: 005010DC :: 00920ADC
    The reference is above.
    CryptGenRandom [Name] :: 00500860 :: 00920260
    The reference is above.
    Golden ratio (TEA/N, RC 5/6, ...) :: 0047E9FB :: 0089E3FB
    The reference is above.
    PI fraction (NIMBUS / BLOWFISH) :: 002E5DBC :: 006E6DBC
    Referenced at 0055D70D
    SHA1 [Compress] :: 0015B54D :: 0055C14D
    The reference is above.
    ZLIB deflate [long] :: 002E346C :: 006E446C
    Referenced at 0053DF6B
    ZLIB deflate [long] :: 002E9170 :: 006EA170
    Referenced at 005C10AD
    ZLIB deflate [long] :: 002EB17C :: 006EC17C
    Referenced at 005C9A03
    ZLIB deflate [long] :: 002ED29C :: 006EE29C
    Referenced at 006339FF
    ZLIB deflate [word] :: 00503BFC :: 009235FC
    The reference is above.
    {Big number} :: 0012114C :: 00521D4C
    Referenced at 00521C6B
    {Big number} :: 00121F44 :: 00522B44
    Referenced at 00522AF7
     
  2. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Kopanda
    Видимо swf файл пожат zlib'ом и, вероятно, зашифрован. Возможно, при запуске, swf файл будет распакован в какую-нибудь папку (TEMP).
     
  3. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    советую присмотреться к оверлею
     
  4. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    да и файл монитором пробежаться
    судя по энтропии оверлей пожат но не весь
    скорее всего есть какой то заголовок
    я думаю в нем и есть флэшка
    копай копанда))
     
  5. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    можно еще после запуска приложения по его памяти пройтись поиском начала сигнатуры флэшки
     
  6. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    zinс 3.0 только что winhex'ом вытащил по сигнатурам флешку и запаковал обратно за 1 минуту.
     
  7. Kopanda

    Kopanda New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2010
    Сообщения:
    10
    а теперь расскажи пожалуйста по шагам, как ты это сделал(: Я крэкингом с роду не занимался - исключительно кодерством, и то на недоязыке GML, только неделю назад начал во все это въезжать т.к. задача появилась такая.
    Если рассказывать долго, то хотя бы дай ссылочку на гайд, сам я не нашел пока что..
     
  8. Kopanda

    Kopanda New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2010
    Сообщения:
    10
    нашел сигнатур в 2 местах - 53774 и 5478320, но как найти окончание хз... (сигнатурой, я так понял, называются первые 4 байта)
     
  9. Rustem

    Rustem New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2004
    Сообщения:
    429
    Адрес:
    Russia
    Kopanda длина свф - след. 4 байта после сигнатуры в little endian формате
     
  10. Kopanda

    Kopanda New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2010
    Сообщения:
    10
    ничего не выходит. Беру найденную флэш игру, открываю в винхексе, офсет ее последнего байта 32150, смотрю 4 байта после сигнатуры 36 С6 00 00, то есть получается С636, а это 50742 - уже не сходится.

    Ищу в созданном цинком и распакованном UPXом экзешнике сигнатуру, отмеряю от первого байта сигнатуры (ведь сигнатура включена в тело файла, верно?) поочередно оба числа и сохраняю в файл. Открываю эксплорером и ничего не работает):

    Нашел инфу, что 43 57 53 06 (CWS6, 6 - версия плеера) это сигнатура сжатого (compressed) флэш файла, а 46 57 53 06 (FWS6). Так вот у меня именно первый вариант. Может дело в этом?

    Пошел дальше рыть носом гугл..
     
  11. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    Если сигнатура начинается с "CWS", следующий за длиной блок сжат Deflate, а длина указана распакованного. Можно воспользоваться offzip, чтобы узнать длину запакованного/сдампить/распаковать.
     
  12. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Зря все отнеслись скептически к моему посту =\
     
  13. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Kopanda
    Zlib вам в руки.
    распаковывайте, изменяйте, сжимайте, меняете длину сжатого (если поменялась). Все.
    KeSqueer
    ну как всегда. Начинают люди работать не читая доки по форматам.
     
  14. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    кинь ссылку я вытащу тебе если будет время
     
  15. Kopanda

    Kopanda New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2010
    Сообщения:
    10
    мне уже самому интересно стало((: правда чето не клеится.. ну когда совсем буду волосы на голове рвать от отчаяния - тогда воспользуюсь твоим щедрым предложением(:
     
  16. Rustem

    Rustem New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2004
    Сообщения:
    429
    Адрес:
    Russia
    Kopanda
    Просвещайтесь. Первая ссылка в гугле
    http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v10.pdf
     
  17. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    http://www.adobe.com/devnet/swf.html
    эта ссылка рабочая
     
  18. Kopanda

    Kopanda New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2010
    Сообщения:
    10
    спасибо, повкуриваю на досуге
     
  19. Kopanda

    Kopanda New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2010
    Сообщения:
    10
    Ну вот.. вроде как вытащил, сигнатуру с размером в винхексе поставил, превый байт с 43 на 46 поменял - и все равно не работает свфшник): открываю в каком то СВФ декомпиллире модном (забыл название - я щас на работе, а делал дома, но он какой то лидирующий) - там мне показывает как будто в свфшнике только то, что появляется когда на флэхе нажимаешь правой кнопкой - параметры.. ну там настройки всякие. А свфха вроде жирная - 63 кило...
    Я вот думаю, даже если она запакована Злибом - она же должна хотя бы запускаться! В общем не знаю я, что делать):
     
  20. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Kopanda
    Кидайте сэмпл ) Чего паритесь. Это не ваше. Видно же. Не мучайтесь.