КатегорияКодинг



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


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


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


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

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


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


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


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

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


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

 

Предыдущие статьи

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


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

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


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

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


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

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


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

Сайт virustotal.com Читать далее


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


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