marylin

  1. Marylin

    Статья ASM. Брутфорс – алгоритмы и оптимизация

    Чужая информация всегда привлекала к себе внимание, а когда к ней нет прямого доступа, возникает желание прибрести этот доступ контробандным путём. Если социальная инженерия и прочая игра на чувствах не срабатывает, остаётся идти на таран и использовать метод "грубой силы", что в дословном...
  2. Marylin

    Статья Диски GPT и MBR – разбор полётов

    Под капотом.. 1. Разметка CHS и LBA; 2. Формат таблицы разделов MBR; 3. Формат таблицы разделов GPT; 4. Практика – сбор и вывод информации; 5. Заключение. ----------------------------------------------------- 1. CHS и LBA – общие сведения Ещё в 90-х годах прошлого столетия стало очевидно...
  3. Marylin

    Статья ASM – ода о клавиатуре

    Если компьютер не "вещь в себе", в нём должна быть заложена система взаимодействия с пользователем. Во всех активных микро/процессорных устройствах, для ввода информации предусмотрена клавиатура, которая представляет собой вполне самостоятельный мини/компьютер со-своим встроенным процессором. В...
  4. Marylin

    Статья ASM – Брут и шифрование Цезарем

    Среди огромного кол-ва алгоритмов шифрования имеется и шифр "Цезаря", который по-сути и открыл эпоху крипта в целом (Рим, 50-ые годы до нашей эры). Не нужно искать в нём скрытый смысл – его там попросту нет, а скрытие текста от посторонних глаз осуществляется обычной заменой одного символа...
  5. Marylin

    Статья ASM – техники из старого сундука

    Есть поговорка: "Программистами не рождаются – ими умирают". Исходя из этой парадигмы можно сделать вывод, что за долгий свой/программерский путь, у каждого из нас снежным комом накапливаются различные техники и алгоритмы, поделиться с общественностью которыми было-бы не грех. К примеру на этапе...
  6. Marylin

    Статья ASM — Как уйти из под отладки

    Тема противодействия отладке давно заезжена, и в сети можно встретить огромное кол-во классических (миссионерских) вариантов, от обычной проверки флагов функцией IsDebuggerPresent(), до более изощрённых финтов, типа срыв-стека приложения, или расширения его секций. Но разрабы таких инструментов...
  7. Marylin

    Статья SYSENTER – скрытый запуск Native-API

    Многоуровневое разграничение прав в системах класса Windows, накладывает свой отпечаток на систему безопасности в целом. Разработчикам логичней было создать один защитный пласт и закрыть его на большой замок, но они раскромсали его на мелкие части, в результате чего появилось множество дыр и...
  8. Marylin

    Статья Программирование HDD/SSD. Часть.2 – практика

    Продолжим начатую тему и в этой части обсудим: 1. Стек драйверов 2. Функция DeviceIoControl() 3. Взаимодействие через ATA интерфейс • Перечисление накопителей • Идентификация устройств • S.M.A.R.T – состояние IDE диска 4.. Заключение --------------------------------------------- Стек...
  9. Marylin

    Статья Программирование HDD/SSD. Часть.1 – устройство

    Жёсткие диски это тот раздел программирования, который покрыт мраком и тайной. Дефицит информации на эту тему накладывает свой отпечаток, и даже простое копирование больших объёмов данных может стать нетривиальной задачей. Но если копнуть глубже, оказывается не всё так плохо, и большинство...
  10. Marylin

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

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

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

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

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

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

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

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

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

    Предыдущие части: 1. Общие сведения. Legacy-таймеры PIT и RTC. 2. Шина PCI – таймер менеджера питания ACPI. 3. ACPI таблицы – таймер HPET. 4. Счётчики процессора – LAPIC и TSC. 5. Win - профилирование кода. --------------------------------------- HPET – High Precision Event Timers...
  15. Marylin

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

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

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

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

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

    Одним из основных понятий в биологических дисциплинах является захват ареала обитания (области распространения таксонов). На подсознательном уровне все живые организмы пытаются занять свою нишу в общей сфере, любыми путями оберегая доступы к ней из вне. Аналогичной политики придерживаются и...
  18. Marylin

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

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

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

    Допустим имеем файл и нужно перенести его в своей программе на чужую машину. Если этот файл будет внешним (на подобии библиотеки или драйвера), то сразу бросится в глаза. А что если зашить его в своё тело и создавать при запуске основного приложения? Благо производительность современных...
  20. Marylin

    Статья SetupAPI – информация об устройствах

    Перед любым системным программистом, рано или поздно встаёт задача определения текущего оборудования системы. Причин для этого может быть много, например: установить драйвер на девайс, собрать лог всех устройств для последующей работы с ними и т.п. Если мы не будем готовы к таким поворотам...