Xakep #214 divers_attack-h

VK.com как бэкенд: подводные камни. Решаем проблемы по заявкам читателей

В прошлых статьях была описана разработка мобильного приложения со всеми любимым VK в роли бесплатного и услужливого сервера. Как это часто случается со всякими хитровыкрученными системами, рано или поздно они обрастают мелкими, но досадными проблемами, затрудняющими их использование. И как только это случается, журнал «Хакер» снова приходит на помощь!

Xakep #213 cl-h

Material Design за 15 минут: проверяем, на что способен ConstraintLayout

Этим летом компания Google анонсировала появление нового способа верстки пользовательских интерфейсов. Нововведения содержатся в классе ConstraintLayout: предполагается, что он не только упростит передачу мыслей дизайнеров разработчикам, но и повысит скорость работы приложения. Давай разберемся, как много в этих словах правды и где ждать подвохов.

Xakep #212 gradle-h

Изучаем Gradle: что умеет система сборки приложений Android Studio

Большинство программистов, разрабатывающих для Android, хотя бы слышали о системе автоматической сборки Gradle. При этом лишь немногие из использующих эту систему кодеров уделяют достаточно времени, чтобы как следует изучить ее возможности. А ведь Gradle очень полезен не только для простой настройки сборки, но и для решения весьма нестандартных задач!

Xakep #212 door-ajar-h

Скрытый API: интерфейсы, которые Android прячет от разработчиков

В одной из своих предыдущих статей я уже писал о механизме под названием «уровень доступа» (protection level), который определяет, может ли твой код обращаться к тем или иным функциям ОС. Высокий уровень доступа получает только системный софт, поэтому для простых смертных он закрыт. Однако есть в Android и еще одна интересность, имя которой — скрытый API. И чтобы получить к нему доступ, не нужен root, не надо подписывать приложение ключом прошивки, достаточно лишь немного пораскинуть мозгами.

Xakep #211 vkontakte-login

VK.com — твой бесплатный бэкенд. Пишем свой клиент для стены группы vk.com

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

Xakep #211 Cowboy-Drawing-h

Android Studio: 10 траблов начинающего разработчика и их решения

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

Xakep #211 kotlin-h

Как перестать кодить на Java и начать жить: сто* причин изучить Kotlin

Ребята из JetBrains сделали очень много крутых вещей, среди которых Kotlin — молодой, но очень перспективный язык программирования под JVM и Android. В этой статье я покажу, чем этот язык может заинтересовать Android-разработчика и заставить его навсегда позабыть про Java.

Xakep #210 android-book

О чем молчат книги по Android. 5 проблем, о которых не пишут в документации

В программировании все меняется со скоростью, близкой к скорости света: нам приходится постоянно что-то изучать, пробовать чужие решения, изобретать собственные велосипеды, менять алгоритмы, внедрять стеки новых технологий — словом, участвовать в гонке без финиша. Найти информацию, порой даже в официальных источниках, бывает очень проблематично. Не веришь? Что ж, добро пожаловать в ад!

Xakep #210 vk-api-h

Используем VK.com в своих целях: 5 готовых рецептов

Малолетним пользователям Вконтактик дарит безграничные возможности онлайн-общения. Зрелым сотрудникам специальных служб — добровольно и собственноручно созданные досье на вышеуказанную группу граждан. А что он может дать программисту? Разумеется, бесплатную инфраструктуру для его приложения! И никакой головной боли с надежностью сервера и оплатой хостинга ;)

Xakep #209 android-binder

Пишем модули для троянов для Android. Часть 2

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

Xakep #209 Isometric-City-Scene-h

Как создать себе IoT. Часть 2: завершение проекта

В прошлой статье мы собрали сеть из датчиков и андроидофона с использованием BLE (Bluetooth Low Energy, Bluetooth Smart), поюзали SensorTag 2 от Texas Instruments и ознакомились с характеристиками и профилями. Узнали мы и как можно принимать и передавать данные через BLE на Android с железа. Сегодня мы свяжем полученные SensorTag’ом данные об окружающей среде через смартфон c небольшим облачным сервисом.

Xakep #209 Speed-of-Light-h

Многопоточная разработка для Android, часть 2. Раздаем задачи по сервисам

В продолжении темы прошлого номера мы узнаем, каким образом в Android можно генерировать дополнительные потоки и зачем это может понадобиться. Сегодня поговорим о таком компоненте приложения, как сервисы, и опишем их роли в мобильном мире Android. Сервисы и потоки тесно переплетены между собой, поэтому, если ты еще не читал прошлый номер «Хакера», начни с моей статьи, будет полезно!

Xakep #209 intel-background-h

Intel Multi-OS Engine: ожидания и реальность кросс-платформенной разработки

Фреймворк Multi-OS Engine — технология Intel, предназначенная для разработки кросс-платформенных мобильных приложений для iOS и Android из-под Windows или OS X. При этом на выходе должны получаться нативные приложения для каждой из платформ. А получаются ли? Давай посмотрим.

Xakep #208 android-binder

Пишем приложения с поддержкой плагинов для Android. Часть 1

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

Xakep #208 Speed-of-Light-h

Многопоточная разработка для Android, часть 1

При создании мобильного приложения чуть сложнее «Hello, world» почти наверняка требуется скачать что-то из Сети или считать файл с диска. Для стабильной работы программы в целом эти действия должны совершаться в отдельных потоках. Зачем, когда и как генерировать новые потоки в Android — об этом ты узнаешь в этой статье.

Xakep #207 libelium_smart_world_infographic_h

Как создать себе IoT. Учимся делать интернет вещей на Android и хардкорном железе

К 2020 году на планете будет 50 миллиардов устройств из мира «интернета вещей» (IoT). Это предсказание Cisco, сделанное в 2013 году, начинает сбываться. Дивный новый мир открывается перед хакерами.

hearth_beast_logo-h

«Сердце робота»: Как использовать системный API Android в личных целях

Любой, кто писал более или менее серьезный софт для разных мобильных ОС, знает, что Android — самая открытая для разработчика ОС. Однако и в Android есть ряд системных API, скрытых от сторонних приложений и доступных только стоковому софту. В этой статье мы попробуем разобраться, как получить доступ к этим API и какие возможности они открывают.

Xakep #207 google-cloud

Google Cloud Messaging: экономим батарею и нервную ткань с помощью Push-уведомлений

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

Xakep #206 Material-Wallpaper-6-h

Лучшие опенсорсные библиотеки для Material Design

В прошлой статье мы рассматривали официальные компоненты и виджеты библиотеки совместимости от Google, позволяющие «старым» (до 5.0) версиям Android прикидываться молодыми и стильными. Сегодня мы рассмотрим некоторые опенсорсные проекты, проверенные временем, разработчиками и, конечно, пользователями приложений.

Xakep #206 binocularslady

Как создать сервис для скрытой съемки на современном Android API

Мир Android развивается очень бурно, и мы, разработчики, имеем счастье каждый день узнавать что-то новое и тем самым становиться лучше. Технологии, которые были передовыми год назад, уже могут быть не так эффективны. К примеру, начиная с API версии 21 был введен новый класс Camera2, предоставляющий возможность управлять камерой. Старому классу Camera присвоен статус deprecated: это значит, что он все еще доступен для использования, но уже очень скоро его исключат и на новых устройствах этот класс работать не будет. Мы ориентируемся на перспективу, для этого сегодня мы изучим новые возможности, разобравшись, зачем же он же пришел на смену старому.

Xakep #206 monocle-h

10 советов на 10 миллионов. Как зарабатывать в магазинах приложений

С 1 июня 2014 года одно из моих приложений пережило 65 обновлений и в декабре 2015-го наконец получило более десяти миллионов установок. Поэтому я почувствовал, что имею моральное право сделать статью с советами о том, как достичь аналогичного процветания.

Xakep #206 apt-network-flow-site

Как устроена малварь для Android: разбираем на примерах Taidoor, IXESHE и СozyDuke

Когда антивирусные компании впервые начали публиковать обзоры Flame, с определенного угла зрения они читались как самая настоящая реклама этого продвинутого зловреда. Слаженный коллектив, миллионы долларов «инвестиций», высокие технологии, архитектура, паттерны, высочайшая квалификация... Вкусно звучит, не правда ли? Мы, мобильные кодеры, можем кое-чему у них подучиться!

Xakep #206 prepare-android-h

Практикум кодера-исследователя: декомпилируем и изучаем Android-малварь

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

Xakep #205 androids2-h

Логгер звонков на Android. Изучаем на жизненных примерах

Такие приложения, как Tasker и Locale, уже давно стали одним из главных аргументов в споре поклонников Android и iOS. Действительно, обычные, не требующие ни прав root, ни прав администратора приложения, а позволяют творить со смартфоном такое, что любой ветеран Linux-скриптинга обзавидуется. Как же они работают и почему подобных приложений нет в других мобильных системах?

Xakep #205 Material-Design-Flat-h

Material Design в Android: продолжаем изучать модную тему

Android-роботы версий 5 и 6 продолжают гордо шагать по смартфонам и планшетам радостных пользователей, сверкая красотами Material Design. При этом, надо отдать должное Google, старые девайсы никто не забывал, они тоже примерили шкурки материального дизайна, пусть и не в полном объеме. О том, как все это работает, мы сегодня и поговорим.

Xakep #204 polite-thief

Разрешения Android 6.0 в защите и нападении

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

Xakep #203 material-city-site

Интерфейсы будущего: изучаем Material Design от Google на практике

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

Xakep #203 detective-android

Следим за своей девушкой с помощью Android

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

Xakep #202 talkback-up

Получаем пользовательские данные на Android с экранов сторонних приложений

С версии 1.6 в Android существует «сервис специальных возможностей». Нетрудно догадаться, с какой целью он был создан, но нас, как людей, стремящихся как раз к неограниченным возможностям, этот сервис интересует с несколько другой стороны. Сегодня мы будем писать программу, которая позволит следить за вводом в других приложениях!

Xakep #202 library

Шесть лучших библиотек Android-разработчика

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

Xakep #201 android-hero

Как писать приложения для Андроида с поддержкой прав root

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

Xakep #201 AW_watch_faces

Свой циферблат для Android Wear. С иконками, циферками, подкидным дураком и танцовщицами!

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

Xakep #200 xposed

Роботизированные хуки. Перехватываем вызовы в ОС Android

Любой читатель нашего журнала как минимум что-то слышал о возможности перехвата вызовов в различных операционных системах. А скорее всего, активно этим пользовался — по крайней мере в винде. Если вкратце, ты можешь перехватить вызов какой-то функции и как-нибудь этим распорядиться: использовать параметры по своему усмотрению, выполнить свой код вместо того, который должен был выполниться. Сегодня мы будем делать это в ОС Android!

Xakep #200 hidden-sms

Злые СМС. Исследуем скрытые механизмы работы с СМС в Android

Только представь: у всех жителей средней полосы осень, а ты тусуешься на морях, солнце лениво замерло в зените, ты лежишь на жемчужном пляже одного из Мальдивских островов, любуешься окружающими пейзажами и проходящими девушками в бикини, потягивая коктейль... А много позже, вечером, ты обнаруживаешь, что на счете твоей пластиковой карточки пусто! Как же так? Мобильный банк с информированием подключен, все операции вроде бы подтверждаются по СМС... Примерно такие вопросы стали недавно задавать вслух клиенты одного крупного банка с зеленым логотипом.

Xakep #200 floppy

Схороняй правильно. Раскладываем пользовательскую информацию в Android по полочкам

Google Play market предлагает сотни вариантов реализации практически любой идеи. Но хорошо продаются только приложения, создающие ощущение, будто они написаны именно для тебя. Сохранение настроек и любой другой пользовательской информации — главное качество user-friendly приложения. Рассмотрим, какие инструменты есть в мире Android!

Xakep #199 android-cam

Android как средство наблюдения. Следим за происходящим вокруг, не беспокоя владельца телефона

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

Xakep #199 dots

Лог всемогущий. Расшифровываем TLS-трафик с помощью JVM

Совершая платеж в Интернет-магазине или ином финансовом сервисе, ты наверняка инициируешь SSL-соединение где-то на серверной стороне с участием какого-нибудь Java-приложения. А что если тебе нужно исследовать это соединение? В силу бизнес-ценности его нельзя сделать открытым даже в тестовом окружении. Тупик? Оказывается, нет! Трафик такого приложения можно расшифровать, если у тебя есть его перехват Wireshark’ом и… логи JVM.

Xakep #199 xonix

Xonix для Android. Сделано стандартными средствами Android SDK!

Хочется иногда взять и отдохнуть от всех этих фреймворков, движков и готовых библиотек. Точнее, не отдохнуть, а напрячься — взять и накодить какую-нибудь игрушку исключительно с помощью стандартных средств. Какую именно? Выбрать легко, ведь в сердце любого программера неизменно живут три игры, созданные в прошлом веке: Tetris, Digger и Xonix. Поехали!

Страница 1 из 212
«ХАКЕР» ДОСТУПЕН ТОЛЬКО В ЭЛЕКТРОННОЙ ВЕРСИИ
Оформи подписку — получи:
  • доступ к платным материалам сайта
  • доступ ко всем номерам PDF
4190 р.
на год
490 р.
на месяц
60 р.
за 1 статью

Еженедельный ][-дайджест

Корпоративная подписка

Для подписчиков

Хочешь годовую подписку в подарок?

Хочешь годовую подписку в подарок?

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

Кстати, даже если ты не попал в их число — ты все равно можешь получить один из 1000 еженедельных скидочных кодов на годовую подписку. Скидка составляет от 10 до 40%!

Спасибо! На твою почту было отправлено подтверждающее письмо.