Java

На чем писать мобильные приложения: сравниваем Intel XDK, NativeScript и Xamarin

В предыдущей статье мы рассмотрели Silo-подход к разработке мобильных приложений, а также часть самых популярных black box средств разработки: среды Apache Cordova и Adobe Fuse. Сегодня мы продолжим изучать «черный ящик» и рассмотрим еще несколько популярных и известных средств разработки, а затем перейдем к заключительной теме — кросс-платформенному подходу.

Xakep #218

Строим мобильное приложение на Firebase — бесплатном и мощном бэкэнде Google

Новый сервис Firebase от Google способен покрыть большинство потребностей мобильного разработчика и решить проблемы, которых у тебя еще нет. Сервис бесплатный при соблюдении лимитов, а чтобы за них выйти, нужно очень постараться. В этой статье я начну перечислять возможности сервиса и поделюсь своим опытом работы с ним.

Xakep #218

Служба, которая не спит. 3 способа обойти режимы энергосбережения Android в своей программе

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

Xakep #218

Мобильная разработка: выбираем инструментарий. Silo, black box или cross-platform?

Первый iPhone был представлен десять лет назад, в 2007-м. Через год появился магазин приложений от Apple. Тогда же на сцену вышел Android, а вместе с ним магазин приложений Google Play. Хотя сама идея продавать ПО для мобильных телефонов не была новой, именно появление iPhone, Android и Windows Phone ознаменовало образование современного рынка мобильного ПО, каким мы его знаем сейчас.

Xakep #217

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

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

Xakep #215

Куда уходит память. Разбираемся с memory leaks в Java на примере Spring и Log4j

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

Xakep #212

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

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

Xakep #205

Задачи на собеседованиях, спецвыпуск. Стань богатым Java-программистом!

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

Xakep #201

Easy Hack #201. Часть 4: Эксплуатация уязвимостей через сериализованные объекты Java

Переходим ко второй атаке, которая связана с двоичной сериализацией в Java. Мы, как ты помнишь, были несколько ограничены в возможностях: да, поменять данные объектов можно, а вот отправлять произвольные объекты и получить в итоге RCE (как бывает в случае других языков) можем лишь при определенных условиях.

Xakep #201

Easy Hack #201. Часть 3: подмена данных в сериализованных объектах Java

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

Xakep #200

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

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

Xakep #199

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

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

Xakep #199

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

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

Взлом генератора случайных чисел Java

Java предоставляет два основных генератора псевдослучайных последовательностей: java.util.Random — криптографически нестойкий, но выдающий равномерно распределенную последовательность, и java.security.SecureRandom — криптографически стойкий, который может использоваться в реализации стойкой криптографии, например для генерации ключей. Поскольку Java широко используется, эти генераторы часто встречаются в реальных приложениях. Давайте посмотрим, какую опасность создает их неправильное применение.

Xakep #198

Умный дом на Java. Обзор Netty — крутейшего Java-фреймворка

Фреймворк Netty появился относительно недавно, но с каждым годом он только набирает популярность. В 2011 году проект был удостоен награды Duke’s Choice за инновации в сетевом программировании. А уже сегодня его используют в своих разработках такие гиганты, как Apple, Twitter, Facebook, Google и Instagram. На базе Netty построены многие известные проекты с открытым кодом: Infinispan, HornetQ, Vert.x, Apache Cassandra и Elasticsearch. Попробуем разобраться, чем Netty так привлекает программистов со всего мира и что он может предложить такого, чего бы не было в JDK.

Xakep #197

X-TOOLS #197. Софт для взлома и анализа безопасности

В этом выпуске: улучшаем покрытие тестов при пентестинге J2EE-приложений, сканируем на уязвимости dylib-библиотеки на Mac OS X, дизассемблируем бинарные файлы и пишем эксплоиты для них, проверяем сайты на уязвимости и автоматизируем MITM-атаки.

Xakep #197

Обзор эксплойтов #197. Свежие уязвимости апреля-июня 2015 года

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

Пишем виджет для Android, который показывает доступность сайта

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

Как тебе удобнее проходить курсы?

Когда тебе удобнее посещать курсы?

«ХАКЕР» в соцсетях и фидах

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

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

Реклама на «Хакере»

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

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

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

Каждую неделю, вместе с дайджестом актуальных хакерских трендов, ты можешь получить один из 1000+ еженедельных кодов на скидку от 10 до 50% или один из 5 промокодов на бесплатную годовую подписку на «Хакер»

Данные участников не передаются третьим лицам