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

Кодинг

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

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 предпочитают устанавливать программы из репозиториев с помощью встроенного менеджера пакетов. Однако разработчики, очевидно, не могут включить в репозитории все программы в мире, поэтому иногда удобнее всего обойтись без установки вообще. В этой статье я расскажу, почему это возможно и как это реализовать.

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

Погружение в ассемблер. Как работают переменные, режимы адресации, инструкции условного перехода

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

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

Нескучный Data Science. Пишем на языке R собственный детектор спама

Работать в Data Science, как ты мог слышать, – престижно и денежно. В этой статье я познакомлю тебя с азами языка R, который используют в «науке о данных». Конструируя программу, ты увидишь, как сухая скучная математика может быть вполне наглядной и полезной, и сможешь понять ее, даже если никогда не сталкивался ни с чем подобным.

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

Погружение в ассемблер. Осваиваем арифметические инструкции

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

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

Погружение в ассемблер. Делаем первые шаги в освоении асма

Ты решил освоить ассемблер, но не знаешь, с чего начать и какие инструменты для этого нужны? Сейчас расскажу и покажу — на примере программы «Hello, world!». А попутно объясню, что процессор твоего компьютера делает после того, как ты запускаешь программу.

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

Ядовитый питон. Пишем на Python простейшую малварь: локер, шифровальщик и вирус

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

Xakep #253

МикроБ. Пишем бейсик на ассемблере и умещаем в 512 байт

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

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

Reverse shell на Python. Осваиваем навыки работы с сетью на Python на примере обратного шелла

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

Xakep #252

Floppy Bird. Пишем на ассемблере клон игры Flappy Bird, который уместится в бутсектор

Хочешь попрактиковаться в кодинге на ассемблере? Давай вместе шаг за шагом создадим игру и запустим ее прямо из загрузочного сектора твоего компьютера. Если ты думаешь, что 512 байт маловато для полноценной игры, не спеши с выводами. К концу статьи ты сможешь сделать ее своими руками!

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

Шабаш шаблонов. Превращаем GCC в макетную плату с помощью шаблонов С++

Я люблю собирать логические схемы. Однако обычно для этого требуется либо симулятор, либо макетная плата. Как-то в дороге у меня был с собой ноутбук с компилятором, но не было интернета. Задача написать небольшую программу с библиотекой цифровых вентилей показалась мне слишком тривиальной. Хм-м, как насчет метапрограммы?

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

Immutable. Постигаем хитрости неизменяемых структур данных в функциональных языках

Ряд языков программирования заявляют неизменяемость переменных (immutability) как одну из своих главных фич. Среди них семейство ML (OCaml, F#, Standard ML) и Haskell, а также молодые Clojure и Rust. Если ты незнаком с ними, то наверняка удивлялся: а чем это отличается от const в C и C++? Давай разложим все по полочкам.

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

Cygwin или MinGW? Собираем программы для Windows без Windows

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

Xakep #250

Переходим на Python 3. Как попрощаться с Python 2.7 и кодить дальше

В этом году анонсирован последний выпуск Python 2.7, после чего Python Software Foundation перестанет поддерживать ветку 2.7. Множество популярных библиотек и фреймворков тоже прекращают официальную поддержку Python 2, а целый ряд дистрибутивов Linux уже не включают его в набор пакетов по умолчанию.

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

Тотальная проверка. Используем API VirusTotal в своих проектах

Ты наверняка не раз пользовался услугами сайта virustotal.com, чтобы проверить, не содержат ли бинарники вредоносных функций, либо протестировать собственные наработки. У этого сервиса есть бесплатный API, работу с которым на Python мы и разберем в этой статье.

Xakep #248

Туннель во времени. Выводим данные с компьютера через Network Time Protocol

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

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

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

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

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

Telegram ВКонтакте Twitter

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