WPF Tipz #2 — XAML, BAML

    Давеча посетила меня светлая мысль, как просмотреть XAML код приложений скомпилированных и отправился я в путь по просторам паутины…

    Уголком сознания я помнил, что замечательной открывашкой Reflector от Lutz Roeder,
    можно смотреть MSIL и многое другое в .Net приложении, естественно незаобфусцированной по помидоры…



    Скачал я Reflector, сменившего хозяина: downloads.red-gate.com/reflector.zip

    Попробовал вскрыть свое приложенье:
    Reflector, WPF

    Все нормально за исключением одного – не видно XAML!

    Пошел искать дальше и наткнулся на плагинчик к Reflector: BamlViewer,

    который примостился тут: www.codeplex.com/reflectoraddins/Wiki/View.aspx?title=BamlViewer&referringTitle=Home,

    кстати там еще много расширений: www.codeplex.com/reflectoraddins/Release/ProjectReleases.aspx?ReleaseId=1805

    Подцепил и вуаля:

    Reflector, WPF

    Reflector, XAML, BAML


    The End.

    P.S

    XAML — ru.wikipedia.org/wiki/XAML
    BAML — (Binary Application Markup (BAML)), специальный бинарный формат в который упаковывается XAML.

    Кстати, что интересно люди говорят, что спецификацию BAML еще не передали обфуцирующим конторам.

    P.S.S

    Если есть желание, что то улучшить в Tipz-е, прошу комментируйте, включу в топик включая ссылку на автора :)
    Поделиться публикацией

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 9

      +1
      а зачем xaml обфуцировать? он же как html — разметка, или я ошибаюсь?
      знаком очень поверхностно
        0
        html тоже можно закриптовать или замусорить...., но не суть,
        просто представь что под твою программу 2-4 недели дизайнеры делали UI,
        а потом еще и анимаций докручивали, а весь код на XAML, вот и задумаешься над тем чтобы BAML заобфусцировать.
          +3
          я помню как ходили в свое время такие же разговоры про dhtml
          многие боялись, что их выдумки с анимацией тоже кто-то сопрет
          как показало время никому это не нужно, полно бесплатного, да еще и конструкторы придумывают

          сейчас схожая ситуация
        0
        Весьма полезный плагин — прикрутил, спасибо.
          0
          Плагин-то может быть и полезный, но вот содержимое объектов Path (свойство Data) он не парсит, то есть векторную графику из приложения не взять. Специально глядел исходный текст плагина в этом месте, там хардкод — просто вставляется "???".
            0
            Собрал из исходников пробуйте вроде все нормально: zabr-lab.ru/articles/wpf2/Reflector.zip


              0
              Ваш код не проверял, просто глянул в исходники — хардкод убрали, теперь у них полноценный парсер векторных данных.
              Из комментариев к чекину от 25 сентября:
                0
                Added support for path data. (Previously output as "???")
                  0
                  Очень странно… Reflector, я обновлял последний раз месяца 2 назад, а про плагин вообще молчу… но Data в Path у меня всегда BAML Viewer нормально отражал без "???"… несколько данных вытаскивал… стрелочки там, и т. п.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое