Как обмануть NET.Reflector

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

Отражатель Mac

И этот отрывок расскажет вам, как записать ваш Mac с помощью Reflector. Кроме того, мы также перечислили две альтернативные заявки, которые вы должны принять во внимание. Пожалуйста, продолжайте читать и узнайте об этом.

  • Часть 1: Как записать Mac с помощью Reflector
  • Часть 2: альтернативные способы записи Mac

Часть 1: Как записать Mac с помощью Reflector

Reflector for Mac — популярный приемник потокового и зеркального отображения, помогающий записывать экран Mac. Он работает по беспроводной сети и может оставаться на связи с любым внешним устройством. Его главная особенность — работа со всеми подключенными устройствами в режиме реального времени. Кроме того, Reflector позволяет легко организовывать и представлять множество устройств различных спецификаций. Помимо записи экрана вашего Mac с помощью Reflector, вы также можете зеркалировать iPhone, iPad, а также iPod Touch на Mac.

Плюсы:

  • В Reflector for Mac есть функция зеркалирования в реальном времени
  • Возможен медиапоток с помощью Reflector
  • Улучшает гораздо более продвинутые функции безопасности
  • Обеспечивает простое и эффективное управление всеми подключенными устройствами
  • Запись экранов с передачей голоса намного проще и удобнее

Минусы:

  • Отсутствие молниеотвода может привести к немного большему отставанию
  • Это требует, чтобы ваше устройство iOS и Mac были подключены к одной сети Wi-Fi
  • Вам также необходимо установить платное приложение на Mac, чтобы убедиться в зеркалировании, хотя предоставляется бесплатная семидневная пробная версия.

Теперь, следуя подробным инструкциям, вы узнаете, как записывать Mac с помощью Reflector:

Шаг 1, Скачать Reflector для Mac

Загрузите Reflecor на свой Mac, а затем установите его в соответствии с инструкциями. Вы можете найти это приложение в магазине приложений или перейдя на его официальный сайт и выбрав пробную версию для загрузки.

Шаг 2, Включить файл .dmg

Загрузите файл .dmg на свой Mac, а затем запустите его. Вы никогда не сможете пропустить этот шаг, который важен для записи Mac.

Шаг 3, Запустить отражатель

Переместите мышь, чтобы перетащить приложение Reflector в папку «Приложение». Теперь вы уже установили Reflector для Mac и запустите его, дважды щелкнув его значок.

Запустить отражатель

Шаг 4, Запись экрана Mac

Теперь вы можете начать запись экрана Mac с помощью Reflector. Просто нажмите кнопку записи, Reflector захватит, запишите экран Mac автоматически!

Запись экрана Mac

Как обмануть NET.Reflector

Сегодня я задумался о том, как обфускаторы скрывают код методов от утилит деобфускации вроде NET.Reflector. Как ни странно, но я не нашел в интернете никакой полезной информации по этому вопросу (возможно, плохо искал) и поэтому пришлось провести маленькое исследования самостоятельно. Под катом краткая заметка о результатах. В примере кода будет снова использоваться Mono.Cecil и генерация кода, так что не забудьте прочитать мою первую статью. Начнем с теории. Каждый код MSIL инструкции может быть представлен одним или двумя байтами. Например, инстукция nop представляется как 0x00. Таким образом мы имеем 65536 различных вариантов. На текущий момент некоторая часть этого пространства занята валидными кодами MSIL инструкций, однако большая часть свободна. Переход JIT компилятора на инструкцию с некорректным кодом приведет к аварийному завершению приложения. NET.Reflector, натыкаясь на некорректную инструкцию прекращает разбор кода метода и выводит сообщение «Invalid method body», что нам и требуется.

Таким образом, наша цель — вставить в метод некорректную инструкцию, но так, чтобы переход на нее не мог произойти ни при каких условиях. Для этого можно использовать безусловный переход:

goto MethodCode; // здесь некорректная инструкция MethodCode: // основной код метода

Reflector не будет анализировать достижимость кода и при анализе плохой инструкции споткнется и дальше метод анализировать не станет. Приложение же будет работать нормально, так как перехода на плохую инструкцию никогда не произойдет. Дело несколько осложняется тем, что Mono.Cecil не даст нам так просто вставить плохую инструкцию — все валидные коды представлены в виде перечисления и добавить свой стандартными средствами нельзя. Конечно, всегда можно поменять исходники Mono.Cecil, благо система с открытым кодом, но мне хотелось, чтобы работало на стандартной сборке. После получаса анализа исходников Mono.Cecil я нашел, как вставить некорректную инструкцию 0x0024 так, чтобы Mono.Cecil пропустил ее и не выдал исключения. Посмотрим на код:

static void ProtectMethod(string path, string methodName) { var assembly = AssemblyDefinition.ReadAssembly(path); foreach (var typeDef in assembly.MainModule.Types) { foreach (var method in typeDef.Methods) { if (method.Name == methodName) { var ilProc = method.Body.GetILProcessor(); // здесь получаем internal конструктор для класса OpCode var constructor = typeof(OpCode).GetConstructor(BindingFlags.Instance | BindingFlags.NonPublic, NULL, new Type[] { typeof(int), typeof(int) }, NULL); // в Mono.Cecil инструкции создаются оригинальным способом — в конструктор передается два 4х-битных(int) числа, из которых операциями побитового сдвига получается 8 байт, а каждый байт отвечает за определенный параметр MSIL иструкции. Соответственно, такими же операциями побитового сдвига мы превращаем 8 байт в 2 числа. Каждый байт отвечает за определенную характеристику OpCode, но нам важны только первые два. Остальные тоже имеют некоторое значение для нашей задачи, так как если задать их абы как, Mono.Cecil может не допустить такую инструкцию и выкинет Exception, но я не буду останавливаться на подробностях. int x = 0xff << 0 | //это первый байт IL инстуркции 0x24 << 8 | //это второй байт IL инструкции 0x00 << 16 | (byte) FlowControl.Next << 24; // дальнейшее не имеет отношения к нашей цели, однако необходимо для того, чтобы Mono.Cecil корректно обработал нашу инстукцию int y = (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24; var badOpCode = (OpCode) constructor.Invoke(new object[] {x, y}); // создаем плохую инструкцию Instruction badInstruction = Instruction.Create(badOpCode); Instruction firstInstruction = ilProc.Body.Instructions[0]; // вставляем инструкцию безусловного перехода на реальный код метода ilProc.InsertBefore(firstInstruction, Instruction.Create(OpCodes.Br_S, firstInstruction)); // вставляем плохую инструкцию перед началом кода метода ilProc.InsertBefore(firstInstruction, badInstruction); } } } assembly.Write(path); }

Рассмотрим результат работы этого метода на некотором методе нашей сборки, который мы хотим защитить от просмотра

Метод до обработки:

Метод в рефлекторе после обработки:

При этом после обработки приложение запускается без проблем. Требуемый результат достигнут.

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

Часть 2: Альтернативные способы записи Mac

1.QuickTime

Если вы ищете другой способ записи Mac вместо Reflector, вы можете принять во внимание QuickTime, который считается одним из самых мощных устройств записи экрана для Mac. QuickTime со встроенным медиаплеером позволяет вам просматривать большое количество форматов файлов. Последнее видение этого экрана записи для Mac улучшает некоторые основные функции редактирования на временной шкале.

По сравнению с Reflector для Mac QuickTime работает только с кабелем молнии. Но после записи видео на экране вы можете обрезать, обрезать видео или добавить другое видео в конце временной шкалы. Затем вы можете поделиться записью прямо на YouTube, Mail и многих других приложениях и веб-сайтах.

ScreenFlow

Если вы хотите получить больше контроля над захватом и редактированием видео на экране, широко используемый ScreenFlow также может идеально заменить Reflector для Mac. Этот экран рекордер для Mac позволяет вам записывать что угодно на рабочем столе Mac, а также обрезать, масштабировать и панорамировать записи для идеального вида производства.

Более того, вам также разрешено добавлять аннотации, выноски и отображать один или несколько клипов в главном фильме. Последнее видение ScreenFlow улучшает доступ в приложениях к библиотекам iTunes и iPhoto, а также возможность удалять неиспользуемые необработанные кадры и добавлять шаблоны руды для применения вашей записи к вырезке на временной шкале.

Подводя итог, ScreenFlow будет не хуже, чем Reflector for Mac, и вы будете удивлены этим.

Захват экрана i-девайса с помощью OS X приложения Reflector

То, что iPhone умеет делать скриншоты, по нажатию Power + Home, знают все. И все мы периодически этим пользуемся. Но как быть, если скриншота недостаточно? Возможно, вы хотите показать другу как пользоваться приложением или хотите похвастаться своими достижениями в игре. Так или иначе, время от времени у нас возникают ситуации, когда необходимо записать какое-либо действие, происходящее на экране iPhone или iPad. Сейчас я расскажу вам, как это сделать с помощью приложения Reflector для OS X.

Это приложение, по сути, делает ваш Mac совместимым AirPlay устройством. При помощи Reflector на компьютер можно будет зеркалировать рабочий стол iPhone, как на Apple TV. Благодаря встроенной в программу функции записи, мы с легкостью сохраняем происходящее на спрингборде iOS-устройства в видео файл. И вот как это делается.

Первым делом, нужно загрузить и установить Reflector на Mac. Скачиваем триал-версию, поскольку полная стоит 13 долларов и лучше попробовать оправдает ли приложение свою стоимость. После установки, запускаем Reflector и берем в руки свой i-девайс. Вызываем панель многозадачности, дважды нажав кнопку Home, делаем свайп вправо и жмем на иконку AirPlay. Сразу после этого вы увидите свой Mac в списке совместимых устройств — подключаемся и активируем Mirroring для зеркалирования i-девайса на компьютер.

Все — теперь вы должны увидеть экран айфона на рабочем столе компьютера. Важный момент, оба устройства должны быть в одной WiFi-сети (это обязательное условие для работы AirPlay).

Перед тем, как нажать «Запись», вы можете выбрать рамку, которая будет отображаться вокруг кадра. Это может быть iPhone, iPad любых цветов и модификаций. Выбрали? Нажимаем Cmd+R или Start Recording в меню Reflector. Теперь все происходящее на экране айфона будет записываться на видео, включая баннеры уведомлений. Чтобы этого избежать — я советую включить режим «Не беспокоить».

На этом все. Приложение со своими обязанностями справляется, и делает это на отлично. Единственным его минусом является цена. Хотя, если вы делаете захват экрана iPhone не для развлечения, 13 долларов за рабочий инструмент — вполне оправданная покупка.

Reflector для OS X: пробная версия $0,00 купить $12,99

Лучший способ записать iPhone с компьютера

Apeaksoft Screen Recorder — это мощная и профессиональная программа для записи и захвата экрана с высоким разрешением, которая настоятельно рекомендуется для вас. Вам предоставляется возможность снимать игровое видео, брать онлайн-фильмы, записывать видео с веб-камеры или делать скриншоты на своих окнах. И вы можете легко записывать видео в полноэкранном режиме или в желаемой области экрана. В общем, Apeaksoft Screen Recorder, как бесплатная программа записи экрана, заслуживает того, чтобы вы ее скачали и попробовали.

Ключевая особенность:

  • Apeaksoft Screen Recorder может помочь вам записать практически все видео на экране, которые вы хотите записать, включая онлайн-игры, учебный курс, звонки по Skype и так далее.
  • Вам предлагается выделить движение курсора мыши, чтобы упростить отслеживание при захвате видео с экрана.
  • Этот экран рекордер также может сохранять видео с веб-камеры прямо на вашем компьютере, даже позволяет вам общаться с друзьями во время записи видео.
  • После того как вы закончили с видео, вы можете экспортировать его в MP4 или WMF и поделиться в Интернете или легко воспроизвести его на большинстве игроков.
Рейтинг
( 1 оценка, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями: