Тег

Кодинг

83 материала · RSS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Реклама

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

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

Реклама

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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