Отправляет email-рассылки с помощью сервиса Sendsay

Хakep_daily

  Все выпуски  

Как кастомизировать Android, не устанавливая патчи *


PDA   подписка    wiki   bugtrack   статьи    видео   блог   форум   поиск    друзья   






Рисованный звук: из прошлого в будущее
2014-10-17 10:30 Джон Сноу

Творческому человеку всегда интересны смелые эксперименты, открывающие новые горизонты и возможности. Фантастическая идея — рисовать музыку, создавать неповторимые картины, воплощающие графику и звук, уходит корнями в начало XX века. В этой статье я расскажу об истории вопроса, а также о двух своих разработках, позволяющих делать удивительное — записывать и воспроизводить звуки в графическом виде.

Предыстория

В 1904 году французский изобретатель Юджин Августин Ласт представил прототип системы оптической записи звука на кинопленку, а в 1911 устроил, возможно, первый в истории показ фильма с использованием новой техники. Началась эра заката немого кино и революционных открытий в области синтетического звука — впервые удалось получить простой, удобный и очень наглядный способ управления аудиоинформацией.

Фрагмент пленки с аппарата Ласта

Фрагмент пленки с аппарата Ласта

В конце 1920-х годов при работе над одним из первых советских звуковых фильмов преимущества подобной техники отметили композитор Арсений Авраамов, конструктор Евгений Шолпо и режиссер-аниматор Михаил Цехановский. Логическая цепочка выстраивалась следующая: если мы ясно видим дорожку с записанной звуковой волной — значит, мы можем эту же волну создать искусственно, просто нарисовав ее от руки. А что, если поместить туда орнамент, сложное сочетание узоров или примитивов евклидовой геометрии? Насколько фантастичным будет результат? Ведь таким образом можно нарисовать совершенно уникальный, не существующий в природе звук, а музыку можно писать без реальных инструментов, микрофонов и исполнителей.

Несколько лабораторий вскоре занялись изучением этих вопросов. И в результате появились синтезаторы оптической фонограммы: «Вариофон» Евгения Шолпо, «Виброэкспонатор» Бориса Янковского, машина Николая Воинова для разметки «гребенок» из бумаги — базовых фрагментов синтезируемого звука. На слух все это очень напоминало современную 8-битную музыку, но с большей степенью свободы: любые формы колебаний, неограниченная полифония, самые невообразимые ритмические рисунки. Вы только вдумайтесь — оптический синтезатор, музыкальный компьютер в тридцатые годы прошлого столетия! Но это только цветочки. Мысль советских инженеров пошла дальше.

Евгений Шолпо. Вариофон. 1933

Евгений Шолпо. Вариофон. 1933

В отличие от своих коллег акустик Борис Янковский одним из первых осознал, что для создания сложных, приближенных к живым звуков недостаточно описания одной только формы колебаний. Важнейшая часть акустической информации — это спектр, четко определяющий частотный состав звука, его окраску, по которой мы даем такие субъективные определения, как яркий, теплый, металлический, похожий на человеческий голос и так далее.

Янковский начал структурировать базовые графики спектра в своего рода «таблицу Менделеева» звуковых элементов, параллельно разрабатывая алгоритмы их обработки и гибридизации для получения новых звуков на базе «спектростандартов». К сожалению, перемены в стране и война не дали Янковскому довести работу до логического завершения.

Тему продолжил его знакомый, молодой изобретатель Евгений Мурзин, впечатленный наработками в области «графического звука» и задумавший грандиозный проект — универсальную фотоэлектронную машину, способную синтезировать любой звук, любой музыкальный строй методом рисования спектрограммы (зависимость спектра от времени) на специальном холсте без отвлекающих операций вроде проявки и сушки пленки. Это упростило бы кропотливую работу композитора, предоставив небывалую свободу для творчества.

Буквально на коленке, трудясь вечерами в комнате двухэтажного барака, Мурзин закончил рабочую модель аппарата в 1958 году. Аппарат весил больше тонны и внешне имел мало общего с музыкальным инструментом в классическом понимании. Изобретение было названо «АНС» в честь композитора Александра Николаевича Скрябина. Несмотря на внешний вид, АНС стал мировой сенсацией, опередив свое время на десятилетия и очень удачно вписавшись в период космической эйфории со своим неповторимым атмосферным звучанием.

АНС

АНС

Евгений Мурзин показывает свое детище. ВДНХ. 1962

Евгений Мурзин показывает свое детище. ВДНХ. 1962

АНС, скан из журнала «Техника — молодежи» 1960

АНС, скан из журнала «Техника — молодежи» 1960

АНС, скан из журнала «Техника — молодежи» 1960

АНС, скан из журнала «Техника — молодежи» 1960

Оптико-механический генератор чистых тонов синтезатора АНС

Оптико-механический генератор чистых тонов синтезатора АНС

АНС чем-то напоминает современный сканер, только двигается в нем не сканирующая полоска, а сама поверхность с изображением — большая стеклянная пластина (партитура), покрытая непрозрачной краской. Краска в нужных местах снимается тонким резцом, образуя рисунок спектрограммы музыкального произведения. Партитура плавно передвигается, проходя над отверстием, из которого идет прерывистый «модулированный» луч света от оптико-механического генератора чистых звуковых тонов на базе пяти специальных дисков оптической фонограммы. Часть света проходит через прозрачные области партитуры, после чего фокусируется на набор фотоэлементов, с которых выходит готовый к воспроизведению звук в форме колебаний электрического тока.

Сердце АНСа — это упомянутый диск с рисунком из 144 дорожек (как на грампластинке), прозрачность которых изменяется по синусоиде с определенной частотой. Разница по частоте между соседними дорожками — 1/72 октавы. Таким образом, один диск содержит две октавы, а октава делится на 72 чистых тона — Мурзин считал классическую 12-тоновую темперацию существенным ограничением. По сути, каждый диск — это оптическая реализация алгоритма преобразования Фурье, лежащего в основе многих современных программных синтезаторов и эффектов. Это в порядке вещей сейчас, во времена гигагерц и гигабайт, но 50 лет назад было просто невероятно — спектральный синтезатор, способный играть 720 чистых тонов одновременно! Недаром АНС считается первым в мире многоголосным музыкальным синтезатором.

Если ты думаешь, что никогда не слышал звуки АНСа раньше, то, скорее всего, ошибаешься. Вспомни хотя бы фильмы Андрея Тарковского «Солярис», «Зеркало», «Сталкер», завораживающие волшебной музыкой Эдуарда Артемьева. Или сцену ночного кошмара из комедии Леонида Гайдая «Бриллиантовая рука». Стоит отметить, что карьера самого Артемьева как композитора-электронщика началась именно со знакомства с АНСом и его создателем в 1960 году. Кроме Артемьева, с инструментом успели поработать Альфред Шнитке, Эдисон Денисов, София Губайдулина, Станислав Крейчи, а звуки АНСа в разное время использовали в своей музыке такие группы, как Coil и Bad Sector.

К сожалению, до наших дней дошел лишь один экземпляр синтезатора АНС, изготовленный промышленно в конце 1963 года. Находится он в Москве в Государственном музее музыкальной культуры имени Глинки. Несмотря на непростую судьбу, аппарат по сей день в рабочем состоянии и время от времени играет для посетителей музея под чутким присмотром Станислава Крейчи. Для тех же, кто далеко от Москвы или просто хотел бы поэкспериментировать со звучанием АНСа у себя дома, существует программный симулятор под названием Virtual ANS.

Virtual ANS: графический редактор

Разработка Virtual ANS ведется автором данной статьи с 2007 года. Цель программы — максимально воссоздать ключевые особенности, атмосферу железного АНСа, расширив при этом оригинальную идею с учетом богатых возможностей современных компьютеров. Из основных отличий:

  • программа кросс-платформенная (Windows, Linux, OS X, iOS, Android), что позволяет наслаждаться работой с инструментом где угодно и на чем угодно: начиная от дешевого телефона и заканчивая мощным студийным компьютером;
  • количество базовых генераторов чистых тонов теперь ограничено лишь фантазией пользователя и скоростью центрального процессора;
  • появилась возможность обратного преобразования из звука в спектр.

Virtual ANS — графический редактор с классическим набором инструментов: примитивы, кисти, слои, эффекты, загрузка/сохранение PNG, GIF, JPEG. Но картина, которую ты увидишь на экране, есть на самом деле партитура музыкального произведения (она же сонограмма или спектрограмма), которую в любой момент можно послушать или слушать и рисовать одновременно. Партитура раскладывает композицию на «звуковые атомы» — неделимые кусочки чистых тонов (синусоидальных колебаний). По горизонтали — ось времени X (слева направо). По вертикали — высота тона Y (снизу вверх от басов к высоким частотам). Яркость отдельного пикселя — это громкость чистого тона с частотой Y в момент времени X. Изображение спектра по вертикали делится на октавы, октава — на 12 полутонов, полутон — на еще более маленькие еле уловимые на слух микротоны, для точного описания любого музыкального строя, любого самого немыслимого тембра. Если на партитуре АНС провести горизонтальную линию толщиной в один пиксель, то мы услышим единственную синусоиду с постоянной частотой. Чем толще линия — тем больше чистых тонов будет входить в ее состав, тем сложнее будет звук, и тем сильнее звучание будет приближаться к белому шуму, насыщенному обертонами всех частот слышимого диапазона. Сочетание таких линий с другими фигурами разной яркости дает неожиданные и интересные звуковые вариации.

В процессе работы над Virtual ANS появилась любопытная мысль. Фрагмент аудиофайла или, скажем, запись голоса с микрофона можно преобразовать в партитуру АНС, то есть в спектрограмму — картинку с закодированным в ней звуком. И звук этот можно с легкостью воспроизвести обратно при помощи той же самой программы. Возникает естественное желание распечатать картинку спектра на принтере и получить бумажную копию своего голоса или музыки.

Именно для этих целей был задуман PhonoPaper — еще один проект, наследующий идеи звуковых революционеров прошлого столетия. Что же такое PhonoPaper?

  1. Формат изображения, в котором закодирован звук. От спектрограммы АНС этот код отличается только тем, что сверху и снизу появились специальные маркеры, по которым считывающее устройство точно определяет границы блока со спектром.
  2. Приложение-сканер для чтения PhonoPaper-кодов в реальном времени при помощи камеры.
  3. Приложение-рекордер для конвертации 10 секунд звука в PhonoPaper-код. Хотя для более точного управления преобразованием лучше всего использовать описанный выше Virtual ANS.

PhonoPaper-код можно назвать аналоговым, так как в его составе нет цифровой информации, а сам он может быть записан на любой доступной поверхности (бумага, пластик, дерево). По этой причине для него некритичны разного рода искажения: при плохом освещении и измятой бумаге ты как минимум услышишь «очертания» оригинального послания. Для прослушивания кода не требуется выход в сеть — вся необходимая информация хранится непосредственно на картинке, а проигрывание начинается мгновенно после попадания в поле зрения камеры. При этом, как и в синтезаторе АНС Мурзина, пользователь сам контролирует скорость и направление игры, сканируя звуковой код вручную (хотя имеется и автоматический режим).

Есть ли практический смысл? Представь себе: звуковые подсказки в детских книжках или учебниках; кусок новой песни на диске или рекламном плакате группы; аудиометки на товарах; секретные послания на стенах зданий; звуковые открытки и разного рода арт-эксперименты. Это имело бы смысл при наличии очень простого способа чтения таких изображений. Ведь его нужно сфотографировать, загрузить в программу и безошибочно указать границы спектра, базовую частоту и количество октав.

Virtual ANS. Рисуем музыку на iPad

Virtual ANS. Рисуем музыку на iPad

Инструкция по применению

  1. Установи приложение PhonoPaper на iPhone или Android-смартфон.
Версия для iOS

Версия для iOS

Версия для Android

Версия для Android

Версия для Android, отдельный APK-файл

Версия для Android, отдельный APK-файл

  1. Запусти приложение.
  2. Наведи на каждую фонограмму.
В. А. Моцарт. Лакримоза

В. А. Моцарт. Лакримоза

В. А. Моцарт. Серенада № 13

В. А. Моцарт. Серенада № 13

«Говорит и показывает Москва!»

«Говорит и показывает Москва!»

«Мы к вам, профессор» — диалог из «Собачьего сердца»

«Мы к вам, профессор» — диалог из «Собачьего сердца»

Пример возможных искажениий кода

Пример возможных искажениий кода

Вместо заключения

Как видим, очередной виток спирали возвращает нас назад к истокам. И это естественно, ведь мир сегодня перенасыщен скрытыми от человека процессами обработки информации и все сильнее погружается в виртуальное пространство, оцифрованное, закодированное и упакованное. Музыкальные инструменты прячут свою природу, их нельзя потрогать или заглянуть под крышку, чтобы прикоснуться к волшебству рождения нового звука, ощутить его энергию. Рисование музыки на «атомарном» уровне и перенос этого процесса в реальный мир — несомненно, большой шаг к сокращению расстояния между композитором и воплощением его творческих замыслов. Одновременно с этим создание музыки становится доступным для любителей и представителей смежных видов искусств, мы больше не ограничены жесткими рамками и правилами, а нотная грамота отныне лишь дополнение. Берем ручку, бумагу и начинаем творить новый шедевр.

 



Новые планшеты iPad и другие новинки Apple
2014-10-17 12:14 Denis Mirkov

На вчерашней презентации компания Apple представила новые планшеты iPad, компьютеры iMac с рекордным разрешением дисплея 5K, обновлённые компьютеры Mac Mini, а также несколько других новинок. Особенно удивляет очень большое количество новых моделей iPad, так что покупатели могут даже растеряться.

iPad Air 2

003
004

Флагманский планшет iPad Air 2 на 18% тоньше оригинального iPad Air и теперь имеет толщину всего 6,1 мм. Выпущено аж 6 новых моделей: три модели с WiFi на 16, 64 и 128 ГБ, и три модели WiFi+LTE на 16, 64 и 128 ГБ. Стоимость различается от $499 за самую дешёвую модель до $829 за самую дорогую. Все они доступны также в трёх вариантах расцветки: золотой, серебряный и серый.

Высокая стоимость новых планшетов частично компенсируется снижением цен на старые модели.

Новые модели оборудованы более качественными экранами с антибликовым покрытием, более мощными двухъядерными 64-битными процессорами A8X (+40% к производительности), аккумуляторами на 10 часов работы, камерой на 8 мегапикселов (видео до 120 fps), WiFi 802.11 ac, и сканером отпечатков пальцев TouchID.

Приём предзаказов начался сегодня, и до конца недели Apple обещает доставить заказы.

iPad mini 3

005
006

Планшеты уменьшенного размера iPad mini 3 с дисплеем 7,9″ имеют конфигурацию попроще и стоят дешевле.

В них работает процессор A7, камера на 5 мегапикселов и WiFi 802 n.

Что характерно, в iPad mini 3 тоже есть сканер отпечатков пальцев. Похоже, он стал базовой функцией гаджетов Apple.

Mac Mini

007

Mac Mini теперь оборудованы новыми процессорами Intel Core i5 1,7-2,8 ГГц, видеочипами HD Graphics 5000, 4-8 ГБ RAM, HDD от 500 ГБ до 1 ТБ, WiFi 802.11 ac, двумя порта Thunderbolt 2.

008

Цены начинаются от $499.

iMac

007

Главная особенность новых настольных компьютеров iMac — 27-дюймовый дисплей с рекордным разрешением 5120 x 2880. Картинка такого качества генерируется видеокартой AMD Radeon R9. Очевидно, что эти компьютеры лучше всего подходят для фото- и видеообработки.

Цены начинаются от $2499 за модель с Intel Core i5 (3,5 ГГц), 8 ГБ RAM, диском на 1 ТБ и картой AMD Radeon R9 M290X с 2 ГБ видеопамяти GDDR5.

Максимальная конфигурация включает в себя Intel Core i7 (4 ГГц), 32 ГБ RAM, SSD на 1 ТБ и более быструю видеокарту AMD Radeon M295X.



Превращаем малиновый микрокомпьютер в универсальную ретроконсоль
2014-10-17 13:01 Джон Сноу

До выхода некстген-консолей остался месяц с лишним, и весь мир готовится к новым Battlefield’ам и FIFA’м. Если тебя все это не возбуждает, у тебя есть возможность прямо сейчас приобщиться к вечным ценностям. Давай посмотрим, как твой Raspberry Pi поможет тебе в этом деле.

Почему именно Raspberry Pi? Разумеется, ты можешь запустить эмулятор почти на любом устройстве. В большинстве случаев ты даже сможешь вывести картинку на большой экран и воспользоваться любым джойстиком. Но хочется получить все удобства работы с приставкой. Это значит: никаких клавиатур и мышей, возможность выполнять все, что нужно, с джойстика и высокая скорость загрузки. Низкое энергопотребление и бесшумность позволяют держать Raspberry Pi всегда включенным, так что последний пункт вычеркиваем. Мощности «малинки» хватит для всего, кроме разве что PS1 (но, уверен, это скоро изменится благодаря проектам вроде PSX ReARMed). А со всем остальным нам на помощь придет проект RetroArch и его графическая надстройка Emulation Station!

Что нам понадобится

Во многом придется повториться: очень желателен корпус (они сейчас доступны по 300–400 рублей), а подходящий зарядник у тебя почти наверняка уже есть. Наконец, понадобится SD-карта. Чем выше класс — тем лучше, тем более что 32-гиговые карты 10-го класса стоят довольно мало. Также желателен Wi-Fi-адаптер. Я пользуюсь TP-LINK TL-WN725N. В отличие от медиацентра, для игровой системы качество канала не критично, но само подключение необходимо (зачем — мы поговорим чуть позже).

Weapon of choice

Самому важному железному компоненту я решил отвести отдельную главу. Конечно же, речь пойдет о геймпаде. Какой лучше выбрать?

За последние 10–15 лет консоли заметно изменились, и это отразилось на их контроллерах. В первую очередь речь идет о крестовине, которая сейчас остается важной только в очень специфичных жанрах. В старых играх же крестовина была главным элементом. Взять хотя бы диагональные движения: стрельба «вверх-вправо» в Contra нужна очень часто, и тут важно четкое срабатывание. Кроме того, Nintendo до последнего удавалось удерживать патент на классическую крестовину. Microsoft, Sony и прочим приходилось изгаляться по-всякому. Насколько я понимаю, фанатам Sony в этом смысле повезло больше — у них, в отличие от Microsoft, крестовина разделена и поэтому работает четко. Короче говоря, покупка USB-клона ретроконтроллера на Amazon’е в этом контексте не кажется блажью.

Но с другой стороны, клон NES-контроллера точно не подойдет для SNES или Sega Megadrive — у него банально не хватит кнопок. Забегая вперед, скажу, что нам понадобятся дополнительные клавиши на джойстике, если мы не хотим использовать клавиатуру для выхода из эмулятора и других дополнительных функций. В этом смысле прелесть контроллера от PS3 или Xbox 360 в том, что клавиш точно хватит.

Опять-таки если у тебя уже есть игровая приставка, то наверняка есть и геймпад. Завести контроллер Xbox 360 или PS3 относительно просто.

У фанатов Sony в данном случае есть большой плюс — их джойстик универсален и может подключаться как по стандартному Bluetooth, так и по USB. С другой стороны, драйвер для DualShock придется качать и собирать своими руками, а драйвер для Xbox доступен в родном репозитории.

Другой плюс контроллера от Xbox в том, что если потом захочется поиграть на PC, то у него поддержка в играх намного лучше, чем у DualShock’а. Жирный минус в том, что контроллер от Xbox 360 работает по проприетарному беспроводному протоколу и разъем у него отличается от USB.

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

  1. Купить специальный и довольно редкий беспроводной USB-адаптер Wireless Gaming Receiver for Windows PC, стоит около 1300 рублей.
  2. Купить специальный и менее редкий USB-провод для зарядки беспроводного джойстика Play & Charge Kit. Продается в комплекте с аккумулятором, стоит около 700 рублей. Длина кабеля — 2,7 м.
  3. Купить проводной джойстик (около 1500 рублей). Длина кабеля — все те же 2,7 м.

В общем, если у тебя не очень большая гостиная, логичнее всего купить Play & Charge Kit. Все-таки в быту аккумулятор намного полезнее, чем все остальное. Ну а у меня уже был проводной контроллер Xbox, поэтому говорить буду о нем.

Разворачиваем систему

Все, о чем дальше пойдет речь, стало возможным благодаря проекту RetroArch. Это фреймворк, объединяющий кучу эмуляторов для различных систем, от NES до PSX и DOS. Благодаря ему нам не придется, например, отдельно настраивать управление в каждом эмуляторе. Raspberry Pi активно поддерживается, и существует специальный скрипт, позволяющий довольно просто установить его на официальный дистрибутив Raspbian. Все действительно просто, но довольно долго. Мы пойдем более простым путем и возьмем специальный образ. По сути это и есть стандартный Raspbian, только с уже установленными эмуляторами.

Скачай образ любым удобным способом и залей его на SD-карту. Под Windows ты можешь использовать Win32 Disk Imager, а под Linux и OS X воспользуйся стандартным dd:

dd if=RetroPieImage* of=/dev/sdX bs=1M # Для Linux
dd if=RetroPieImage* of=/dev/rdiskN bs=1M # Для OS X

Обрати внимание, что заливать нужно не в раздел, а в корень диска (то есть /dev/sdc, а не /dev/sdc1). Макинтошникам стоит обратить внимание на приставку r (rdisk вместо disk) — этот режим значительно ускоряет запись данных.

При загрузке ты увидишь вот такой сплешскрин

При загрузке ты увидишь вот такой сплешскрин

Итак, записали диск, вставили в Raspberry. Подключаем зарядку, сетевой кабель и HDMI. Войдем в систему по SSH:

ssh pi@192.168.1.209 # Указывай свой IP, пароль — raspberry

Воткни Wi-Fi-адаптер и контроллер. Теперь настроим Wi-Fi самым простым способом.

sudo nano /etc/network/interfaces

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0

iface wlan0 inet dhcp
    wpa-ssid "ssid" # Имя твоей сети
    wpa-psk "password" # Пароль к сети

А теперь займемся настройкой геймпада Xbox:

sudo apt-get update
sudo apt-get install xboxdrv
sudo nano /etc/rc.local
xboxdrv --trigger-as-button --id 0 --led 2 --deadzone 4000 --silent & sleep 1
xboxdrv --trigger-as-button --id 1 --led 3 --deadzone 4000 --silent & sleep 1
xboxdrv --trigger-as-button --id 2 --led 4 --deadzone 4000 --silent & sleep 1
xboxdrv --trigger-as-button --id 3 --led 5 --deadzone 4000 --silent & sleep 1

Обрати внимание на опцию –id. Для беспроводного джойстика нужно использовать –wid.

Можно использовать до четырех джойстиков, но тогда придется задействовать USB-хаб с внешним питанием.

Теперь зайдем в настройки самой Raspberry:

sudo raspi-config

По умолчанию системе недоступно все дисковое пространство. Для того чтобы это изменить, выбери пункт Expand Filesystem. Во-вторых, можно поиграться с настройками производительности. Тут стоит поэкспериментировать, единого варианта нет. Я не трогал частоту процессора (пункт Overclock), но менял распределение памяти между оперативной и графической (Advanced -> Memory Split) на 256/256. После того как ты закончишь с настройками, система предложит тебе перезагрузиться. Согласись. При перезагрузке можешь выдернуть сетевой кабель — подхватится Wi-Fi.

Warning

Выставлять очень высокие значения частоты процессора не рекомендуется — это может привести к нарушению целостности данных на карте. Кроме того, в Emulation Station могут быть лаги.

Если все пошло как надо, то после загрузки на твоем геймпаде кружок вокруг X перестанет мигать и засветится первый сегмент. Это значит, что джойстик определился как первый в системе. При первом запуске Emulation Station предложит тебе настроить управление на джойстике, тут все довольно прозрачно.

Итак, ты в главном меню. Переключение между эмуляторами происходит по нажатию стрелок вправо-влево. Сначала ты можешь прийти в ступор — почему доступен только Doom, Duke Nukem, DOS, Apple II и Sega? Дело в том, что большинство эмуляторов будут доступны только тогда, когда в их папках появятся файлы ромов. И вот сейчас ты поймешь, зачем был нужен Wi-Fi!

На своей основной системе подключись к FTP-серверу с IP-адресом твоей «малинки» (на всякий случай: после перехода на Wi-Fi он точно будет другой). Здесь ты увидишь аккуратную структуру папок с именами систем. Учти, что каждый эмулятор поддерживает вполне конкретный набор форматов. Привожу табличку для основных эмуляторов, а полный список ты найдешь в файле /home/pi/.emulationstation/es_systems.cfg. В общем, главный момент — не нужно заливать ромсеты с ZIP-файлами. Потратишь кучу времени, а потом еще будешь сильно удивлен.

Форматы, поддерживаемые эмуляторами RetroPie

Форматы, поддерживаемые эмуляторами RetroPie

После того как ты залил нужный ROM, нужно обновить Emulation Station. Для этого на геймпаде (при стандартной конфигурации) нужно нажать Start и выбрать Reload. Вуаля — соответствующий эмулятор активировался и ему видны твои ромы.

Но не спеши загружаться. По умолчанию Emulation Station не позволяет выходить из эмулятора в основное меню с геймпада. И тут начинается самый интересный момент — ручная настройка кнопок джойстика. Подключайся по SSH, набирай

sudo nano ~/RetroPie/configs/all/retroarch.cfg

Добавь в конец файла

input_exit_emulator_axis = -5

Это позволит тебе выходить из эмулятора при нажатии «вверх» на крестовине. Но на этом дело не заканчивается!

savefile_directory = /home/pi/RetroPie/savestate
savestate_directory = /home/pi/RetroPie/savestate
screenshot_directory = /home/pi/RetroPie/screenshots
autosave_interval = 300
input_exit_emulator_axis = -5
input_save_state_axis = +4
input_load_state_axis = -4
input_screenshot_axis = +5
Если не настроить кнопку выхода, то покидать эмулятор придется с помощью ребута. Из-за частых перезагрузок запросто может нарушиться целостность карты, и придется заново заливать образ.

Итак, с помощью крестовины ты сможешь выходить из эмулятора, делать сохранение (вправо), загружать сохранение (влево), делать скриншот (вниз). При желании можно добавить страховку, для этого вставь перед input_exit строчку

input_enable_hotkey_btn = 10

Теперь для каждого действия нужно будет зажать большой Х. Учти, что любое назначение после этой строчки будет считаться как клавишесочетание Х + кнопка. На всякий случай я приложил схему кнопок с точки зрения конфига. Каждый элемент имеет суффикс (btn или axis) и номер (5, 10 или +4 для стрелок/джойстиков).

joystik

Чтобы сохранения и скриншоты заработали, не забудь создать нужные папки:

sudo mkdir /home/RetroPie/{savestate,screenshots}

После того как ты закончил все это править, не забудь снова перегрузить эмулятор. На самом деле настроек намного больше: как минимум есть еще ускоренный режим (inputtogglefastforward или inputholdfastforward). В интернете можно ознакомиться с полным списком опций.

Наводим красоту

Итак, остались мелочи. Во-первых, можно отключить ненужные эмуляторы. Для этого закомментируй их в /home/pi/.emulationstation/es_systems.cfg. Заодно можешь закомментить и Input Control — все равно для любой задачи тебе придется лезть в конфиг.

У RetroPie есть свой отдельный конфигуратор

cd ~/RetroPie-Setup/
sudo ./retropie_setup.sh

Отсюда ты можешь обновить эмуляторы и поковыряться в различных опциях.

Во-вторых, в поставке RetroPie есть скрипт, который автоматически ищет обложки к играм. Для этого запусти:

sudo python ~/RetroPie/supplementary/ES-scraper/scraper.py -crc

Опция crc позволит искать не по названиям, а по сигнатурам файлов. Понятно, что это более длинный процесс, но зато это проще, чем вручную называть файлы так, чтобы понял скрипт. Вот, пожалуй, и все.

 



В OpenSSL устранили четыре уязвимости
2014-10-17 13:50 Denis Mirkov

Вышли обновленные версии криптографического пакета OpenSSL, в которых закрыты четыре уязвимости, одна из которых имеет высокий рейтинг опасности и допускает проведение атаки типа «отказ в обслуживании» на сервер.

Уязвимость вызвана неправильным парсингом кода расширением DTLS SRTP (CVE-2014-3513) и позволяет отправить особым образом составленный запрос на рукопожатие, который заставит OpenSSL освободить до 64 килобайт памяти. Множество таких запросов приведёт к утечке памяти и к тому, что сервер перестанет нормально работать. Кто-то может использовать это для DoS-атаки.

Баг затрагивает серверные версии OpenSSL 1.0.1 в конфигурациях как SSL/TLS, так и DTLS. Причём независимо от того, используется ли расширение SRTP и как оно сконфигурировано. Единственное исключение — реализации OpenSSL, скомпилированные с настройкой OPENSSL_NO_SRTP.

Пользователям OpenSSL 1.0.1 следует обновиться до версии 1.0.1j.

Интересно, что патч предоставлен разработчиками проекта LibreSSL ещё 26 сентября, но команда OpenSSL исследовала проблему и 15 октября выпустила собственный патч.

Среди других закрытых уязвимостей — утечка памяти тикета сессии и уязвимость POODLE в SSL 3.0.

Версии OpenSSL 1.0.0 нужно обновить до 1.0.0o, а OpenSSL 0.9.8 — до 0.9.8zc.



WebRTC-видеочат в Firefox Beta
2014-10-17 15:10 Denis Mirkov

Mozilla обновила поддержку экспериментальных интерфейсов WebRTC в Firefox и добавила им новую функциональность. Для тестирования в Firefox Beta реализован модуль под названием Firefox Hello. Это полноценный видеочат, который работает прямо в окне браузера, без каких-либо дополнительных плагинов или сторонних программ. Не требуется даже заводить аккаунт.

Чтобы пообщаться с кем-то, кого нет в списке контактов, нужно сначала пригласить его к беседе. Нажав специальную кнопку в меню, высылаем приглашение по электронной почте. Если собеседник принял приглашение, появляется всплывающее меню.

003

На кнопке Accept есть два варианта: пиктограммы камеры или микрофона. Как несложно догадаться, они соответствуют видео- и аудиочату. Во время разговора, при необходимости, можно на время отключить камеру и/или микрофон.

В браузере сохраняется контакт-лист собеседников, которым можно позвонить без приглашения по электронной почте. Чтобы внести кого-то в список, у него должен быть Firefox Account. Поддерживается импорт контактов из адресной книги Google.

004

Есть и специальная кнопочка «Не беспокоить», чтобы блокировать входящие звонки.

005

Кстати, видеочат работает не только в Firefox Beta, но и в других браузерах с поддержкой WebRTC, то есть в Chrome и Opera.



О чём говорят спикеры UX Russia 2014
2014-10-17 15:44 Anna Yakovleva

User eXperience – одна из немногих площадок для профессионального общения UX-специалистов и представителей бизнеса. Главная цель конференции остаётся неизменной: делать жизнь людей лучше за счёт информационных технологий. А каждый из докладчиков наполняет программу User eXperience этой ценностью.

Сильные докладчики – энтузиасты и профессионалы – это неотъемлемая часть конференции.

Собрать их всех вместе совсем не просто.  И, тем не менее, в своём занятом графике они находят время для того, чтобы выступить перед участниками, собравшимися на UX.

Почему это важно для людей, которые уже сделали имя в профессии?

Ольга Павлова, «Собака Павлова»: 

Компания «Собака Павлова» помешана на счастье пользователей. В том числе на впечатлении, которое остаётся у человека после взаимодействия с IT-системами. Клиент имеет право быть счастлив или хотя бы спокоен. А сделать интерфейсы, которые его осчастливливают-успокаивают — это целая история. Вот мы среди прочего этой историей и занимаемся. Достаточно профессионально, чтобы уже давно было не стыдно выступать на конференциях: и на людей смотреть, и себя показывать.

Сергей Алёшин, Ergonomics.ru:

Прошли времена, когда все вожделели UX-специалиста: разработка вобрала в себя основные принципы юзабилити и активно использует раннее тестирование. UX-инженеру сейчас нужно либо растить навыки «смежных специальностей», двигаясь в сторону графического дизайна или продуктового менеджмента, либо заняться интерпрайсом, где до сих пор цветет старинный инженерный подход. Оба пути — серьезный вызов и ступить на один из них поможет конференция UXRussia2014!

Алексей Бородкин, Artektiv 

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

От конференции и ее участников я ожидаю профессионального общения, возможности увидеть собратьев по проектированию и обменяться с ними опытом – это большая редкость в нашей непростой и во многом интравертной и замкнутой на себя профессии.

Альберт Усманов, ВКонтакте 

Цель моего доклада — показать, что UX это не только про «интерфейсы», нет, это принципы, которые могут найти свое применение в самых необычных отраслях, продуктах и коллективах. Ожидаю, что пример из редакции российского СМИ вдохновит слушателей и заставит задуматься о систематическом использовании подходов и практик UX.

Конференция пройдёт в Медиа-центре Mail.Ru Group

Адрес:г. Москва, Ленинградский проспект д.39, строение 79, БЦ «SkyLight»



Вышел дистрибутив Tails 1.2
2014-10-17 16:50 Denis Mirkov

Вслед за Tor Browser 4.0 обновился и защищённый Linux-дистрибутив Tails (The Amnesic Incognito Live System). Новая версия Tails 1.2 включает в себя патчи для многочисленных уязвимостей, поэтому все пользователи должны обновиться как можно быстрее.

Основные изменения

  • В состав дистрибутива включен Tor Browser 4.0 (с некоторыми изъятиями) вместо предыдущего браузера на базе Iceweasel. Tor Browser 4.0 основан на Firefox 31.2.0esr, где устранена уязвимость POODLE.
  • Tor обновлен до версии 0.2.5.8-rc.
  • Ограничение нескольких важных приложений с помощью AppArmor.
  • Ядро Linux 3.16-3

Второстепенные изменения

  • Апгрейд I2P до 0.9.15 и изоляция трафика I2P от трафика Tor Browser. Это сделано путём использования второго браузера специально для I2P. Кроме того, I2P теперь стартует автоматически при появлении сетевого подключения, если активирована опция i2p boot.
  • Принято решение отказаться от TrueCrypt в следующей версии Tails 1.2.1, которая выйдет 25 ноября. В документации прописано, как монтировать тома TrueCrypt с помощью cryptsetup.
  • Гостевые дополнения VirtualBox включены по умолчанию.
  • Статус OTR-защиты в чате Pidgin теперь наглядно отображается в панели инструментов (включен/выключен).
  • Syslinux обновлен до версии 6.03-pre20, что должно решить проблему с загрузкой UEFI на некоторых компьютерах.

Дистрибутив Tails на базе Debian содержит все необходимые инструменты для безопасной работы в интернете: Tor запускается автоматически, GPG для шифрования почты, OTR-чат, парольный менеджер KeePassX и другие программы, многие из которых модифицированы для безопасности. Дистрибутив спроектирован таким образом, что не хранит информации локально (и вообще не обращается к накопителю). Оперативная память стирается перед завершением работы с помощью sdmem, чтобы злоумышленник не мог восстановить её содержимое с недавно выключенного компьютера. Может менять интерфейс, выдавая себя за Windows XP, чтобы не вызывать подозрений у окружающих (см. скриншот вверху).



Как кастомизировать Android, не устанавливая патчи
2014-10-17 20:15 Джон Сноу

Основанный на ядре Linux и полностью открытый Android как будто создан для разных хаков и модификаций. За все время существования ОС на ее основе были созданы сотни кастомных прошивок, найдены десятки способов изменения ее внешнего вида и поведения, появилась функциональность, не предусмотренная Google. Однако получить нужные функции до недавнего времени можно было, лишь перепрошив устройство, что неудобно и в ряде случаев опасно.

Введение, или как они это делают

Хакерам, модерам и прочим энтузиастам известно несколько способов изменения внешнего вида, поведения и других параметров Android. Три наиболее популярных:

  1. Правка файлов /system/framework/framework.jar, /system/framework/framework-res.jar и /system/app/SystemUI.apk, которые содержат описание интерфейса и ресурсы, нужные для его отображения. Редактируя эти файлы, можно изменить внешний вид практически любого компонента интерфейса, начиная от размера кнопок и заканчивая цветом надписей.
  2. Правка исходных текстов компонентов системы. С помощью этого способа можно изменить что угодно — от реакции на нажатие кнопок громкости до полного изменения поведения системы. Другими словами, можно переделать ОС под себя.
  3. Декомпиляция и правка системных приложений, не имеющих исходных текстов. Таким образом можно изменить фирменные приложения Google, такие как Google Play и Gmail, исходники которых поисковый гигант не выкладывает.

Проблема всех этих способов в том, что они не позволяют менять Android «на живую». Нельзя взять со смартфона файл /system/framework/framework-res.jar, исправить его и скопировать обратно в систему. Технически в этом нет ничего сложного, достаточно получить root, перемонтировать /system в режиме чтения-записи и выполнить необходимые действия, однако изменения не вступят в силу до перезагрузки, да и загрузится ли система с новым файлом — большой вопрос.

Перехват управления не новая идея, она реализована в UNIX-подобных ОС средствами предварительно загрузки библиотек (LD_PRELOAD) и перехвата системных вызовов с помощью ptrace. В Windows существуют техники под названием сплайсинг и сабклассинг, кстати, их используют многие бэкдоры и трояны.

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

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

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

Перехват управления

Суть способа в следующем. Практически любая современная операционная система состоит из ядра и большого количества взаимосвязанных компонентов, в Linux это /boot/vmlinuz и библиотеки из каталогов /lib и /usr/lib, в Windows это ядро kernel32.dll и большое количество DLL-библиотек из системного каталога, в Android это опять же ядро Linux в выделенном разделе и большое количество Java-классов, упакованных в тот самый файл /system/framework/framework.jar.

Практически все компоненты, за исключением ядра, могут быть загружены либо во время инициализации ОС, либо по мере необходимости. Это значит, что компонент можно подменить на модифицированный, что, по сути, и происходит, когда мы устанавливаем одну из модификаций Android классическим способом: один или несколько файлов заменяются и загружаются системой при следующем включении.

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

Xposed Framework

Любой класс в Android загружается с помощью небольшого нативного приложения /system/bin/app_process. Его задача — запустить виртуальную машину Dalvik, загрузить необходимые для работы системные классы (окружение исполнения) и передать управление классу (на самом деле происходит обращение к сервису Zygote, который форкает уже готовую ВМ и окружение в режиме copy-on-write, но в нашем случае это неважно).

Для установки Xposed достаточно нажать одну кнопку

Для установки Xposed достаточно нажать одну кнопку

Xposed представляет собой модифицированную версию app_process, которая при запуске первым делом загружает в память специальный Java-класс-перехватчик, а лишь после него — оригинальный Java-класс. Перехватчик выступает в качестве посредника для любых вызовов Java-методов, инициированных оригинальным классом и, в случае необходимости, перенаправляет их классу-обработчику.

Последний как раз и занимается тем, что изменяет поведение системы. Например, для определения цвета текста приложения используют метод GetColor класса android.content.res.Resources. Если класс-обработчик перехватит этот метод и вернет вместо кода серого цвета код зеленого, все надписи в интерфейсе станут зелеными. Модификации могут быть и более сложными, например когда они связаны с альтернативной реализацией сразу нескольких методов и целых классов.

В комплекте Xposed готовых классов-обработчиков нет, но он позволяет любому разработчику распространять их в виде обычных APK-пакетов, а пользователю просто установить и активировать с помощью специального интерфейса. Другими словами, с помощью Xposed можно устанавливать и удалять модификации Android как обычные приложения, без необходимости в прошивке, копировании в системный каталог и без какого-либо риска.

INFO

На странице Xposed есть файл Xposed-Disabler-CWM.zip, который следует использовать для прошивки через recovery в том случае, если фреймворк установился криво и теперь смартфон не загружается.

Модули

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

Xposed невозможно найти в маркете, с точки зрения Google это вредоносное приложение, которое может навредить системе. Это, конечно же, не так, но мы не будем спорить с Google, а просто скачаем приложение из интернета (файл XposedInstaller_2.1.4.apk). После установки приложение запросит права root, а затем выведет на экран интерфейс с несколькими кнопками. Нажимаем Install/Update и перезагружаем смартфон.

Все установленные пакеты, содержащие модули Xposed, будут автоматически появляться на вкладке Modules приложения. Включить их можно, просто поставив галочку напротив, а затем перезагрузив смартфон. К сожалению, искать и скачивать модули придется самостоятельно, так как в Google Play большинства из них нет, а работа по созданию родного репозитория Xposed еще не завершена.

После активации новых модулей устройство придется перезагружать

После активации новых модулей устройство придется перезагружать

Модификации интерфейса

Наибольшего внимания заслуживают модули, которые каким-либо образом изменяют внешний вид операционной системы. Таких модулей на просторах инета довольно много, и среди них есть бриллианты из разряда must have. В этом разделе мы поговорим о них.

Maximize widgets on lockscreen. Простой модуль, который автоматически разворачивает виджеты на экране блокировки при включении смартфона. Очень удобен при использовании больших информационных виджетов наподобие DashClock. В CyanogenMod, кстати, есть аналогичная функциональность (Настройки -> Экран блокировки -> Развернутые виджеты).

AOSP Lockscreen. Модуль заменяет экран блокировки на стандартный из поставки Android, без модификаций производителя смартфона. Будет полезен тем, кто хочет получить look and feel обычного Android, не устанавливая стороннюю прошивку.

AppSettings. Добавляет в любую прошивку функциональность, аналогичную настройкам приложений в прошивке ParanoidAndroid. С его помощью можно изменять значение DPI для отдельно взятых приложений, отключить показ строки состояния во время их работы, отключить гашение экрана или изменить язык. С помощью изменения DPI можно сделать так, чтобы приложение работало в планшетном режиме на телефоне (DPI = 160) или в телефонном на планшете (DPI > 240).

App Settings позволяет изменить внешний вид и поведение любого приложения

App Settings позволяет изменить внешний вид и поведение любого приложения

Достаточно изменить значение DPI на 160, и интерфейс приложения изменится на планшетный

Достаточно изменить значение DPI на 160, и интерфейс приложения изменится на планшетный

Battery Themeing. Модуль с большим количеством различных стилей отображения заряда батареи, от круговых до различных символов и изображений.

XThemeEngine. Полноценный движок тем, практически повторяющий аналогичный движок в прошивке CyanogenMod. Позволяет полностью изменять внешний вид интерфейса, включая иконки, но по техническим причинам несовместим с темами для CyanogenMod. Встроенного репозитория тем также нет, так что их придется искать самостоятельно. Небольшую коллекцию можно найти здесь.

Icon Themer. Еще один движок тем, в этот раз для замены иконок. Позволяет использовать комплекты иконок, созданные для Nova Launcher, Apex Launcher и ADW Launcher, в любых ланчерах. Сотни различных айконпаков можно найти в Google Play.

WisdomSky Xploit. Модуль для глубокой кастомизации строки состояния. Позволяет изменять цвета, стиль отображения часов и батареи и многое другое.

Коллекции твиков

Кроме модулей узконаправленной функциональности, есть и целые коллекции твиков в стиле «все в одном». Они позволяют делать множество вещей — от изменения цвета часов в строке состояния до включения различных скрытых функций, вроде переворота локскрина в зависимости от положения экрана или эффекта выключения экрана в стиле старого телевизора (его можно найти в прошивках устройств серии Nexus и CyanogenMod).

GravityBox — одна из таких коллекций твиков и доработок с акцентом на рядовых пользователей. Наиболее интересные возможности:

  • Всплывающие наэкранные клавиши навигации в стиле PIE из ParanoidAndroid. После активации наэкранные клавиши управления внизу экрана исчезают, а вместо них появляются всплывающие с одной из сторон экрана кнопки. Очень удобная must have функциональность (также доступна в приложении LMT Launcher).
  • Возможность изменения расположения и удаления кнопок (тайлов) быстрого управления питанием в шторке. Также доступно несколько дополнительных кнопок, включая фонарик и быстрое включение точки доступа.
  • Возможность изменения строки состояния, ее цвета, цвета текста и стиля отображения батареи и часов, изменения фонового изображения и прозрачности шторки.
  • Расширенное меню выключения с возможностью перезагрузки в recovery.
  • Переключение композиций в стандартном плеере с помощью долгого нажатия на кнопки громкости.
  • Исправление самого известного небага Android — отображение фото звонящего не на весь экран (есть в виде отдельного модуля).
  • Эффект выключения экрана в стиле старого телевизора.
  • Авторазворот виджетов на локскрине.
  • Включение режима вибро при перевороте смартфона экраном вниз.
  • Патч для уязвимости Master Key (возможность внедрения любых файлов в системный APK-пакет и его установки без предупреждений) (есть в виде отдельного модуля).
  • Гибкое управление подсветкой кнопок и светодиодом.
  • Исправление множества багов, присутствующих в прошивках для MTK6589-устройств (китайские смартфоны 2013 года выпуска).

Еще одна популярная коллекция — это MoDaCo Toolkit, сборник довольно специфичных и узконаправленных твиков и хаков с акцентом на смартфоны HTC от известного комьюнити MoDaCo. Возможности:

  • Совместимость с рабочим столом Facebook Home.
  • Маскировка смартфона под устройство с разрешением экрана 720p. Полезно владельцам 1080p-смартфонов и планшетов, которым недоступны некоторые приложения в Google Play.
  • Неограниченный угол поворота экрана при наклоне устройства.
  • Различные твики строки состояния.
  • Возможность изменения настроек build.prop на лету (BOARD, BRAND, DEVICE, MODEL, PRODUCT). Можно использовать для получения доступа к приложениям в Google Play.
  • Работа чипа NFC даже во время сна устройства. Для тех, кто часто пользуется NFC-метками (есть как отдельный модуль.
  • Множество твиков для HTC One: отключение предупреждения о завышенном уровне громкости (одним модулем), дополнительные опции выключения (перезагрузка, recovery), включение смартфона кнопкой громкости, отключение бесполезной опции Kid Mode в Power Menu (долгое нажатие кнопки включения), иконка Blinkfeed на рабочем столе.

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

GravityBox — тюнинг авторегулировки яркости и кнопок управления питанием

GravityBox — тюнинг авторегулировки яркости и кнопок управления питанием

Tweakbox — один из первых модулей и коллекций твиков для Xposed. Интересен тем, что обладает небольшой, но действительно необходимой функциональностью. В комплекте: разные стили отображения батареи и уровня сигнала, регулировка уровней критического заряда батареи (по дефолту 5 и 15%), запись разговоров, отключение функции включения экрана при отключении от зарядника (есть в CyanogenMod), переключение между композициями с помощью качельки громкости, изменение поведения при долгом нажатии на кнопку «Домой», ТВ-эффект выключения экрана.

Длинные списки твиков модуля GravityBox

Длинные списки твиков модуля GravityBox

Безопасность

Кроме упомянутого в предыдущем разделе модуля, закрывающего баг Master Key, для Xposed доступно еще несколько интересных секьюрити-модулей. Один из них — это XPrivacy, система принудительного ограничения приложений в полномочиях. Второй — PeerBlock, аналог одноименного приложения для ПК, предназначенного для блокировки разных рекламных, небезопасных и фишинговых сайтов. Далее мы подробно рассмотрим функциональность каждого из них.

Начнем с XPrivacy, модуля для ограничения приложений в полномочиях, который работает в связке с системой безопасности Android. Его задача — дать пользователю контроль над тем, какие именно полномочия (например, доступ к интернету, возможность отправки SMS или запись данных на карту памяти) будут разрешены приложению, а какие — нет. По умолчанию Android дает приложению доступ ко всем запрошенным им полномочиям, но с помощью XPrivacy некоторые из них можно отозвать.

XPrivacy распространяется в виде обычного APK-пакета, который, помимо модуля, также включает в себя графический менеджер полномочий. Кроме установки APK-пакета, придется прошить через кастомный recovery фикс для Xposed, необходимый для корректного ограничения некоторых полномочий (впрочем, модуль работает и без него). Фикс можно получить на сайте goo.im, выбрав подходящий для своей версии Android: Xposed_fix_4.0_v2.zip, Xposed_fix_4.1.zip, Xposed_fix_4.2.zip или Xposed_fix_4.3.zip. Работу других модулей он не нарушит.

После установки и активации модуля в Xposed в меню приложений появится иконка XPrivacy, которая открывает приложение для управления полномочиями. Главный экран приложения — это список всего софта, установленного в системе. По отношению к любому из них можно активировать систему ограничения, просто поставив галочку напротив и выбрав в открывшемся окне разрешенные привилегии. При этом система сама даст подсказки на счет безопасности тех или иных полномочий, выделив небезопасные жирным шрифтом, а наиболее опасные — розовым фоном. К первым, кстати, относятся доступ к учетным записям и ID устройства, а ко вторым — интернет и хранилище данных. Приложения, запрашивающие небезопасные полномочия и доступ в интернет, также будут выделены в основном списке приложений с помощью соответствующих иконок.

Приложения, помеченные глобусом, имеют доступ в интернет, восклицательный знак — небезопасные полномочия

Приложения, помеченные глобусом, имеют доступ в интернет, восклицательный знак — небезопасные полномочия

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

Однопользовательской игре доступ в интернет не нужен!

Однопользовательской игре доступ в интернет не нужен!

Второй модуль, PeerBlock, — это альтернативная реализация одноименного приложения для Windows. Вся его работа заключается в том, чтобы блокировать доступ операционной системы и приложений к определенным интернет-адресам на основе правил и списков. По сути, это аналог Adblock+, но с возможностью гибкого управления, а самое главное, работающий на более низком уровне ОС (а не в виде прокси, который сам общается с сервером и затем отдает данные системе).

Лаконичный PeerBlock

Лаконичный PeerBlock

В настоящее время PeerBlock использует два метода определения блокируемых хостов: по наличию Ad в адресе хоста и на основе списков адресов, находящихся в каталоге /sdcard/PeerBlockLists/ в обычных текстовых файлах. Первый активирован по умолчанию; чтобы активировать второй, придется скачать список хостов с какого-либо ресурса, например www.iblocklist.com. Далее файл достаточно положить в указанный каталог, запустить приложение PeerBlock for Android и на вкладке Block Lists нажать кнопку Rebuild cache blocklist.

Cydia Substrate

По своей сути Xposed — это Android-аналог популярного приложения Cydia Substrate для iOS, созданного небезызвестным Saurik, автором репозитория Cydia. Substrate используется в джейлбрейкнутых i-устройствах повсеместно для создания разного рода модификаций. Часто фреймворк устанавливается в процессе взлома устройства вместе с одноименным репозиторием.

Совсем недавно Saurik выпустил версию Cydia Substrate для Android. Фреймворк получился куда более продвинутым, чем Xposed, он создает меньший оверхед на систему, позволяет модифицировать как Java-код, так и нативный, с более продвинутым методом перехвата управления, основанным на внедрении кода и функцией защиты от глючных модификаций (достаточно загрузить смартфон с зажатой кнопкой уменьшения громкости для отключения всех модулей).

Тем не менее, за полгода существования Cydia Substrate для Android так и не получила распространения. Встроенный маркет содержит всего две модификации: движок тем WinterBoard и Cydia Backport с секьюрити-патчами. Оба написаны самим Saurik.

Greenify

Еще один очень интересный Xposed-модуль — это Greenify, система, которая превращает смартфон в выборочное однозадачное устройство. Это означает, что после его установки у тебя появится возможность «заморозить» любое приложение, так что ты сможешь продолжать им пользоваться, но оно не будет работать в фоне. К примеру, у тебя установлен твиттер-клиент, который каждый час просыпается и начинает обновлять ленту, просыпается днем, ночью, в любое время года. И каждый раз, когда он просыпается, процессор переводится в менее энергоэффективный режим, а драйвер Wi-Fi выходит из спячки, из-за чего драгоценный заряд батареи постепенно утекает в никуда.

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

Greenify почти полностью автоматизирован, поэтому все, что нужно сделать, — это запустить его, нажать кнопку + и выбрать из списка наиболее активные приложения. Система сама рассортирует приложения по количеству просыпаний, укажет, для чего они просыпаются и когда запланировано следующее бодрствование. Все это на русском, так что разобраться будет просто. Единственное, я бы не рекомендовал замораживать системные приложения и виджеты.

Greenify и список бодрствующих приложений

Greenify и список бодрствующих приложений

WWW

Платная версия XPrivacy с возможностью импорта и экспорта настроек: www.faircode.eu/xprivacy

Большая коллекция модулей Xposed: goo.gl/Hl7Ih

Выводы

Xposed — невероятно удобная и эффективная система модификации Android, которую можно смело вносить в список must have приложений для всех root-юзеров. Описанные в статье модули лишь малая часть из того огромного количества модификаций, которые можно найти в интернете.




© Copyright Gameland

В избранное