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

Кодинг

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

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

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

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

Xakep #225

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

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

Xakep #225

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

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

Xakep #226

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

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

Xakep #224

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

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

Xakep #225

Малварь для Android за полчаса. Отслеживаем местоположение, читаем SMS, пишем аудио и делаем фото

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

Xakep #224

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

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

Спецпроект

Блокчейн — финансовый инструмент или очередная афера? Рассказывает Geekbrains

Биткойн сегодня обсуждают все кому не лень — от дяденек в костюмах до младших школьников. Даже цыгане начали им торговать. В ногу с криптовалютой идет технология блокчейн (blockchain), представляющая собой непрерывную последовательную цепочку блоков данных, выстроенных по определенным правилам.

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

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

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

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

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

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

Спецпроект

Тестируем карандаш. О профессии тестировщика

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

Xakep #223

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

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

Xakep #223

Полет «Колибри». На что способна ОС, целиком написанная на ассемблере

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

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

Cloak and Dagger: эксплуатируем атаку и создаем PoC нашумевшей уязвимости

Читал новость о Cloak and Dagger? Да-да, «новая уязвимость, которая представляет опасность для всех устройств на базе Android, вплоть до новейшей версии 7.1.2» и прочие страшные слова и их комбинации? Отлично, стало быть, проблема есть, а вот исходников в публичном доступе особо не просматривается. А это значит, что в этой статье тебя ждет самый настоящий 0day!

Спецпроект

А ты знал? 10 фактов о Python

Python — язык программирования с достаточно низким порогом вхождения, поэтому его часто выбирают начинающие кодеры. Ты еще не решился изучать «Пайтон»? Вот десять фактов о нем, которые помогут тебе развеять сомнения и определиться с выбором. Они будут интересны не только программистам!

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

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

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

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

Заработок на Android: как использовать свой backend-сервер на RoR для валидации встроенных покупок в приложениях

Недавно мы рассказывали, как перестать встраивать навязчивую (и копеечную) рекламу в свои приложения и начать получать деньги напрямую от пользователей. Но если люди будут не просто жертвовать деньги, а покупать контент, то задача усложнится. Нужно защититься от мелкого мошенничества, следить за корректностью покупок, а еще позволить пользователю менять мобильные устройства без потери купленного контента. Все это решится, когда ты заведешь собственный backend-сервер. ][ тебе в этом поможет — сейчас мы напишем настоящий API на Ruby on Rails c сервисами Google.

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

Kotlin Anko: делаем интерфейс для Android-приложений без findViewById и XML

Уверен, из наших статей по Kotlin ты уже понял, что ][ любит этот сладкий от синтаксического сахара язык программирования. Наша сегодняшняя статья поможет и так не сильно загруженному :) Kotlin-разработчику разгрузиться еще больше: с помощью библиотеки Anko ты избавишься от необходимости писать разметку интерфейса в XML и получишь доступ к множеству упрощающих разработку функций.

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

Золотой фонд веб-разработчика. Самые полезные плагины для Atom и VS Code

Текстовые редакторы, созданные на основе web-технологий, переживают настоящий бум. Atom, VS Code, Brackets, подобно монстрам рока, завоевывают популярность среди web-разработчиков (погоди, какой там сейчас на календаре год у «популярных монстров рока»? :) — Прим. ред.). На них переходят как с IDE, так и просто с нативных редакторов. Причина предельно проста: репозитории кишат полезными плагинами, а недостающие каждый может создавать самостоятельно, применяя сугубо web-технологии.

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

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

Большинство пользователей до сих пор ставят себе на аккаунты простые пароли — комбинации даты рождения, имени любимого футболиста, клички питомца, не подозревая, что вся эта информация находится в открытом доступе. Используя ее, брутфорсер может значительно облегчить себе задачу угона аккаунтов. Чтобы этому противодействовать, вводят антибрутфорс (АБФ). Как работает АБФ, как вычислить взломщика-брутфорсера, кластеризовать его вредоносные запросы и пресечь их расскажем в этой статье. Использовать будем Python.

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

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

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

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

7 лучших ферм устройств для тестирования своих iOS- и Android-приложений

Еще в далекие времена, когда балом смартфонов заправляли Nokia и Microsoft, возникла одна характерная особенность мобильной разработки — разношерстность устройств по характеристикам и модификациям операционок. Приходилось тестировать приложение не только на разных версиях ОС, но и на разных физических устройствах. После выхода iOS самих моделей телефонов всегда было мало, поэтому с ними проблем не возникало. А вот в мире Android проблема фрагментации встала во весь рост. Моделей на рынке тысячи, и все время появляются новые, и твое приложение или игра должны гарантированно работать на каждой из них. Добавим еще разные версии прошивок на этих моделях... И поймем, что вручную потребуется куча человеко-часов для проверки каждого релиза.

Спецпроект

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

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

Xakep #220

Сенсорные датчики в Android: какие они бывают и как с ними работать

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

Xakep #219

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

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

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

Заработок на Android: продаем контент через In-app Billing API

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

Автоматизируем работу с программами на Android при помощи Accessibility Service

Способы, позволяющие автоматизировать пользовательские действия, чтобы программа работала с интерфейсами чужих софтин так, как будто это живой человек, совершенно закономерно интересуют программистов, хакеров и безопасников. Кто сказал «негласно автоматизировать работу с мобильным банком»? :) Стыдитесь, товарищ! Мы за мирную автоматизацию. В прошлой статье по Accessibility Service мы сфокусировались на получении данных экрана, а сегодня мы научим Accessibility Service делать работу на устройстве за нас!

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

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

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

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

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

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

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

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

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

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

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

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