- Патч для андроид что это такое
- Патч для андроида
- Почему вы не должны гнаться за обновлениями безопасности Android
- Нужны ли обновления безопасности
- Как защитить смартфоны на Android
- Что такое обновления безопасности Android и почему они важны
- Что такое обновление безопасности Android
- Почему обновления безопасности Android важны
- Как проверить наличие обновлений безопасности Android
- Почему на моем телефоне Android не установлены последние обновления безопасности
- Как создавать патчи, основанные на доверчивой политике безопасности Android
- Приветствую тебя, уважаемый читатель!
Патч для андроид что это такое
Программы и игры для Андроид
Патч для андроида
Владельцы высокотехнологичных смартфонов, планшетов, ноутбуков, стационарных компьютеров довольно часто встречаться с таким словом, как патч. Но что же оно означает? По сути, это определенная виртуальная папка для игры, которая будет нужна для устранения огрех в игре или некоторых недоработок. Создаются данные элементы, непосредственно самими разработчиками программ и игр. Устанавливаются они уже на загруженную игрушку. Многие любители игр, конечно же, сталкивались с таким понятием.
Хочется также знать что такое патч в переводе с английского языка. Это буквенное сочетание означает заплатка, латать, заделывать, исправлять. Данный элемент – это набор файлов, которые предназначены для коррекции или, как говорится, залатывания, бреши в компьютерной игрушке. Сегодня патч бывает двух видов. Это может быть архив и инсталлятор. Вариант номер один — это набор папок с файлами, которые нужно будет каждый раз копировать в папку с загруженной программкой. Инсталлятор будет стартовать в автоматическом режиме, и программа все сделает самостоятельно, с минимальным участием игрока.
Для чего же вообще нужен патч? Он всегда будет занимать меньше места, чем оригинальная игрушка, необходим компьютерный элемент для внесения изменений. Для перевода игры на русский язык и какой-либо другой язык, что, в свою очередь не будет нарушать прав автора на игру. Многие владельцы планшетных компьютеров и высокотехнологичных смартфонов, знают, что их гаджеты работают на всемирно известной платформе android.
Довольно часто пользователи хотят получить огромный функционал и гораздо больший, чем был представлен им при покупке высокотехнологичного устройства. Для этого нужно получить полномочия доступа администратора и установить определенную прошивку на свои устройства. Порой на планшетник необходимо установить дополнительно некоторые патчи, но как это сделать практически никто не знает.
Во Всемирной паутине существуют некоторые ресурсы, которые с помощью специального video позволяют пользователям произвести установку в правильной последовательности патча. Следуя детальным инструкциям, пользователь сможет выполнить все необходимые манипуляции на своем смартфоне. Обходиться сегодня без девайсов, которые широко представлены на рынках электроники, сложно. Поэтому многие приобретают, не задумываясь, технику, устанавливая на гаджет патчи, современные игрушки, приложения и многие другие полезные программки.
Источник
Почему вы не должны гнаться за обновлениями безопасности Android
Ежемесячные обновления безопасности для Android – это явление, которое существует не так давно. Оно возникло чуть больше трёх лет назад, когда до Google дошло, что дела с безопасностью на Android обстоят откровенно так себе, а сделать с этим она ничего не может. Поэтому было решено начать каждый месяц выпускать по одному патчу с исправлениями критических багов и уязвимостей, которые подрывают защиту операционной системы и подвергают пользователей опасности. С тех пор каждый, у кого есть смартфон на Android не старше трёх лет, ждёт этих обновлений как нового года. Но особенного смысла в этом нет.
Если у вас не Google Pixel, то особенно надеяться на то, что обновления безопасности действительно вам помогут, нет. Я не хочу строить из себя сноба и доказывать, что всего-то и нужно, что не скачивать из интернета всякий треш, и никакие уязвимости будут вам не страшны. Нет, я прекрасно понимаю, что загрузка вредоносных приложений и вирусов происходит случайно, спонтанно и, что самое страшное, в большинстве случаев незаметно. Ведь такого рода софт может подгрузить даже, на первый взгляд, вполне доброкачественная утилита. Тут дело в другом.
Нужны ли обновления безопасности
Отсутствие смысла в обновлениях безопасности для владельцев не-пиксельных смартфонов состоит в том, что они банально работают на базе разных прошивок. На современном рынке так много оболочек и все они настолько разные, что и проблемы у всех их будут непохожи друг на друга. Поэтому Google даже при всём желании не может исправлять баги в прошивках тех устройств, с программной основой которых она либо знакома, но плохо, либо не знакома совсем. А всё, что ей остаётся, это выпускать патчи для «пикселей» на базе стоковой операционки.
Нет, конечно, у всех Android-смартфонов одна программная платформа, и это – что бы вы думали – Android. Другое дело, что каждый производитель стремится так сильно модифицировать исходную операционную систему, расширив её функциональность и усовершенствовав интерфейсное оформление, что зачастую узнать в какой-нибудь MIUI или ColorOS исходную платформу бывает довольно сложно. Логично, что такие кардинальные изменения приводят к появлению совершенно уникальных багов, требующих особенного подхода к исправлению.
Как защитить смартфоны на Android
А кто может обеспечить такой подход? Только сам производитель. Ведь это он вносил коррективы в исходную операционку, совершенствовал её, а где-то и портил своими изменениями. Стала ли она от этого хуже или лучше – другой вопрос. Важно лишь то, что Google со своей стороны в данном случае может оказать только вспомогательное содействие по устранению тех недостатков, которые характерны для исходной операционной системы, но и то – это очень спорный момент. Почему? Всё очень просто.
Бесспорно, Google может исправить баги и уязвимостей, которые были в исходной версии Android и перекочевали в оболочку производителя. Но вот парадокс – очень часто производители сами выявляют эти недостатки и либо исправляют их напрямую, либо добавляют в свою прошивку специальный блокировщик, который препятствует их эксплуатации злоумышленниками. Исправляя эти баги, Google делает работу в холостую. Не то чтобы я был совсем против обновлений – отнюдь. Просто смысла в том, чтобы переоценивать их, я тоже не вижу. А в чём вижу смысл, так это в том, чтобы производители сами выпускали обновления безопасности, не перекладывая эту обязанность на Google.
Источник
Что такое обновления безопасности Android и почему они важны
Обновления — частая тема, когда дело касается операционной системы Android. На самом деле существуют разные типы обновлений Android, одно из которых — «Обновление безопасности». Чем отличаются эти обновления и почему они так важны?
В мире Android существует три основных типа обновлений: большие ежегодные обновления прошивки с увеличением номера версии, более мелкие ежемесячные обновления безопасности и «Обновления системы Google Play», которые являются еще одним типом обновления безопасности.
Что такое обновление безопасности Android
Обновление безопасности Android — это обновление, которое в первую очередь направлено на повышение безопасности и исправление ошибок. Эти обновления обычно не содержат функций, которые Вы могли бы заметить при повседневном использовании.
Как упоминалось ранее, Android обычно получает одно большое обновление версии каждый год, но этого недостаточно, чтобы оградить его от угроз и ошибок безопасности.
Когда выйдет новая версия Android, с ней неизбежно возникнут проблемы. Это просто реальность продуктов, созданных людьми. Однако Google не хочет отправлять полное обновление системы только для устранения некоторых ошибок. Вместо этого они исправят проблемы с помощью небольшого обновления.
Как и следовало ожидать из названия, эти обновления также очень важны по соображениям безопасности. Некоторые ошибки представляют собой угрозу безопасности, и их можно быстро устранить с помощью обновления. Обновления безопасности также могут исправить уязвимости от новых атак, которые могут возникнуть.
Эти обновления иногда называют «патчами». Это небольшие исправления, которые влияют на работу всей операционной системы.
Почему обновления безопасности Android важны
Вы можете не заметить каких-либо необычных новых функций при установке обновления безопасности Android, но, тем не менее, они очень важны. Программное обеспечение редко не содержит ошибок. Оно постоянно нуждается в обслуживании и исправлениях, чтобы поддерживать его в безопасности.
Эти небольшие обновления важны, поскольку они в совокупности исправляют ошибки и исправляют дыры в безопасности.
Ранее мы упоминали, что небольшие обновления могут быстро устранить новые уязвимости, и это тоже очень важно. Вам не нужно ждать обновления полной версии, чтобы исправить явную угрозу безопасности. Важно скачать эти обновления как можно скорее.
Как проверить наличие обновлений безопасности Android
Имея это в виду, Вы, вероятно, задаетесь вопросом, как проверить, установлено ли у Вас последнее обновление безопасности.
Сначала проведите вниз от верхнего края экрана (один или два раза, в зависимости от производителя Вашего устройства). Затем коснитесь значка шестеренки, чтобы открыть меню настроек.
Вверху экрана Вы увидите раздел «Статус защиты». Найдите «Обновление системы безопасности» и проверьте дату.
Очень велика вероятность, что у Вас не будет обновления за текущий месяц. К сожалению, многие Android-устройства отстают в этом плане. Если у Вас новый телефон Samsung или Google Pixel, Вы должны получать последние обновления безопасности.
Вы можете проверить наличие обновлений, выбрав «Обновление системы безопасности» и нажав кнопку «Проверка обновлений».
Почему на моем телефоне Android не установлены последние обновления безопасности
В идеальном мире каждое устройство Android получит последнее обновление безопасности одновременно. К сожалению, этого не происходит.
Каждый месяц Google вносит исправления и публикует обновления безопасности для своих партнеров (Samsung, LG, OnePlus и т. д.). Затем эти компании должны утвердить исправления, добавить свои собственные и выпустить их на устройства.
Вот почему телефоны Pixel обычно сразу получают обновления безопасности. Google контролирует весь процесс. Остальные устройства зависят от производителя. Samsung хорошо обновляет свои флагманские устройства, но некоторые телефоны низкого уровня могут получать обновления с задержкой.
Перед покупкой телефона Android найдите время, чтобы проверить, что производитель говорит об обновлениях. Samsung, например, обещает четыре года обновлений для многих своих устройств. Держитесь подальше от производителей с плохой репутацией.
Источник
Как создавать патчи, основанные на доверчивой политике безопасности Android
Приветствую тебя, уважаемый читатель!
Offtop
В этом топике я хотел бы рассказать о том, как можно получать доступ к тому, что принадлежит нам, но косвенно.
Любой софт — это чья-то собственность: кто-то сидел и шевелил своими мозгами, чтобы произвести на свет очередное «чудо».
Но вне наших девайсов речи о софте не может и быть. Понятие «софт», в таком случае, будет означать не более чем «мягкость».
Это очевидно.
Именно поэтому мы имеем право вытворять с любым программным кодом, выполняющимся на нашем устройстве, все, что пожелает душа…
Intro
Думаю, начать стоит с самого начала. Все началось с моего обнаружения пользовательской зависимости окружающих к небезызвестной игре 2048. Мне, конечно же, стало интересно, чем эта игра так захватывает людей, поэтому я решил сам ее попробовать. Через несколько минут я понял ее суть и мне эта игра тоже стала интересна.
Должен признаться, более 5000 очков мне набирать не удавалось никак, а до 2048 было еще слишком долго…
Тем временем окружающие «игроки» с легкостью набивали по 10-16тыс очков, а некоторым удавалось даже достигать 2048 в клетке.
Что ж, спустя некоторое время у меня возникла идея тупо взломать эту игру, чтобы не «убивать» время на ее прохождение( она слишком долгая в прохождении, но от этого не менее затягивающая ). А еще спустя пару дней, об этом же меня попросили и мои знакомые.
Это означало одно: пора браться за дело…
Что было в начале?
Этот взлом не начался с чего-то необычного. Все было по шаблону: я вытащил APK-пакет приложения, произвел первичную декомпиляцию, с использованием apktool.jar, затем вторичную( для получения Java кода из Smali ), используя тулзу jd-gui. Ничего необычного. Далее я долгое долгое время бороздил по Java-классам в надежде отыскать хоть что-то полезное и интересное. Помимо «тонн» рекламных и гугловских библиотек я ничего не замечал. В конце концов удалось наткнуться на внутренности данного приложения, т.е то, где все интересное и происходит:
Но, как ты можешь видеть, рыться во всем этом, видимо, обфусцированном коде, мало кому захочется: оригинальные названия классов, методов и переменных представляют из себя лишь краткий набор букв. Исследование на данном этапе зашло в тупик…
Я решил бросить это дело и заняться чем-то более полезным. Но спустя несколько дней я решил вновь вернуться к данной теме.
Начало конца
Я вдруг решил просто покопаться в данных, хранимых приложением. Это могли быть данные обо всем, начиная с цвета клеток поля и заканчивая текущим количеством очков. Структура данных приложения такова:
Теперь по порядку:
- Папка /cache пуста, а поэтому особого интереса не представляет
- В /files, на первый взгляд, хранится мусор, но это только на первый взгляд
- Папка /lib содержит графическую библиотеку Cocos2D, что, в общем-то, нам тоже не интересно.
- Ну и /shared_prefs содержит текущие значения SharedPreferences приложения
Из этого мы делаем вывод, что интерес представляют только две папки: files и shared_prefs.
Что ж, смотрим, что там внутри них.
В первом случае нас интересует файл save.plist, а во втором — единственный файл Cocos2dxPrefsFile.xml.
Их названия говорят за себя. Дабы не растягивать текст, сразу предоставлю информацию об обоих файлах:
1) save.plist
Как несложно догадаться, этот файл отвечает за сохранение состояния игры перед выходом. В сохранение состояния входит: описание клеток игрового поля, количество Undo и текущий рейтинг игрока.
2) Cocos2dxPrefsFile.xml
Здесь приложение хранит данные о максимально достигнутом когда-либо количестве очков.
Одна из особенностей заключается в том, что эти файлы представлены в удобочитаемом формате XML:
2) Файл save.plist
( каждый тег dict хранит данные об определенной клетке в определенный момент времени )
Теперь, зная это и имея на устройстве ROOT права, можно с легкостью подстроить игру под себя.
Но рут доступ есть далеко не у всех.
Именно поэтому следует создать патч для этого приложения, который был бы доступен широкой аудитории.
Создание патча
Для начала немного теории.
Все ANDROID-приложения обладают собственной песочницей, доступ к которой может быть получен только этим приложением( или рут-пользователем ). Песочница представляет из себя папку, находящуюся в сердце OS — /data/data/*. Вместо звездочки может стоять имя пакета приложения. Например, имя пакета игры 2048 — com.estoty.game2048, как ты мог уже догадаться из слайдов выше. Следовательно, доступ к папке /data/data/com.estoty.game2048 есть только у игры( и у рута ), а, следовательно, и доступ ко всем вкусностям, перечисленным выше.
Казалось бы, что нам остается?
Вероятно, тебе приходит на ум создание собственного приложения с одноименным пакетом. Но при компиляции и установке нашего приложения-фейка мы получим ошибку INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES , говорящую о том, что ключ, которым была подписана игра, не соответствует ключу, которым подписано наше приложение-фейк.
Значит, нам остается одно: пересобрать игру в APK и подписать его нашим ключом с помощью тулзы
JARSIGNER, а затем и наше приложение-фейк тем же ключом! Плюс, зная то, что при переустановке приложений Android не удаляет данные игры( т.е ее песочницу ), мы можем подменить данные игры на свои данные, опираясь на добрую и доверчивую политику безопасности OS Android, а затем запустить оригинальную игру, которая бы уже использовала наши фейковые данные.
Но а вдруг игра перезапишет данные при переустановке? Что ж, сейчас и это проверим!
Начнем с подписки игры нашим ключом( сертификатом ). Для этого ее нужно стандартно разобрать( декомпилировать, если угодно ), а затем собрать снова и уже после этого подписать своим ключом. Предполагается, что ты знаком с этим процессом. Если же нет, то он неплохо расписан, например, вот здесь.
jarsigner -keystore default.keystore -storepass *** -keypass *** 2048.apk default
Итак, имеем APK пакет приложения, подписанный нашим дефолтным ключом.
Далее мы создаем новое Android-приложение, с именем, названием пакета и сертификатом(ключом), идентичным игре 2048.
Теперь между нашим приложением-патчем и игрой 2048 нет каких-либо отличий на системном уровне ( то есть для Android, это два идентичных приложения, которые могут друг друга переустановить, заменять ),
Теперь нам следует подумать о том, как будет работать патч.
Разумеется, все можно сделать просто: писать статические данные в файлы Cocos2dxPrefsFile.xml и save.plist, которые, например, устанавливают большое количество очков и большие числа на игровом поле. Но это не круто. Я предлагаю сделать патч динамичным, т.е таким, чтобы он мог в любое время без перекомпиляции( пересборки ) устанавливать нужные нам значения рейтинга, клеток поля и т.д.
Если поплевать на дизайн и оформление, а сосредоточиться только лишь на функциональности патча, то получится примерно следующее:
В патч включены самые «полезные» фичи:
у пользователей будет возможность менять свой лучший рекорд, менять текущий и устанавливать цифры в каждой клетке игрового поля!
Это более чем достаточно.
Коддд
P.S Предполагается, что ты имеешь базовые представления об устройстве Android-приложений. Поэтому комментариев к коду практически нет.
Итак, с манифестом приложения мы ничего более делать не будем — имя пакета уже было установлено при создании нового проекта, а имя приложения, в общем-то, менять необязательно. Никаким особым функционалом патч обладать не будет, так что специфичные user-permissions нам тоже ни к чему.
По нажатию на единственную кнопку будет вызываться функция Patch :
Устанавливаем новый рекорд:
И формируем игровое поле, как возжелаем( как ты помнишь, тут все в формате XML. Прошу прошения за небрежность формата ниже. ):
Компилируем. Подписываем( сертифицируем ) тем же ключом, что и игру 2048.
Проверяем работоспособность
Супер, игра, подписанная неродным ключом, работает.
2) Устанавливаем патч( Android автоматически переустановит приложение, заменит его на патч, данные приложения, при этом, сохранятся ):
adb install -r patch.apk
и эксплуатируем его:
3) Переустанавливаем нашу игру:
Отлично. Патч полностью работоспособен!
В данный момент мы все действия проводили в консоли( для скорости ), но на деле же все куда проще: достаточно закинуть и игру, и патч на карту памяти своего девайса, например, далее установить игру, затем патч и затем снова игру. В таком случае система Android тебя каждый раз будет предупреждать, что приложение будет переустановлено. Вы, разумеется, соглашаетесь.
Вот так можно использовать политику безопасности Android, наложенную на пакеты приложений, для создания патчей.
Outro
На самом деле, подобная брешь не является виною только Android. Я думаю, тут также виноваты и разработчики приложений, которые не проверяют целостность данных, не шифруют их и используют их в своем приложении с полной доверенностью источнику…
Что ж, вот мы и рассмотрели еще один аспект безопасности, который следует учитывать при разработке своих приложений под OS Android.
Источник