Wt version query что это
8 приложений для Android, которые нужно удалить. Они опасны
Кто бы что ни говорил, но Google Play – это помойка. Не даром её признали самым популярным источником вредоносного софта для Android. Просто пользователи в большинстве своём доверяют официальном магазину приложений Google и скачивают оттуда любое ПО без разбору. А какой ещё у них есть выбор? Ведь их всегда учили, что скачивать APK из интернета куда опаснее. В общем, это действительно так. Но остерегаться опасных приложений в Google Play нужно всегда. По крайней мере, постфактум.
Есть как минимум 8 приложений, которые нужно удалить
Google добавила в Google Play функцию разгона загрузки приложений
Исследователи кибербезопасности из антивирусной компании McAfee обнаружили в Google Play 8 вредоносных приложений с многомиллионными загрузками. Попадая на устройства своих жертв, они скачивают получают доступ к сообщениям, а потом совершают от их имени покупки в интернете, подтверждая транзакции кодами верификации, которые приходят в виде SMS.
Вредоносные приложения для Android
Нашли вирус? Удалите его
В основном это приложения, которые потенциально высоко востребованы пользователями. Среди них есть скины для клавиатуры, фоторедакторы, приложения для создания рингтонов и др.:
Это названия пакетов приложений, то есть что-то вроде их идентификаторов. Поскольку всё это вредоносные приложения, их создатели знают, что их будут искать и бороться с ними. Поэтому они вполне могут быть готовы к тому, чтобы менять пользовательские названия приложений, которые видим мы с вами. Но это мы не можем этого отследить. Поэтому куда надёжнее с этой точки зрения отслеживать именно идентификаторы и удалять вредоносный софт по ним.
Как найти вирус на Android
Но ведь, скажете вы, на смартфоны софт устанавливается с пользовательскими названиями. Да, это так. Поэтому вам понадобится небольшая утилита, которая позволит вам эффективно выявить весь шлаковый софт, который вы себе установили, определив название их пакетов.
В красном квадрате приведен пример названия пакета
Package Name Viewer удобен тем, что позволяет не просто найти нужное приложение по названию его пакета, но и при необходимости перейти в настройки для его удаления. Для этого достаточно просто нажать на иконку приложения, как вы попадёте в соответствующий раздел системы, где сможете остановить, отключить, удалить накопленные данные, отозвать привилегии или просто стереть нежелательную программу.
Как отменить подписку на Андроиде
Лучше всего приложение именно удалить. Это наиболее действенный способ защитить себя от его активности. Однако не исключено, что оно могло подписать вас на платные абонементы, поэтому для начала проверьте свою карту на предмет неизвестных списаний, а потом просмотрите список действующих подписок в Google Play:
Если подписка оформлена через Google Play, отменить её ничего не стоит
В принципе, если подписка была оформлена через Google Play и оплата уже прошла, вы можете потребовать у Google вернуть уплаченные деньги. О том, как это делается, мы описывали в отдельной статье. Но поскольку разработчики таких приложений обычно тщательно продумывают способы воровства денег, как правило, они не используют встроенный в Google Play инструмент проведения платежей, чтобы их в случае чего не могли отозвать.
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Трёхмерные фигуры животных, бактерий, человеческих органов, автомобилей, ископаемых рептилий уже давно стали отличительной фишкой поисковика Google. Теперь, если вам нужно увидеть, как выглядит то или иное существо в натуральную величину, изучить его повадки или просто поглазеть на него, вы без проблем сможете найти его модель в поисковике, а потом либо развернуть во весь экран, либо рассмотреть во всех подробностях в дополненной реальности. Но Google, очевидно, сочла, что живых существ и автомобилей будет недостаточно, поэтому решила представить ещё и AR-фигуры мировых достопримечательностей.
“пользователи в большинстве своём доверяют официальном магазину приложений Google и скачивают оттуда любое ПО без разбору”, зачем судить по себе? Никто так не делает и вообще откуда этот дикий список того, что надо удалить?
«Поставьте непонятное приложение, дайте ему все возможные разрешения, чтобы удалить другое непонятное приложение». Больше похоже на заказ от конкурентов
Троянское приложение для Android обходит проверки Google Bouncer
Аналитики ESET обнаружили интересный метод скрытной атаки на пользователей Android, который содержит в себе интересную особенность. В магазине приложений Google Play нам удалось обнаружить несколько приложений, которые маскировались под легитимные, но на самом деле содержали в себе другое приложение с вредоносными функциями. Это встроенное приложение называлось systemdata или resourcea.
Это второе приложение скрытно сбрасывается в память устройства из первого, но спрашивает у пользователя разрешение на установку. Оно представляется в качестве инструмента для управления настройками устройства «Manage Settings». После своей установки, приложение работает как служба в фоновом режиме.
Антивирусные продукты ESET обнаруживают приложения, которые содержат в себе это дополнительное приложение как Android/TrojanDropper.Mapin. Согласно нашим данным, на долю Индии приходится наибольшее количество заражений устройств Android этим вредоносным ПО.
Вредоносная программа представляет из себя бэкдор, который получает контроль над устройством и включает его в состав ботнета. Бэкдор использует специальный внутренний таймер для отложенного исполнения своей полезной нагрузки. Таким образом, авторы могут обмануть различные автоматические системы анализа файлов, которые могут причислить файл к подозрительным из-за его поведения. В некоторых случаях, бэкдор может ждать три дня прежде чем активировать полезную нагрузку. Скорее всего, такая мера позволяет авторам обойти механизмы проверки инструмента анализа файлов Google Bouncer, используемый Google для проверки загружаемых в Play приложений.
После активации полезной нагрузки, троян запрашивает права администратора в системе и начинает взаимодействовать со своим C&C-сервером. Android/Mapin содержит в себе различные функции, например, отображение пользователю различных уведомлений, загрузка, установка и запуск других приложений, а также получение личной информации пользователя на устройстве. В то же время, основной его функцией является отображение fullscreen-рекламы на зараженном устройстве.
Вредоносные приложения были размещены в магазине приложений Google Play в конце 2013 г. и в 2014 г. Названия приложений были различными, включая, «Hill climb racing the game», «Plants vs zombies 2», «Subway suffers», «Traffic Racer», «Temple Run 2 Zombies», «Super Hero Adventure» разработчиков TopGame24h, TopGameHit и SHSH. Точные даты загрузки приложений были 24-30 ноября 2013 г. и 22 ноября 2014 г. Согласно статистике ресурса MIXRANK, приложение Plants vs zombies 2 было загружено более 10 тыс. раз перед его удалением из магазина. В то же самое время, приложения «System optimizer», «Zombie Tsunami», «tom cat talk», «Super Hero adventure», «Classic brick game», а также вышеупомянутые приложения Google Play с вредоносными возможностями, были загружены в альтернативные магазины приложений Android теми же авторами. Такой же бэкдор был обнаружен в комплекте с другими приложениями, которые были загружены в магазин разработчиком PRStudio (не путать с prStudio) в альтернативные магазины приложений со ссылками на Google Play. Данный разработчик загрузил как минимум и пять других троянских приложений в альтернативные магазины приложений: «Candy crush» или «Jewel crush», «Racing rivals», «Super maria journey», «Zombie highway killer», «Plants vs Zombies». Эти приложения все еще доступны для скачивания из этих магазинов. Перечисленные приложения были загружены пользователями сотни раз.
Рис. Значки вредоносных приложений.
Рис. Вредоносное приложение, которое получило достаточно положительных оценок.
Рис. Еще одно приложение, получившее положительные оценки.
Существуют различные варианты исполнения вредоносной программы после того, как пользователь загрузил нелегитимное приложение. Один из вариантов предполагает, что жертве будет предложено запустить файл с вредоносной программой спустя 24 после первого исполнения загруженного приложения. Такой метод является менее подозрительным для пользователя, который считает, что запрос на запуск поступил от ОС. Другой метод подразумевает под собой выдачу мгновенного запроса пользователю. Оба варианта рассчитаны на срабатывание после изменения подключения к сети, для этого вредоносная программа регистрирует т. н. broadcast receiver в манифесте.
Рис. Регистрация т. н. broadcast receiver.
После изменения подключения, пользователю будет предложено установить «системное приложение». Само сброшенное на устройство вредоносное приложение может называться «Google Play Update» или «Manage Settings».
Рис. Вредоносное приложение маскируется под системное.
В том случае, если пользователь выбирает отмену установки, то вредоносная программа будет показывать запрос каждый раз при смене сетевого подключения. Можно предположить, что простой пользователь будет уверен в серьезности отображаемого уведомления и в какой-то момент, скорее всего, нажмет кнопку установки только чтобы избавиться от него. После запуска троян исполняется в качестве сервиса со своим зарегистрированным broadcast receiver, ожидая изменения подключения.
Когда такое изменение произойдет, троян попытается зарегистрировать себя с помощью сервиса Google Cloud Messages (GCM) для последующего получения сообщений. После этого, Android/Mapin попытается зарегистрировать зараженное устройство на сервере злоумышленников, отправляя туда такую информацию как имя пользователя, аккаунт Google, IMEI, регистрационный идентификатор (ID) и название своего пакета приложения.
Рис. Процесс регистрации устройства на сервере злоумышленников.
Для того, чтобы исключить возможность своего удаления из системы, троян требует от пользователя активировать режим администратора устройства.
Рис. Предложение пользователю об активации режима администратора устройства.
Троян сообщит на удаленный сервер об успешности активации режима администратора устройства. Как только такая операция произойдет, вредоносная программа будет показывать пользователю рекламу в полноэкранном режиме (interstitial). Такая реклама (interstitial ad) будет отображаться пользователю заново каждый раз при смене подключения. Разработка такого типа рекламы возможна с использованием легитимного AdMob SDK.
Рис. Full-screen реклама (interstitial ad).
Троян взаимодействует со своим управляющим сервером используя сервис Google Cloud Messaging (GCM). Этот сервис все чаще используется современными вредоносными программами для своих целей, через него злоумышленники могут инструктировать бот на выполнение нужных им действий.
Рис. Обрабатываемые ботом команды.
Не все функции вредоносной программы полностью реализованы в ее коде, кроме этого, не все уже реализованные функции используются. Возможно, что сама угроза все еще находится на уровне разработки и будет улучшена в будущем. Как мы уже упоминали, ее основная цель заключается в доставке агрессивной full-screen рекламы для ее отображения пользователю, маскируясь под системное приложение. Бот также может быть использован злоумышленниками для установки другого вредоносного ПО на скомпрометированное устройство.
Кроме показа рекламы, список выполняемых им вспомогательных функций достаточно обширен: изменение идентификатора publisher ID отображаемой рекламы, загрузка и запуск других приложений, отображение уведомлений пользователю, отключение режима администратора устройства, изменение адреса управляющего C&C-сервера, создание на домашнем экране Android ярлыков, которые ведут на URL-адреса загрузки приложений. После исполнения каждой задачи, полученной с помощью GCM, бот будет информировать об этом удаленный сервер с использованием протокола HTTPS.
Троянская программа была успешно загружена в магазин Google Play, поскольку содержала в себе механизм отложенной активации вредоносных функций и, таким образом, не вызвала к себе подозрений со стороны инструмента Bouncer. Интересным вопросом является и то, почему Bouncer не специализируется на статическом анализе исполняемых файлов внутри загруженных приложений. По этим причинам троянская программа свободно распространялась пользователям через официальный магазин приложений Google для Android. Вредоносная игра «Super Hero adventure» была загружена в Play Store разработчиком SHSH. Вполне возможно, что этот разработчик загрузил больше приложений в магазин Play. В конечном счете, все они были удалены из магазина, но оставались незамеченными там в течение полутора лет. Возможно, что подобные случаи стали причиной того, что в марте 2015 г. Google объявила о том, что все приложения и обновления должны проходить проверку со стороны человека.
Лучшей практикой для поддержания своего устройства в безопасности является использование только официального магазина приложений для их загрузки. Кроме этого, необходимо уделять внимание отзывам и комментариям пользователей к размещаемым там приложениям. При установке приложения следует внимательно следить за запрашиваемыми приложением правами. Если вы заметили что-либо подозрительное в поведении приложения, его можно отправить в качестве образца в антивирусную лабораторию с соответствующими комментариями о причинах отправки.
Ниже представлена информация о проанализированных нами образцах вредоносной программы.
Какие встроенные (системные) приложения Android можно удалить
Удаления системных приложений Android с помощью SystemApp Remover
Faq по удалению встроенных приложений
2. Q: Какие программы можно удалять?
A: Каждый пользователь должен сам определиться какие системные приложения ему не нужны, далее нужно посмотреть могут ли быть последствия от удаление не нужных вам приложений, если их (последствий) нет, то можно смело удалять эти приложения. А если последствия есть, например некоторые проги имеют зависимости, то нужно подумать удалять вам их или нет, например вам не нужны карты Google и вы ни когда не будите использовать системные и сторонние программы которые используют данные карт гугла, значит вы смело можете удалять эти карты.
4. Q: Можно ли удалять стандартные приложения Google, повлияет ли это на работу аппарата?
A: Приложения (Maps, Gmail, Gtalk и т.д.) можно. Службы нежелательно, так как в случае удаления перестанут работать все гугловские сервисы и приложения, а также возможно появление постоянных ошибок на устройстве.
5. Q: Можно ли удалить стандартные приложения от Google (Навигация, Адреса, Просмотр улиц) отдельно от приложения Карты?
A: Просмотр улиц (Street.apk) можно, а остальные нет, так как они являются частью приложения Карты (Maps.apk).
8. Q: Удалил стандартную клавиатуру, после чего не работает SWYPE. Что делать?
A: Сделать SWYPE системным. Видео инструкция по установке русского Swype :
10. Q: Не могу удалить некоторые гугловские приложения; удалил из папки system/app, но они всё равно работают.
A: Возможно эти приложения находятся в папке data/app и удалить их нужно ещё и оттуда.
Как поменять разрешения:
1. Долгий тап по apk приложения;
2. Нажать пункт Разрешения
Перезагрузить устройство. После загрузки это приложение должно появиться. Примечание: Для установки некоторых приложений (например, Google Play Market) необходимо закидывать apk и менять разрешения не только в system/app, но и в data/app.
12. Q: Можно ли удалить стоковый лаунчер?
A: Можно, но только при наличии стабильно работающего стороннего лаунчера, который желательно сделать системным приложением. Но следует учесть, что не все стандартные виджеты могут работать на стороннем лаунчере.
Описание стоковых программ Android. Что удалять можно, а что нет.
Перед удалением системных приложений делайте бекапы (или замораживайте) программы в Titanium Backup. В случае неудачного удаления восстановить резервную копию заметно проще чем искать по форуму нужные файлы.
[Советы] [Отчёт] [10.1.2.0] Отчёт об использовании…
Собственно, маленький отчёт о настройке и использовании 10.1.2.0 в повседневной рабочей жизни…
В целом, смена версии Андроида для меня прошла незаметно — действительно вышел безударный переход от семёрки к восьмёрке. В настройках «Для разработчиков» прибавилось опций, касательно передачи аудио по синезубу, прибавилось что–то ещё, но в остальном интерфейс MIUI как был, так и остался. Всё, что нужно работает и на своих местах.
Телефон звонит, выполняет весь нужный мне функционал, ничего не работающего, даже адаптивной яркости экрана нет. В целом, прошивкой доволен, а уж после «напильника» так и вообще красота.
Перепрошивался я через fastboot, после очередной перепрошивки (на автомате в TWRP выбирал полную очистку) воспользовался XiaomiADBFastBootTools для сноса гугла, OpenGApps pico в этот раз не ставил…
Дальше настала пора проб и отключения ненужного лично мне. И не только отключения, но и удаления. Всё просто: мне нужна максимальная автономность, но с сохранением работоспособности всех диапазонов (EDGE/3G/LTE), чтобы работали WhatsApp с вайбером, СМС, почта, телефон, синезуб. И CardDAV синхронизация наравне с MiCloud.
Работа по поиску оптимальной для меня конфигурации заняла дней 10. Потому как перед сном удаляешь пакет, чистишь статистику батареи и кеши, вечером смотришь в «Настройки → батарея и производительность» кто больше всего съел… И по новой.
Маленький, но дельный совет: в принципе, после отвязки от любых гуглосервисов (play и т. п.) и их удаления автономность делает крайне резкий скачок. Всё остальное — «ловля блох» и Just for fun, совмещённое с технологической паранойей и желанием понимать что из себя представляет тот или иной пакет и вообще для чего он.
Мне очень помог список с 4ПДА (тоже для MIUI10), если модератор разрешит, скину прямую ссылку сюда. Там тоже разбор пакетов.
Вот полный список, не меняющийся с 26 февраля с пояснениями удалённого. Замороженное очень пересекается с «Липосакцией» 10.1.1.0.NCKMIFI:
А то, что радиомодуль один и физически невозможно держать обе сим активными. Даже в режиме ожидания, мы хоть и видим две антенны полных, но в реальности, аппарат сканирует вышки поочередно. Т.е. режим работы симкарт попеременный, как не крути.
И вот да здравствуют маркетологи (явно по заказу операторов), выкатили в свет технологию X-Divert.
Она призвана на. дурить пользователя.
Каким образом? А вот каким. Вы же слышали о переадресации звонка? Да, когда были односимочники, вы настраивали переадресацию на вторую сим. Вытаскивали первую и вставляли вторую. И когда вам звонили на первую = отключенную сим, звонок переадресовывался на активную. Делалось это посредством оператора и стоило денег. Времена изменились и телефоны стали многосимочными.
Операторы потеряли часть прибыли идущей с переадресации и вот она «чудо» технология.
Она програмно, внутри телефона, во время разговора с одной симкарты, переадресовывает вызов на другую.
Только вот, это все так же делается посредством оператора, только за счёт этой дряни (X-Divert) полностью автоматически. А самое главное, это все так же платно. Только вот в 99% пользователь и не в курсе, что приняв такой звонок, платит деньги за переадресацию. И как правило в несколько раз больше, чем минута разговора без переадресации.
Ну и результат в ряде картинок…
27 февраля 2019…
CQS (CQRS) со своим блэкджеком
Command-query separation (CQS) — это разделение методов на read и write.
Command Query Responsibility Segregation (CQRS) — это разделение модели на read и write. Предполагается в одну пишем, с нескольких можем читать. М — масштабирование.
Этот подход часто используют как способ организации кода, даже если хранилище одно. Но как всегда, в реальных более-менее сложных проектах эта штука дает сбой.
Размышления навеяны этой статьей Паттерн CQRS: теория и практика в рамках ASP.Net Core 5 и актуальны для анемичной модели. Для DDD все по-другому.
Историческая справка
Начать пожалуй стоит с исторической справки. Сначала было как-то так:
С появлением CQS стало так:
Эволюция
Как видим, два потенциальных god-объекта разделяются на много маленьких и каждый делает одну простую вещь — либо читает данные, либо обновляет. Это у нас CQS. Если еще и разделить на два хранилища (одно для чтения и одно для записи) — это будет уже CQRS. Собственно что из себя представляет например GetEntityQuery и UpdateEntityCommand (здесь и далее условный псевдокод):
Теперь к нам приходит ORM. И вот тут начинаются проблемы. Чаще всего сущность сначала достается из контекста и только затем обновляется. Выглядит это так:
Да, если ORM позволяет обновлять сущности сразу, то все будет хорошо:
Так а что делать, когда надо достать сущность из базы? Куда девать query из command? На ум приходит сделать так:
Хотя я встречал еще такой вариант:
Просто перекладываем проблему из одного места в другое. Эта строчка не перестает от этого быть query.
Ладно, допустим остановились на варианте с GetEntityQuery и UpdateEntityCommand. Там хотя бы query не пытается быть чем-то другим. Но куда это все сложить и откуда вызывать? Пока что есть одно место — это контроллер, выглядеть это будет примерно так:
Да и через некоторое время нам понадобилось, например, отправлять уведомления:
В итоге контроллер у нас начинает толстеть.
Лирическое отступление IDEF0 и BPMN
Мало того, реальные бизнес-процессы сложные. Если взглянуть на диаграммы IDEF0 или BPMN можно увидеть несколько блоков, за каждым из которых может скрываться код наподобие нашего кода из контроллера или вложенная серия блоков.
(рисунок найден на просторах интернета)
И приведу пример одной реальной задачи: по гео-координатам получить погоду в заданной точке. Есть внешний условно-бесплатный сервис. Поэтому требуется оптимизация в виде кэша. Кэш не простой. Хранится в базе данных. Алгоритм выборки: сначала идем в кэш, если там есть точка в радиусе 10 км от заданной и в пределах 1 часа по времени, то возвращаем погоду из кэша. Иначе идем во внешний сервис. Здесь и query, и command, и обращение к внешнему сервису — все-в-одном.
Решение
Решение давно витало в облаках, но никак не оформлялось в конкретном виде. Пока я однажды не встретил нечто очень похожее на одном проекте. Я взял его за основу и добавил свой блэкджек.
Как видим искомый CQS изначально создан для абстрагирования на уровне доступа к данным. Там с ним проблем нет. Код, который расположился у нас в контроллере — это бизнес-код, еще один уровень абстракции. И именно для этого уровня выделим еще одно понятие — бизнес-история. Или Story.
Одна бизнес-история — это один из блоков на диаграмме IDEF0. Она может иметь вложенные бизнес-истории, как блок IDEF0 может иметь вложенные блоки. И она может обращаться к искомым понятиям CQS — это к Query и Command.
Таким образом, код из контроллера мы переносим в Story:
И контроллер остается тонким.
Данная UpdateEntityStory инкапсулирует в себе законченный конкретный бизнес-процесс. Ее можно целиком использовать в разных местах (например в вызовах API). Она легко подвергается тестированию и никоим образом не ограничивает использование моков/фейк-объектов.
Диаграмму IDEF0/BPMN можно разбросать по таким Story, что даст более легкий вход в проект. Все изменения можно будет уложить в следующий процесс: сначала меняем документацию (диаграмму IDEF0) — затем дописываем тесты — а уже в конце дописываем бизнес-код. Можно наоборот, по этим Story автоматически построить документацию в виде IDEF0/BPMN диаграмм.
Но чтобы получить более стройный подход, необходимо соблюдать некоторые правила:
Декораторы
И в заключении о декораторах. Чтобы Story стали более гибкими необходимо cложить их в DI контейнер / factory / mediator. И добавить возможность декорировать их вызов.
1. Запускать Story внутри транзакции scoped контекста базы данных: