Кодинг

Twitch Extensions. Пишем свое расширение для взаимодействия со зрителями

Два года назад разработчики стриминговой платформы Twitch представили новый способ взаимодействия стримеров и зрителей — Twitch Extensions. Эта система позволяет…

Загадочный Forth. Знакомимся с одним из важнейших языков программирования, о котором мало кто знает

Forth применяют в самых разных областях, включая чипсеты PCI и космические аппараты, а Павел Дуров будет использовать схожий язык в…

Фаззинг глазами программиста. Как в Google автоматизируют поиск багов

Когда количество строчек кода в твоих программах исчисляется миллионами, поиск ошибок осложняется тысячекратно. К счастью, сегодня есть возможность автоматизировать тестирование…

Внутри x86-64 SystemV ABI. Как говорить с ядром Linux на его языке

Абстракция — основа программирования. Многие вещи мы используем, не задумываясь об их внутреннем устройстве, и они отлично работают. Всем известно,…

Кейлоггер по-домашнему. Пишем на C# кейлоггер, который не палится антивирусами

Боевые кейлоггеры с кучей функций и защитой от детекта могут стоить десятки, если не сотни долларов. Но кейлоггер не такая…

Магия C++. Как выжить без динамической идентификации типов и не сойти с ума

В C++ существует такое понятие, как динамическая идентификация типа данных (RTTI). Это механизм, который позволяет определить тип переменной или объекта…

Сила OCaml. Разбираемся с типизацией и пишем скрипты

Статически типизированные языки обычно вынуждают писать типы переменных по любому поводу. Но уже далеко не всегда: теория и практика языков…

На что способна ада. Делаем утилиту для детекта гипервизора на полузабытом языке

Лучше всего познавать язык на реальном проекте, поэтому, когда я решил поэкспериментировать с адой, я поставил себе реальную и интересную…

Протокол своими руками. Создаем с нуля TCP-протокол и пишем сервер на C#

Ты в жизни не раз сталкивался с разными протоколами — одни использовал, другие, возможно, реверсил. Одни были легко читаемы, в…

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

Сегодня в выпуске: рассказ о решении некоторых проблем безопасности в Android Q, разбор работы новой системы обновления Android APEX, реверс…

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

Если ты пишешь на Python, то наверняка видел в стандартных библиотеках определения методов, обернутых в двойные подчеркивания. Эти «магические» методы…

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

В этом выпуске: новый метод рутинга Android-смартфонов, большое исследование безопасности методов обмена данными в приложениях, вредоносные библиотеки, которые могут попасть…

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

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

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

Сегодня в выпуске: история о том, как Google безуспешно борется с малварью, статья о платной разблокировке загрузчика Huawei, гайд по…

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

В базах антивирусов содержатся миллионы сигнатур, однако трояны по-прежнему остаются в хакерском арсенале. Даже публичные и всем известные варианты полезных…

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

В этом выпуске: новый security-чип в смартфоне Pixel 3, защита от атак с использованием ROP в ядре Linux, уроки фаззинга,…

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

Этот месяц не был богат на события в мире инфосека, о которых бы мы не написали в новостях. Поэтому сегодняшний…

Новый глава GitHub рассказал, чего ждать после слияния с Microsoft

Нэт Фридман (Nat Friedman), который совсем скоро займет пост CEO GitHub, ответил на вопросы пользователей Reddit. Конечно, главной темой стало…

Microsoft собирается приобрести GitHub, а GitLab на этом фоне переживает прирост трафика

Сразу несколько крупных западных изданий сообщили, что компания Microsoft намеревается в ближайшее время приобрести GitHub. Пользователи отреагировали на эту новость…

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

Начиная с восьмой версии в Windows появился встроенный механизм контейнеров, которые позволяют изолировать процессы путем значительного усечения их прав. Этому…

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

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

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

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

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

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

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

С ростом количества сетевых беспроводных устройств совершенствуются и старые стандарты и протоколы беспроводной связи. Не так давно вышла новая спецификация…

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

Принято считать, что тру и кул — это Objective C/Swift для iOS и Java/Kotlin для Android. Спору здесь нет, тру…

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

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

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

Как известно, многие модули Intel ME 11.x хранятся во Flash-памяти в упакованном виде, и для сжатия применяются два алгоритма —…

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

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

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

Во время написания этой статьи произошло очень большое событие — язык программирования Kotlin был признан официальным языком программирования для платформы…

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

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

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

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

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

В прошлом году компания Microsoft анонсировала облачный бэкенд для управления умными приборами и интегрированной электроникой. Azure IoT Hub позволяет с…

Проект Pix2Code позволит преобразовать в код интерфейс с любой картинки

Разработчики стартапа Ulzard Technologies считают, что им удастся сократить пропасть, разделяющую кодеров и дизайнеров.