Как стать автором
Обновить
19
0

Пользователь

Отправить сообщение

Лично делать это не приходилось, но пользователи, у которых такие конфигурации есть и работают, к нам в багтрекер приходили.

Всё работает, проект правильный, но вроде с macOS 13 были нюансы, и графику мы так и не прокинули пока. По сложности сопоставимо с развёртыванием обычного хакинтоша.

В VMware Workstation Player есть драйвер только с софтварным рендерингом, и его производительность плюс-минус эквивалентна virtio gpu без ускорения, который используется в QEMU, тем более, что во втором случае драйвер писали вообще в Apple. Хардварный рендеринг с пробросом виртуальной GPU Metal работает же только на macOS Host или с пробросом реальной GPU через VT-d.

Если не хотите, чтобы оно тормозило, надо пробрасывать дискретную GPU в виртуалку через VT-d.

Также в упомянутом в статье репозитории неграмотно настроен эмулируемый процессор. С -cpu Penryn вместо host или хотя бы Haswell XNU будет загружать Mach-O только в режиме архитектуры x86_64, а не x86_64h, что приведёт к тому, что не во всех системных библиотеках будут работать оптимизации AVX 2.0, а это дополнительно снижает производительность.

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

Для запуска приложений можно разместить ссылку на /Applications в Dock, просто перетащив, как это было в 10.6 и более старых системах. Вид и иконку можно настроить в контекстном меню, будет выглядеть так.

Показать рабочий стол — это F11. Если по умолчанию функциональные клавиши работают в режиме FN, то FN+F11. Функция Mission Control "Show Desktop". Вроде бы сейчас в последних версиях ОС надо добавлять руками, раньше было по умолчанию. F12, кстати, был всегда Dashboard, после его удаления я переделал на Notification Centre, стало даже удобнее.

Надеюсь, поможет :)

Вы код видели Corellium? Я, пусть и достаточно бегло, но смотрел. Он нормальный. Ничем не хуже значительной части остального кода в Linux. Документации нет, да, но её нет много где. Половина драйвера i915 задокументирована так, что плакать хочется, и это при наличии 01.org. Развивать, полагаю, они очень даже будут, так как им Linux нужен для своих проектов виртуализации.

Касательно «апстрима» — давайте не передёргивать факты. Никто не умаляет ничьи достоинства, но если господин Мартин и начал выкладывать патчи контроллера прерываний Corellium в mailing list с небольшими правками аккурат во время того, как в Corellium активно работали над остальными драйверами, то это никак не говорит об изначальных намерениях Corellium. Ему просто уступили, так как очень хочется.
Linux был портирован на M1 Corellium несколько месяцев назад (исходники, инструкция, твиттер), включая блочный драйвер, сеть, Thunderbolt, периферию для ввода, SMC драйвер, USB и т.д. Объективно — это почти максимум, который можно сделать без поддержки Apple.

Всё, чем сейчас занимается господин Мартин, — это странная демагогия в твиттере/блоге/стримах, которая создаёт видимость какой-то полезной работы, выполняемой якобы с нуля без копипасты уже готового кода. Всё приличное сообщество ржёт уже который месяц, но получать донаты приятно :D, потому отступать некуда, позади патреон.

Если по-существу, то сейчас осталось поднять нормально ускорение GPU, но эта задачка, мягко говоря, не уровня команды Asahi Linux, тем более, там подписан микрокод. Так что мы будем смотреть ещё полгода, как товарищи пишут лоадер на питоне.
Сокрытие e-mail вам никак не поможет, так как никто не запрещает использовать users.noreply.github.com.
Если кратко, то сделано примерно так. Есть некоторый зашифрованный контент, расшифровка которого происходит на устройстве, ME, в апплете PAVP, доступа к которому у пользователя нет. В случае наличия дискретной видеокарты после расшифровки контент шифруется заново, но уже публичным ключом видеокарты, и отдаётся пользователю. Пользователь отдаёт его видеокарте, к логике которой у него тоже нет доступа. Для Intel GPU контент в неё может передаваться без вмешательства пользователя. GPU его расшифровывает и шифрует HDCP ключом монитора, отправляя по HDMI/DisplayPort. Монитор при приёме расшифровывает и отображает.

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

Добрый день,


Спасибо за статью. Подход достаточно интересный, но возможно несколько странный.


  • Почему нельзя было воспользоваться fsevents? Они из userspace доступны и предназначены в общем-то как раз для вашего случая. Проблемы асинхронности с ними вполне должны решаться через flock.
  • Синхронный запрос в userspace на каждую I/O операцию будет приводить к жутким лагам, если не делать это сильно избирательно для пары файлов, но тогда лаги всё равно будут, пусть и при использовании этих файлов.
  • Непонятно, как за такой варварский патчинг ядра вам дали сертификат для подписи драйвера, и пока ещё его не отобрали.
Ребята, вы молодцы, конечно, спасибо за ваш труд… Но перед выпуском анализатора вы его в macOS хотя бы проверяли? Я вот сгенерировал отчёт для произвольного проекта и открыл его в актуальном Safari на 10.13.3. Вижу, что все предупреждения отображаются в самом низу страницы. Понять, к какой строчке кода они относятся довольно проблематично:
image

Я далёк от мира веб-разработки, но даже Safari пишет в консоли о некорректном селекторе в $('.balloon').each:
Error: Syntax error, unrecognized expression: a[name="ln111"

Может, вам анализатор какой-нибудь стоит поискать, сами же рекомендуете :)

P. S. Предупреждение выше возникает из-за игнорирования анализатором свойства __attribute__((weak)) в прототипе функции. Насколько я помню, в Linux оно тоже используется.
Спасибо однако, сколько лет пользуюсь, никогда не догадывался залезть в ман/ткнуть непосредственно по if/while. Хотя реализация в очередной раз не самая приятная, можно было раскрытие хотя бы по двойному клику сделать, это прогресс.

А вот сокрытие произвольных областей по маске было бы интересно, не часто вижу обфусцированный код, но полагаю, там особенно актуально.
Спасибо, обязательно попробую на досуге, с таблицами виртуальных прямо то, что надо. Напомнило HexRaysCodeXplorer, который регулярно выручает, но как я понимаю, если взять вместе с ClassInformer у вас тут функционал покруче.

Раз уж делаете трансформации кода, и есть предложения по feature requests, не добавите code folding? Я пользуюсь Hexlight, конечно, но иногда так и тянет убрать большой блок, чтобы не маячил перед глазами. Впрочем, настаивать не буду.
Допускаю, хотя 24 гига всего на 1 DVD — я бы задумался, а как оно написано. Однако тот же нео или синалайзис, которые являлись прямыми (и чуть ли не единственными) конкурентами, вылетят много раньше.

Лукавство лукавством, но как реверсер вы должны понимать, что сложность не столько в декомпиляторах, сколько в возможности подобраться к функции распаковки, начиная с возможности чтения бинарника вообще. Отладчика может не быть, а XREF-ы на библиотеки не находиться.

Впрочем, мы по-моему отошли от темы, к предложенному инструменту конкуренты не относятся; спасибо за дискуссию.
Стоит порадоваться, что в отличие от конкурентов даже после выжирания гигабайтов памяти он не вылетает и не зависает наглухо. Но претензии по делу, достаточно какого-нибудь скрипта с несколькими миллионами инструкций. Хотя для меня императивность — это особенность/возможность, а не недостаток.
А вот со сжатием — если дело с популярной платформой типа x86, то часто легче выдрать, в консольных же движках подлезть далеко не всегда проще ручного анализа.
Выскажусь в защиту предыдущего автора. Новый инструмент достаточно интересный, и мне самому захотелось попробовать, как понадобится разобрать какой-то формат.

Однако я бы не был столь категоричен насчёт 010. Распаковщик можно написать даже в рамках его скриптового языка, и мне приходилось вполне успешно это делать (хотя количество багов что в 010, что в питоновой реализации его шаблонизатора убивает).

Более того, лично мне представление данных в 010 очень удобно, так что уйти от него будет нелегко. Да и много больше времени при разборе формата уходит на алгоритм сжатия, чем на написание небольшого куска кода для i/o. Тем более, что почти всегда это копипаст с других утилит.
— хорошо он показывает для IDA и ей подобных продуктов =)
— это решаемо;
— достаточно сделать фейс-контроль при регистрации аккаунта с привязкой к персональным данным.
на персональный компьютер клиента загружается «голый», еще не подписанный исполняемый файл.

У меня одного после прочтения этой строчки сложилось мнение о CEG как о каком-то убожестве, наносящем вред исключительно легальным пользователям?
Пропущено
Точно нету basic xss. :)
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность