В данной заметке речь пойдёт о замечательном средстве автоматизации сборки кросс-тулчейнов crosstool-ng, практически незаменимого инструмента для любого уважающего себя embedded-разработчика. Если вам приходилось по-серьёзному собирать софт из x86-linux под arm-linux, то вы наверняка слышали о нём.
В данном руководстве рассматривается не столько кросс-компиляция по архитектуре, сколько кросс-компиляция по системе — сборка под Linux в Darwin.
Не прошло и года после того, как Onyx Boox презентовала электронную книгу Darwin 8, и вот компания представила новую модель в той же линейке – Darwin 9. Новинка во многом продолжает традиции своих предшественников, но не обошлось без обновлений.
Все мы отмечаем успешную карьеру Стива Джобса и благодарны ему за огромные улучшения в компьютерных интерфейсах и электронных устройствах. Он просто великолепен. Но в то же время Apple — централизованная, контролируемая организация с жёстким надзором за App Store и анонсами новых продуктов. Скрытая причина того, что сейчас недовольные пользователи и приверженцы свободного ПО обратили свою историческую антипатию к Microsoft в сторону Apple — то, что эта компания представляет собой блестящую бизнес-историю в новой эпохе. Поэтому я хочу примирить обе стороны и рассказать, насколько важным является свободное ПО для успеха Джобса и Apple.
Magenta — реализация Darwin/BSD поверх ядра Linux, полностью бинарно совместимая iPhone OS 5.0 (использует тот же бинарный формат), работает на любом процессоре ARMv7.
Разработчик Кристина Б. взяла Darwin (основа iOS, опубликован под свободной лицензией APSL) и попыталась заменить все остальные проприетарные компоненты iOS свободными альтернативами.
Многие об этом говорят, но какое на самом деле место занимает Cocoa environment в жизни IOS и MacOS, да и вообще что это за такая уличная магия?
Поприветствуйте Cocoa!
Cocoa — это основная среда приложений для Mac OS X (есть еще Carbon, но эта среда используется в основном только для поддержки кода написанного для Mac OS 9.) и единственная среда приложений для операционных систем IOS. Она состоит из набора объектно-ориентированных библиотек, исполняющей среды и среды разработки.
Большинство программ, которые используют пользователи Mac OS X (например, Mail или Safari), а тем более, пользователи IOS, это программы, написанные с помощью Cocoa.
Ну а для создания приложений под Cocoa используется знаменитый Xcode.
Как и с чем?
Как и во всех средах приложений, Cocoa имеет два мира: мир runtime'а и
Привет всем Хабровчанам! Меня зовут Дарвин и сегодня я расскажу вам о том, как решал крякми от ZeroNights 2013 и Лаборатории Касперского для форума r0 Crew и его полу-приватной Киевской встречи.
И снова всем привет! В прошлый раз я раскрыл решение ZeroNightsCrackMe. Все кто успел его вовремя решить, мог получить приглашение на экскурсию в один из офисов Лаборатории Касперского, а так же подарок, в виде лицензионного ключа на три устройства. Но, помимо всего прочего, в Касперском сообщили, что крякми был облегченным, т.е. существует более сложная его версия и она будет разослана тем, кто пожелает её посмотреть (но без подарков, в своё удовольствие, так сказать). Конечно же я не мог отказать себе в том, чтобы не покрутить эту версию, поэтому подтвердил свое желание на участие.
17 февраля пришло письмо с новым крякми. Именно о его решении (и не только) я и поведаю в этой статье.
Представляю вашему вниманию перевод моей статьи из блога Проекта Darling. Маленькая справка по используемым понятиям: Darwin – операционная система с открытым исходным кодом, лежащая в основе macOS, iOS и других ОС от Apple; Mach-O – бинарный формат исполняемых файлов и библиотек, использующийся в Darwin; dyld – динамический загрузчик, использующийся в Darwin для загрузки файлов Mach-O; dylib – динамически загружаемая библиотека (обычно имеет расширение .dylib).
Цель Проекта Darling – сделать возможным запуск macOS-приложений под Linux, и умение загружать бинарные файлы в формате Mach-O – один из ключевых шагов к достижению этой цели.
Исходно, Darling был выстроен вокруг собственной реализации загрузчика Mach-O и идеи транслирования вызовов между высокоуровневым Darwin API и его Linux-аналогами. С тех пор наш фокус сместился на запуск кода во всё более и более изолированном Darwin-контейнере. С тех пор как мы перешли на использование Mach-O для внутренних компонентов Darling, у нас появилась возможность использовать исходный dyld от Apple, а также собирать многие другие компоненты Darwin с открытым исходным кодом. Нам всё ещё нужен простой загрузчик Mach-O, чтобы загружать сам dyld.