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

Кодинг

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

Xakep #302

WinAPI днем и ночью. Ищем способы обращения к нативному коду из C#

Одним из немногих минусов C# считается некоторая сложность при вызове методов WinAPI. Многие возможности уже перекочевали в сборки, но до сих пор приходится часто сталкиваться с задачей вызова функций Win32 напрямую. В таком случае используются PInvoke, DInvoke и их производные. В этой статье я покажу, как работают эти методы, и мы научимся вызывать функции WinAPI из управляемого кода.

Xakep #301

EIGRP Scam. Отравляем таблицу маршрутизации на Python

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

Xakep #299

Под капотом у PassMark. Исследуем популярный бенчмарк и пишем свои тесты

Существуют сотни программ для оценки производительности, но абсолютным лидером среди них можно назвать PassMark — «индустриальный стандарт с 1998 года», как его позиционирует сам разработчик. На сайте программы — огромная база оценок самых разных девайсов. Давай посмотрим, что находится под капотом у легендарной программы для бенчмарков.

Xakep #299

Спайварь на C#. Как устроены средства слежения за пользователями

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

Xakep #297

Ты не пройдешь! Изучаем методы предотвращения подгрузки DLL

Злые вирусы так и норовят подгрузить в нашу легитимную программу свои библиотеки! Возможно ли избавиться от чужих модулей? Как предотвратить загрузку библиотек или хотя бы своевременно о ней узнать? Давай разбираться.

Xakep #295

Шелл-код для ARM. Пишем на ассемблере свой реверс-шелл для устройств на ARM

Многие знают, как создать шелл‑код для обычных машин с архитектурой x86. Про это написана куча мануалов, статей и книг, но многие современные девайсы, включая смартфоны и роутеры, используют процессоры ARM. Я собрал всю необходимую информацию для подготовки стенда, написания и инъекции шелл‑кода для устройств на ARM.

Xakep #295

Веселые хеши. Реализуем технику API Hashing, чтобы обдурить антивирус

В этой статье мы с тобой напишем полноценную пермутирующую реализацию техники API Hashing, что позволит раз и навсегда скрыть импорты от глаз антивируса. Впервые технику API Hashing я увидел в вирусе‑шифровальщике Revil, проблема лишь в том, что хеши от функций были вписаны в код, а это позволяет легко создавать сигнатуры. Давай сделаем так, чтобы все данные генерировались на лету, тогда у антивируса не будет шансов!

Xakep #294

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

Зачем вообще выбирать базу данных? Почему нельзя просто взять ту, с которой уже работал, и использовать ее? Часто это оправданный выбор, но для чего же тогда создано почти 500 разных СУБД? Давай попробуем разобраться вместе, чем они отличаются и когда нужны.

Xakep #293
КодингХардкор

Врата ада. Переписываем Hell’s Gate и обходим антивирус

Хочешь узнать, как обойти антивирусные программы с помощью системных вызовов? Мы раскроем секреты этой захватывающей техники, перепишем известный инструмент, попрограммируем на ассемблере и поищем паттерны в памяти, чтобы получить FUD-пейлоад!

Xakep #290

Зоркий глаз. Собираем и программируем на Python устройство для видеонаблюдения

Для многих разработчиков Python — это язык, на котором были написаны их первые программы: «Hello, world!» или калькулятор. Сейчас начинающие программисты во время обучения часто пишут телеграм-ботов, благо на Python это сделать относительно несложно. Давай создадим бота, но не простого, а взаимодействующего с нашим собственным устройством для умного дома, которое мы самостоятельно соберем и запрограммируем.

Xakep #290
КодингДля начинающих

Безопасный питон. Осваиваем приемы защищенного кодинга на Python

Сегодня мы поговорим о том, что должно волновать каждого крутого программиста, — о безопасном коде. Ты думаешь, это скучно и сложно? Ничуть! Я поделюсь с тобой своим опытом и покажу, как научиться писать на Python код, за который потом не придется краснеть.

Xakep #290
КодингХардкор

Дерем три шкуры. Как дампить тикеты Kerberos на C++

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

Xakep #289

Долой Mimikatz! Инжектим тикеты своими руками

Для реализации целого ряда атак типа pass the ticket необходимо внедрить в скомпрометированную систему билет Kerberos. Обычно для этого используются инструменты вроде Mimikatz, Impacket или Rubeus, но они отлично палятся антивирусами, что делает такой подход неэффективным. В этой статье я подробно рассмотрю методы решения этой задачи без вспомогательных инструментов, с использованием только WinAPI.

Xakep #288

Чит своими руками. Смотрим сквозь стены и делаем автоприцеливание для 3D-шутера

Сегодня мы с тобой напишем чит для сетевого шутера. Мы реализуем хаки типа extrasensory perception (ESP) и aimbot. ESP отображает информацию об игроках над их головами. Здесь может быть здоровье игрока, имя или текущее используемое оружие. Aimbot автоматически нацеливается на других игроков.

Xakep #282
КодингДля начинающих

Сканим на Python. Как написать и улучшить собственный сканер портов

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

Xakep #280
КодингДля начинающих

Как приручить «Киви». Автоматизируем прием платежей Qiwi на Python

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

Xakep #276
КодингДля начинающих

Игра вслепую. Управляем Android-смартфоном через ADB

Однажды мне понадобилось, чтобы одноплатник Raspberry Pi при загрузке переводил подключенный к нему телефон в режим USB-tethering. На помощь пришел ADB — интерфейс отладки Android-устройств. Существует несколько способов автоматизировать работу приложений на Android-смартфоне с помощью этого интерфейса, и в статье мы рассмотрим один из них.

Xakep #276

Чит своими руками. Вскрываем компьютерную игру и пишем трейнер на C++

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

Xakep #274
КодингДля начинающих

Заплатка на асме. Создаем панель инструментов для Windows на Flat Assembler

В этой статье я расскажу о том, как создать простое приложение — заготовку панели инструментов для рабочего стола Windows. По ходу дела мы вспомним Win32 API, разберемся, как его использовать на языке ассемблера, и познакомимся с Flat Assembler, который станет для нас основным инструментом разработки.

Xakep #272
КодингДля начинающих

Питоном по телеграму! Пишем пять простых Telegram-ботов на Python

В этой статье мы реализуем простой, но крайне полезный проект на Python — бота для Telegram. Боты — это небольшие скрипты, которые могут взаимодействовать с API, чтобы получать сообщения от пользователя и отправлять информацию в разные чаты и каналы.

Xakep #272
КодингДля начинающих

Змеиная почта. Пишем на Python и Qt почтовик с возможностью прикреплять файлы

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

Xakep #269
КодингДля начинающих

Python с абсолютного нуля. Работаем с ОС, изучаем регулярные выражения и функции

Сегодня мы поработаем с файловой системой ОС, освоим могущественные заклинания под названием «регулярные выражения», изучим тонкости создания и вызова функций и под конец напишем простенький сканер SQL-уязвимостей. И всё это в одном недлинном уроке!

Xakep #268

Кодить не стыдно! Колонка главреда

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

Xakep #268
КодингДля начинающих

Python с абсолютного нуля. Учимся работать со строками, файлами и интернетом

Однажды крокодилу Гене и Чебурашке поручили написать сочинение на тему «Как я провел лето». Все лето друзья пили пиво, и наивный Гена так и написал, поэтому Чебурашке пришлось заменить некоторые слова. А поскольку Чебурашка был кодером на Питоне, то сделал он это при помощи строковой функции...

Xakep #267
КодингДля начинающих

Python с абсолютного нуля. Учимся кодить без скучных книжек

Чтобы ломать, много ума не надо: можно качнуть Kali Linux, юзать готовые программки, копипастить код с форумов и вслепую качать скрипты с GitHub. Но потолок хакера, пока он не научится писать и понимать код, будет низким. В этой статье я попытаюсь в доступной форме научить тебя основам. Начинаем с абсолютного нуля!

Xakep #264

YOLO! Используем нейросеть, чтобы следить за людьми и разгадывать капчу

You only look once, или YOLO, — эффективный алгоритм, который позволяет выделять объекты на изображении. В этой статье мы используем его, чтобы написать на Python программу для определения числа людей в помещении, а по дороге опробуем его в разгадывании капчи.

Xakep #263
КодингДля начинающих

Крадущийся питон. Создаем простейший троян на Python

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

Xakep #262

Разведка змеем. Собираем информацию о системе с помощью Python

Если ты часто имеешь дело с разными компьютерами, тебе, конечно, нужен простой в использовании и быстрый инструмент для сбора информации о системе. Сегодня мы покажем, как сделать такую программу, отсылающую собранные данные в Telegram, а еще попрактикуемся в программировании на Python.

Xakep #260

Получи и распишись. Защищаем подписью запросы приложения для Android

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

Xakep #259

Безопасность памяти. Учимся использовать указатели и линейные типы

Основные проблемы с управлением памятью можно разделить на два класса. Первый — утечки памяти: проблема неприятная, но относительно безопасная (ее можно «решить» периодическим перезапуском программы). Второй — проблемы безопасности памяти, которые мы и обсудим в этой статье.

Xakep #259

Контроль над Android. Перехватываем данные и сбрасываем настройки смартфона через самые опасные API

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

Xakep #258

Сборка мусора. Разбираем мифы об автоматическом управлении памятью

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

Xakep #259
КодингДля начинающих

Погружение в ассемблер. Зачем учить ассемблер в 2020 году

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

Xakep #259

RDP over SSH. Как я писал клиент для удаленки под винду

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

Xakep #259
КодингДля начинающих

Погружение в ассемблер. Сокращаем размер программы

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

Xakep #258
КодингДля начинающих

Погружение в ассемблер. Работаем с большими числами и делаем сложные математические вычисления

Как ты знаешь, регистры процессора 8088 — 16-битные. Однако при необходимости ты можешь работать через эти регистры не только с 16-битными числами, но и с числами большей разрядности: и с 32-битными, и даже более крупными. В этой статье я сначала расскажу как, а затем мы нарисуем знаменитый фрактал — множество Мандельброта.

Xakep #258

Неочевидный Kotlin. Советы, трюки, подводные камни программирования для Android

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

Xakep #258

Введение в Row Level Security. Разбираем разграничение прав в БД на примере Oracle и PostgreSQL

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

Xakep #258
КодингДля начинающих

Погружение в ассемблер. Учимся работать с памятью

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

Xakep #257
КодингДля начинающих

Полная совместимость. Как работают статические исполняемые файлы в Linux

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

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

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

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

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

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

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