Главная Кодинг

Кодинг

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

Xakep #233

[Без]опасный JavaScript. Изучаем проблемы кода на JS и выбираем средства борьбы с ними

Разработка безопасных приложений на JavaScript — весьма непростое занятие. Но выполнимое. В этой статье рассмотрим особенности JavaScript, из-за которых возникает наибольшее количество проблем, и обратим внимание на инструменты разработчика, которые помогут их избежать.

Xakep #233

Советы Android-разработчику. Что я узнал за год поддержки приложения в Google Play

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

Xakep #232

Пишем майнер на Java. Кодим добытчик криптовалюты Electroneum

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

Задачи на собеседованиях. Задания для хардкорщиков от компании Acronis

Приятно осознавать, что среди наших читателей много настоящих хакеров, способных дать решительный бой повсеместному засилью сделанных на двухнедельных онлайн-курсах веб-программистов. Поэтому за новыми задачами мы обратились к компании, «низкоуровневая» ориентация специалистов которой не вызывает сомнений, — Acronis!

Xakep #231

Давай напишем ядро! Создаем простейшее рабочее ядро операционной системы

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

Xakep #231

Дао хеша. Познаем дзен методически правильного хеширования паролей

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

Xakep #230

Многофакторная аутентификация по-взрослому. Куем серьезный софт с помощью бесплатного инструментария

В этой статье мы рассмотрим, как добавить в мобильное приложение возможность еще одного подтверждения аутентификации в дополнение к имени пользователя и паролю (например, звонок на зарегистрированный на пользователя телефон или ввод кода из СМС) и как настроить backend-сервисы для реализации такой многофакторной аутентификации.

Xakep #231

Русский народный блокчейн. Пишем простой локальный блокчейн с использованием «Стрибога»

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

Xakep #230

Криптуем по-крупному. Разбираемся с режимами работы российских блочных шифров

В предыдущих статьях мы подробно разобрали, как работают два отечественных криптоалгоритма. Однако с помощью них получится зашифровать весьма скудный кусочек информации — 8 или 16 байт. Понятно, что нынче в такие объемы ничего втиснуть не получится и нужно что-то с этим делать. А что с этим делать, подробно изложено в очередном российском стандарте!

Xakep #231

Творческая Iskra. Делаем аппаратный менеджер паролей своими руками

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

Xakep #230

Крафтовая ФС. Как быстро сделать свою файловую систему на FUSE и Swift

Мысль о том, чтобы написать свою файловую систему, кажется многим слишком амбициозной. Однако проект FUSE for macOS, развиваемый сообществом энтузиастов, решает этот вопрос буквально в пару сотен строк кода, а идущий в комплекте фреймворк не требует унылых разбирательств с API на голом C и вполне пригоден для использования в комплекте с современным и мощным Swift.

Xakep #230

Русская «Магма». Как работает отечественный алгоритм блочного шифрования

В прошлой части наших «извращений с импортозамещением» мы подробно познакомились с алгоритмом шифрования «Кузнечик», который определен в ГОСТ 34.12—2015. Помимо этого алгоритма, в ГОСТе описан еще один, с длиной шифруемого блока в 64 бита, который носит название «Магма».

Xakep #230

Минутка ненависти Android-разработчика. Разбираем 10 самых частых проблем кодинга

Двадцать лет назад использовать Android было невозможно. Десять лет назад было еще рано. Сегодня — уже поздно. Android дорос уже до бальзаковского возраста, а разработчики все так же решают проблемы, которые давным-давно должны быть исправлены. Сегодня мы рассмотрим затруднения при разработке под Android, с которыми ты точно когда-нибудь столкнешься. И которые, кстати, бесят.

Xakep #230

JavaScript для умного дома. Arduino устарел, да здравствует ESP32!

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

Xakep #230

Инструментарий Android-разработчика. Подбираем программы, которые помогут в работе

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

Xakep #229

Задачи на собеседованиях. Полный разбор задач и награждение победителей от HackerU

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

Xakep #229

Беспощадный буст. Как ускорить многопоточный код на C++

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

Xakep #229

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

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

Xakep #228

Задачи на собеседованиях. От хакеров — хакерам: задачи от HackerU

Сегодня квесты представляют наши в некотором роде коллеги — Высшая школа информационной безопасности. Занимаются они, как нетрудно догадаться, профессиональной подготовкой частных лиц и компаний, стремящихся приобрести необходимые навыки и опыт в области ИТ и ИБ.

Xakep #228

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

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

Xakep #228

Детект песочницы. Учимся определять, работает ли приложение в sandbox-изоляции

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

Xakep #228

Mining Pool на Java. Кодим распределенный биткойн-майнер

Падение курса Bitcoin привело к тому, что даже в нашей холодной стране с дешевым электричеством майнить стало значительно менее выгодно. Что остается делать энтузиастам криптовалют? Особо предприимчивые стали привлекать к расчетам чужие компьютеры и, так сказать, переходить к распределенным вычислениям.

Xakep #227

Python для микроконтроллеров. Учимся программировать одноплатные компьютеры на языке высокого уровня

Шутники говорят, что после трудового дня за компьютером типичный программист едет домой, садится за ПК и таким образом отдыхает. А ведь истина на самом деле куда ужаснее этой шутки: многие из нас, приходя с работы, посвящают оставшееся до сна время... программированию микроконтроллеров. :) Обывателям не понять, но Arduino, Teensy или ESP — действительно очень неплохое хобби. Их единственный недостаток — необходимость программировать на достаточно низком уровне, если не на Assembler, то на Arduino C или Lua. Но теперь в списке ЯП для микроконтроллеров появился Python. Точнее, MicroPython. В этой статье я постараюсь максимально продемонстрировать его возможности.

Xakep #227

Android: безопасность умных гаджетов, история создания Magisk и впечатляющие трюки в Kotlin

Сегодня в выпуске: безопасность домашних голосовых ассистентов и других умных гаджетов, безопасность приложений, использующих датчик отпечатка пальца, история создания Magisk, рассказанная автором проекта. А также: внутренности Instant Apps, введение в Android Architecture Components, по-настоящему впечатляющие трюки в Kotlin и свежая подборка библиотек.

Xakep #226

Пять столпов Android. Технологии, лежащие в основе самой популярной ОС

Существует как минимум пять технологий, которые делают Android именно тем, чем мы привыкли его видеть: виртуальная машина, система многозадачности, сервисы Google, IPC-механизм Binder и ядро Linux. Мы в подробностях поговорим о каждой из них и покажем, почему Android — это нечто гораздо большее, чем мобильная ОС.

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

Python’ом по машинлернингу. Разгребаем тонны входящей корреспонденции без участия человека

Сегодня только ленивый не говорит (пишет, думает) про машинное обучение, нейросеточки и искусственный интеллект в целом. Всего лишь в прошлом году говорили про то, что ML как подростковый секс - все хотят, но никто не занимается. Сегодня все озабочены тем, что ИИ нас оставит без работы.

Xakep #225

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

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

Xakep #225

Espruino Pico. Учимся программировать USB-микроконтроллер на JavaScript и делаем из него токен авторизации

Несмотря на огромное количество устройств на базе микроконтроллеров, созданных на волне успеха Arduino, считаные единицы из них имеют форм-фактор обычной флешки, подходящий для непосредственного включения в разъем USB компьютера (USB Type-A). Один из наиболее любопытных их представителей — Espruino Pico.

Xakep #224

Дезинфицируем Android. Как устроены программы для очистки смартфона от встроенной малвари

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

Xakep #225

Гайд по написанию защищенных приложений для Android, трояны, шифровальщики и обход Certificate Pinning

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

Xakep #224

Fall Creators Update для программиста. Пробуем новые фичи Universal Windows Platform

Классические дотнетовские приложения хороши тем, что они практически не ограничены в правах и, например, могут работать в трее. Зато универсальные приложения (UWP) более безопасны, и их можно устанавливать/удалять бесчисленное количество раз, не забивая систему/реестр мусором. Платформа UWP постоянно развивается, и, пока пользователи обновляются до Fall Creators Update, который вышел в октябре этого года, мы, разработчики, можем посмотреть на его новые и интересные возможности.

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

Инструментарий игродела. Подбираем набор бесплатных программ для разработки игр

Игровой движок — сердце компьютерной игры и центральный инструмент геймдевелопера. Центральный, но не единственный! В этой статье мы с тобой подберем полный комплект бесплатного либо недорогого ПО, которое пригодится тебе в нелегкой работе индивидуального разработчика игр. И нет, это будет не Unity 3D + Visual Studio + Photoshop + Maya.

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

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

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

Xakep #224

Безопасность Android 8. Объясняем все новшества в механизмах защиты Oreo

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

Xakep #223

Погружение в assembler. Полный курс по программированию на асме от ][

Эту идею мы вынашивали долго. Наверное, несколько лет. С одной стороны, ассемблер — это круто. С другой стороны — актуальных руководств по асму, в том числе издания этого века, достаточно. Но все сомнения разрешил успех цикла статей по реверсу малвари: оказалось, что и сейчас, в XXI веке, тру-крякеры все еще не сдали своих позиций!

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

Android: разработка шеллкодoв под ARM, безопасность загрузчиков смартфонов и новые техники защиты ядра у Samsung

Сегодня расскажем: распределенные мессенджеры, которые нельзя заблокировать, крутое введение в написание шеллкодов под ARM и всеобъемлющее исследование безопасности загрузчиков смартфонов. А также: разбор трояна SpyDealer, способного красть данные из 40 сторонних приложений, отчеты разработчиков Android об усилении безопасности платформы и множество материалов для разработчиков.

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

Hyper-V sockets internals: исследуем внутренние механизмы работы сокетов Hyper-V

Хакер – это в первую очередь программист-исследователь; человек, который глубоко интересуется информационными технологиями, стараясь проникнуть в суть вещей, найти самые неочевидные и недокументированные возможности. Нам, команде «Хакера», не дают покоя лавры Марка Руссиновича (мы про книгу «Внутреннее устройство Microsoft Windows» :)), поэтому эту огромную статью мы посвятим оригинальному исследованию внутренних механизмов сокетов Hyper-V.

Страница 1 из 712345 ...

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

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

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

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