Временная скидка 60% на годовую подписку!
Главная Кодинг (страница 2)

Кодинг

Xakep #238

Android: чего ожидать от Android Q, что внутри северокорейского смартфона и что такое контекстно ориентированное программирование

Сегодня в выпуске: рассказ о решении некоторых проблем безопасности в Android Q, разбор работы новой системы обновления Android APEX, реверс северокорейского смартфона, введение в контекстно ориентированное программирование на Kotlin, а также советы по работе с GitHub и работе с Google Play Console.

Xakep #238

Python по всем правилам. Делаем свою структуру данных совместимой с фичами Python

Если ты пишешь на Python, то наверняка видел в стандартных библиотеках определения методов, обернутых в двойные подчеркивания. Эти «магические» методы образуют многие из полезных интерфейсов, которыми ты постоянно пользуешься, — например, когда получаешь значение по номеру элемента или выводишь что-то через print. Сейчас я покажу, как эти методы использовать и в своих программах.

Xakep #237

Android: новый метод рутинга и большое исследование безопасности IPC в приложениях

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

Xakep #236

Кодим в консоли. Как отказаться от IDE и стать более продуктивным и уверенным в себе

Зачем в XXI веке разработчику нужны навыки программирования в «голой» консоли? Да затем же, зачем солдату навыки рукопашного и штыкового боя. Тому, чья служба состоит из покраски травы и стен, не нужны совсем, а вот коммандос этому все еще учат.

Xakep #236

Android: борьба Google с малварью, платная разлочка Huawei и множество советов по языку Kotlin

Сегодня в выпуске: история о том, как Google безуспешно борется с малварью, статья о платной разблокировке загрузчика Huawei, гайд по борьбе с упаковщиками с помощью Frida. А также: подборка трюков и советов для Kotlin-программистов, инструменты профайлинга сетевых функций, лучшее объяснение отличия короутин от потоков и, конечно же, очередная подборка свежих библиотек и инструментов.

Xakep #236

О`б’фу’ска””ция PowerShell. Как спрятать полезную нагрузку от глаз антивируса

В базах антивирусов содержатся миллионы сигнатур, однако трояны по-прежнему остаются в хакерском арсенале. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут остаться незамеченными. Как? Благодаря обфускации! Даже скрипт на PowerShell можно спрятать от любопытных глаз антивируса.

Xakep #235

Android: security-чип в смартфоне Pixel 3, защита от ROP в ядре и уроки фаззинга

В этом выпуске: новый security-чип в смартфоне Pixel 3, защита от атак с использованием ROP в ядре Linux, уроки фаззинга, смартфон, ворующий рекламные деньги, прошлое, настоящее и будущее пакетов APK. А также несколько статей для программистов: управление приоритетами потоков, разбор системы типов Kotlin и рассказ о Contracts — новой функции Kotlin 1.3.

Xakep #234

Android: инструменты программиста и новые возможности Kotlin

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

Xakep #229

Системный изолятор. Изолируем процессы в Windows средствами Less Privileged App Container (LPAC)

Начиная с восьмой версии в Windows появился встроенный механизм контейнеров, которые позволяют изолировать процессы путем значительного усечения их прав. Этому системному механизму дали название Less Privileged App Container (LPAC), он поддерживается некоторыми приложениями, например браузером Chrome. В этой статье я покажу, как использовать его в своих программах.

Xakep #228

Инъекция для андроида. Внедряем код в чужие приложения с помощью Frida

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

Xakep #228

Прыжок в облако. Строим бюджетное решение для интернета вещей на NodeMCU + Azure IoT Hub

Самое популярное назначение IoT-устройств — это сбор телеметрии. На сегодняшний день цены на облачные IoT-сервисы снизились буквально до одного доллара в месяц, который, согласись, не жалко отдать даже просто ради эксперимента. :) В этой статье я расскажу, как отправить данные в облако с платы NodeMCU, используя язык Lua.

Xakep #227

Антиотладка. Теория и практика защиты приложений от дебага

К методам детектирования отладки прибегают многие программисты: одни хотели бы уберечь свои продукты от конкурентов, другие противостоят вирусным аналитикам или автоматическим системам распознавания малвари. Мы в подробностях рассмотрим разные методы борьбы с дебагом — от простых до довольно нетривиальных.

Xakep #226

Юзай новый блютус, BLE-пять! Изучаем и кодим под новый скоростной протокол на примере Arduino

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

Xakep #226

Нативно или нет? Четыре мифа о кросс-платформенной разработке

Принято считать, что тру и кул — это Objective C/Swift для iOS и Java/Kotlin для Android. Спору здесь нет, тру и кул, но существует большое количество реальных сценариев, в которых использование кроссплатформенных фреймворков является более предпочтительным в сравнении с нативными инструментами.

Xakep #226

ASP.NET под защитой. Как не допустить Mass assignment, XSS, CSRF, Click-Jacking, MIME sniffing, SQL Injection и многого другого

ASP.NET MVC – не самый хайповый, но довольно популярный стек в среде веб-разработчиков. С точки зрения (анти)хакера, его стандартный функционал дает тебе кое-какой базовый уровень безопасности, но для предохранения от абсолютного большинства хакерских трюков нужна дополнительная защита. В этой статье мы рассмотрим основы того, что в этом отношении надо знать разработчику.

Xakep #226

Код Хаффмана. Как распаковать таблицы, сжатые Huffman Encoding, в Intel ME 11.x

Как известно, многие модули Intel ME 11.x хранятся во Flash-памяти в упакованном виде, и для сжатия применяются два алгоритма — LZMA и Huffman Encoding. Для LZMА существует публичная реализация, которую можно использовать для распаковки, но для Huffman все сложнее. Распаковщик Huffman Encoding в ME реализован на аппаратном уровне, и построение эквивалентного программного кода представляет собой сложную и нестандартную задачу.

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

Топливо для Андроида. Избавляем свое приложение от лагов, тормозов и долгих экранов загрузки

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

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

10 фич Kotlin, которые заставят тебя бросить Java: Null Safety, Extension Methods и прочие крутые штуки

Во время написания этой статьи произошло очень большое событие — язык программирования Kotlin был признан официальным языком программирования для платформы Android. Год назад мы уже писали про этот язык программирования, но жизнь не стоит на месте, и в этой статье я расскажу тебе о том, какими фичами этот язык смог покорить меня, старого и закаленного программиста :).

Реклама

Актуальна ли профессия программиста?

Программист — одна из профессий, представители которой не беспокоятся за свое будущее. Интересно, почему? Останется ли профессия актуальной через двадцать лет?

Реклама

Как стать Data Scientist. Осваиваем новую перспективную профессию

В мире IT существуют различные направления. Кто-то занимается администрированием, кто-то — разработкой или тестированием. Создаются курсы, готовящие системных администраторов, программистов, тестеров. В этой статье будет рассмотрена особая программа — Data Scientist — специально для разработчиков, аналитиков и продакт-менеджеров.

Xakep #219

Центр интернета вещей: подключаем Arduino к Azure IoT Hub

В прошлом году компания Microsoft анонсировала облачный бэкенд для управления умными приборами и интегрированной электроникой. Azure IoT Hub позволяет с минимумом программирования настраивать взаимодействие между устройствами и встраивать его в свои проекты на основе Azure. Чтобы посмотреть, как это работает, мы разберем простую задачу — отправку в облако показаний датчика, подключенного к контроллеру Arduino.

Xakep #194

Вычисляем на GPU. Изучаем гетерогенный параллелизм на C++ с помощью AMP

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

Xakep #194

Сериализация, сэр! Сегодня на ужин байтовая каша, сваренная из объектов C++

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

Эйфелева, но не башня. Знакомимся с языком программирования, который уважают в Boeing

Долгие годы я был фанатом разработки под Windows, о чем немало писал в этот вот лучший компьютерный журнал всех времен и народов. Со временем я перешел под Mac OS и UNIX. Работая под макосью, я озадачился выбором тулзы для создания платформонезависмых программ. Что же предпочесть? Java? Mono? Слишком скучно. Я выбрал… Eiffel. И вот почему.

Корреляция своими руками с помощью Esper. Практическое пособие по созданию корреляционного движка

В прошлом номере мы рассмотрели возможности библиотеки Esper, предназначенной для сложной обработки событий. В данной статье перейдем от теории к практике, создадим свою собственную подсистему корреляции и интегрируем ее с популярной связкой Elasticsearch — Logstash — Kibana.

Введение в R. Разбираемся в анализе данных с использованием статистического пакета

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

Кодинг для умных часов. Знакомимся с Tizen SDK и превозмогаем его подводные камни

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

Навстречу вихрю. Разбираемся с устройством асинхронных фреймворков для Python

«Асинхронность» и «параллельность» — ортогональные понятия, и один подход задачи другого не решает. Тем не менее асинхронности нашлось отличное применение в наше высоконагруженное время быстрых интернет-сервисов с тысячами и сотнями тысяч клиентов, ждущих обслуживания одновременно.

Грустная история забытых символов. Как не сойти с ума при работе с кодировками в C++

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

Академия C++. Урок № 2. Размещай и властвуй! Используем размещающий new для оптимизации кода на C++

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

Знакомимся с возможностями нового Java на конкретном примере

Java 8 можно по праву назвать самой ожидаемой версией. Тысячи программистов по всему миру, затаив дыхание, пытались понять, по какому пути пойдет развитие Java после поглощения компании Sun Oracle и ухода многих талантливых инженеров, включая самого Джеймса Галинга, которого называют автором Java.

Колонка Стёпы Ильина. Про программирование дрона

Как и многие другие гики, я все-таки стал обладателем AR.Drone — пожалуй, наиболее популярного квадрокоптера, который массово продается по всему миру в самых обычных магазинах и управляется со смартфона по Wi-Fi. Что из этого вышло — читай в сегодняшней колонке.

Xakep #113

Энциклопедия антиотладочных приемов 3. Обработка необрабатываемых исключений

Отладчики, работающие через MS Debugging API (OllyDbg, IDA-Pro, MS VC), вынуждены мириться с тем, что отладочные процессы «страдают» хроническими особенностями поведения. Они «ломают» логику программы, и это с огромной выгодой используют защитные механизмы. В частности, API-функция SetUnhandledExceptionFilter() под отладчиком вообще не вызывается — вовсе не баг отладчика, а документированная фича системы!

Xakep #002

Ассемблерные извращения. Натягиваем стек по-хакерски

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

Xakep #002

64-битный привет. Архитектура x86-64 под скальпелем ассемблерщика

32-битная эпоха уходит в прошлое, сдаваясь под натиском новых идей и платформ. Оба флагмана рынка (Intel и AMD) представили 64-битные архитектуры, открывающие дверь в мир больших скоростей и производительных ЦП. Это настоящий прорыв — новые регистры, новые режимы работы… попробуем с ними разобраться?

Страница 2 из 212

25 лет «Хакеру»!

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

Спасибо за подписку! Мы будем присылать важные новости ИБ в еженедельном дайджесте
Ошибка при подписке Случилась ошибка при создании подписки на наш дайджест. Пожалуйста, попробуйте позднее
Важные события и скидка на подписку:
«ХАКЕР» ДОСТУПЕН ТОЛЬКО В ЭЛЕКТРОННОЙ ВЕРСИИ
Оформи подписку — получи:
  • доступ к платным материалам сайта
  • доступ ко всем номерам PDF
4000 р.
на год
920 р.
на месяц

«Хакер» в соцсетях

Материалы для подписчиков