• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Программирование

Статья Скрытый потенциал регистров отладки DR0-DR7

  • 6 052
  • 4
Слово отладка, у большинства из нас ассоциируется с инструментальными средствами реверса типа WinDbg, x64Dbg, OllyDbg и прочие. Но в данной статье хотелось-бы рассмотреть это направление с другой проекции, а именно – использование отладочных возможностей CPU вне отладчика, непосредственно из пользовательского приложения. Исследования в этом ключе раскрывают огромный потенциал и что немаловажно, все действия остаются прозрачными для самих отладчиков, т.к. мы отнимаем у них ресурсы по типу "кто первым встал, того и тапки".
----------------------------------------

Формат регистров DR0-DR7 процессора

Процессоры х86 имеют восемь регистров отладки DR0-DR7, два из которых DR4.5 отправлены в резерв и не используются. В совокупности, отслеживая обращения к памяти они позволяют...

Статья Системные таймеры. Часть[6] - Основы профилирования кода

  • 5 454
  • 2
Профайлер это инструмент, при помощи которого можно определить время исполнения некоторого участка кода. Зачем это нужно? В первую очередь для оптимизации программ, и лишь потом любопытство и всё остальное. Поскольку в каждый момент времени многозадачная система далеко не стабильна, мы сталкиваемся здесь со-множеством проблем этического характера. Windows если и хочет сделать вид, что справляется со всеми задачами сразу, только у неё это плохо получается.. тем более, когда речь заходит о тесте производительности в пользовательском режиме. Профилирование требует к себе особого внимания, что для системы большая роскошь. Обсуждению этих проблем и посвящена данная статья.
---------------------------------------------


Аппаратные проблемы – конвейер CPU

Хотим мы того или нет, но профилируемый код рано-или-поздно попадёт в конвейер процессора. Это устройство уровня микроархитектуры...

Статья Системные таймеры, Часть[5] – Счётчик процессора TSC

Статья Системные таймеры, Часть[4] – Local APIC

  • 4 752
  • 9
Предыдущие части:

1. Общие сведения. Legacy-таймеры PIT и RTC.
2. Шина PCI – таймер менеджера питания ACPI.
3. ACPI таблицы – таймер HPET.
4. Таймер контролёра Local-APIC.
5. Счётчик процессора TSC.
6. Win - профилирование кода.
---------------------------------------

Основным недостатком рассмотренных ранее таймеров является время доступа к ним, т.к. все эти устройства расположены за пределами центрального процессора CPU. Чтобы дотянуться до их контроллёров, процессор вынужден ждать освобождения шины FSB/DMI...

Статья Ворклог реверса одной мобильной игры

  • 4 089
  • 3
Часть 1- логин сервер
Как-то раз в далеком 2017 году понадобилось мне разобрать одну популярную мобильную игру того времени- Зитву Бамков. Я уверен, многим из вас приходилось играть в нее, когда она была на пике популярности. На данный момент игра стала умирать. Разработчики отдают внутриигровые ресурсы за копеечный донат. По просьбе знакомого, и из-за обесценивания этой информации, публикую обзор полного взлома игры: от реверса, до создания альтернативного сервера и накрутки валюты гильдии, на которую даже сделали обзор некоторые ютуберы (да-да, Князь, привет). За это время у меня сохранились не все материалы, которые стоило бы использовать в статье. Поэтому в части скриншотов будет показана старая версия игры, а в части- новая. Однако мой сервер все еще работает с новой версией игры. Значит, можно надеяться, что обновления обратно совместимы

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

Статья Системные таймеры, Часть[3] – HPET и таблица ACPI

  • 18 735
  • 0
Предыдущие части:

3. ACPI таблицы – таймер HPET.
---------------------------------------

HPET – High Precision Event Timers
частота: 14.318180 MHz | счётчик...

Статья Системные таймеры, Часть[2] – ACPI

  • 5 962
  • 3
Содержание:

1.
Общие сведения. Legacy-таймеры PIT и RTC.
2. Шина PCI – таймер менеджера питания ACPI.
3.
Усовершенствованный таймер HPET.
4. Счётчики процессора LAPIC и TSC (time-stamp-counter).
5. Win - профилирование кода.
---------------------------------------

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


[COLOR=rgb(250...

Статья Системные таймеры. Часть[1] – PIT и RTC

  • 9 423
  • 0
В статье рассматриваются технические детали системных таймеров и способы их программирования. Роль таймеров в системе глобальна – по их прерываниям логика чипсета контролирует длительность шинных циклов (что влияет на общую производительность), переводит процессор и ACPI-девайсы в энергосберегающий режим, организует ход часов, пробуждает разнообразные события Event и многое другое.

Более того, взяв за основу их тики, можно измерить время выполнения программных блоков, чтобы максимально оптимизировать свой код. Этот процесс назвали "профилированием", а сам контролирующий модуль - профайлером. Здесь имеются внешние факторы, которые искажают результаты тестирований – обсуждению этой проблемы и посвящена данная статья.

На первый взгляд, в век интеллектуальных процессоров оптимизация кажется не уместной. Однако не стоит переоценивать аппаратные возможности – по мере роста...

Статья Кража открытых файлов Win

  • 15 763
  • 5
Одним из основных понятий в биологических дисциплинах является захват ареала обитания (области распространения таксонов). На подсознательном уровне все живые организмы пытаются занять свою нишу в общей сфере, любыми путями оберегая доступы к ней из вне. Аналогичной политики придерживаются и операционные системы, всё больше наделяемые интеллектом их разработчиками. Так, например, запущенный на исполнение процесс блокирует доступ ко-всем своим файлам и на запрос их копирования, система дипломатично посылает нас на материк:

Здесь и далее, в качестве кролика я выбрал системный файл SAM (Security Account Manager) – некий сейф с базой-данных учётных записей Win. Он хранит хэши паролей и приватную информацию о всех пользователях системы, а сами данные оформлены в виде древа структур настроек безопасности. На физическом уровне, база живёт в одноимённой ветке реестра HKLM\SAM, доступ к которой закрыт для всех, включая...

Статья ZIP'аем файл вручную (часть 2. распаковщик)

  • 4 296
  • 0
В продолжение темы об упаковщиках..
В первой части речь шла о том, как можно создать файл с геном репродукции, который по требованию порождал-бы бесчисленное количество своих воинов. Эта армия может решать определённый круг задач, а само требование может быть каким угодно, например привязка по времени, или какому-нибудь системному событию. Более того, способ позволяет создавать т.н. "файлы-матрёшки", размножение которых отследить будет довольно сложно.

Суть в том, что в экзе-файлах имеются нулевые "байты выравнивания секций" – в спецификации на РЕ-файл их называют File-Alignment. Они дополняют хвост полезного кода и данных до кратного значения (обычно 200h, 512-байт). При транспортировке файла эти нули представляют собой бесполезный балласт, и чтобы при инжекте эмбриона в матку мы не получили "слона в посудной лавке", было решено избавиться от них, а при...