Владислав Кабак | Omegicus CIO

новая Nebka!

MODx Local EDItor


Представляю — MODxLEDI (MODx Local EDItor). Программа весит 29 килобайт, позволяет редактировать основные элементы (чанки,
читать далее »

Классная переделка туфлей


Предлагаю такой вариант переделки ваших старых и уже приевшихся туфлей, в вот такие класснецкие туфли.Для
читать далее »

300 не надо, хватит и одного


В прошлом году соцсети по всему миру обошло фото российского пулеметчика, бесстрашно вставшего в одиночку
читать далее »

10 фильмов этого сезона - не пропусти!


«Планетарий» «Planetarium» Дата: 1 декабря 2016 Жанр: фэнтези, триллер, драма Это история двух сестер, обладающих сверхъестественными способностями общения с
читать далее »

В Испании обнаружена потерянная могила Сервантеса

Могила писателя была найдена в центре Мадрида, в склепе монастыря Ордена босых тринитариев. Хотя
читать далее »

Завершен аудит кода TrueCrypt

Сайт Open Crypto Audit Project сообщает о завершении второй стадии аудита кода популярного открытого средства
читать далее »

An Anti-Reverse Engineering Guide


 Table of Contents Breakpoints Int 3 Memory Hardware Timing Attacks RDTSC Win32 Timing APIs Windows Internals ProcessDebugFlags Debug Object Handle Thread Hiding BlockInput OutputDebugString Process Exploitation Open Process Parent Processes Self-Debugging UnhandledExceptionFilter NtQueryObject Anti-Dumping Nanomites Stolen Code
читать далее »

Стратегия выживания


Все мы, так или иначе, осознанно или подсознательно придерживаемся в своих подготовительных действиях какой-то концепции.
читать далее »

Формат исполняемых файлов PortableExecutables (PE)

Формат исполняемых файлов PortableExecutables (PE). ФОРМАТ ИСПОЛНЯЕМЫХ ФАЙЛОВ PortableExecutables (PE) ФОРМАТ ИСПОЛНЯЕМЫХ ФАЙЛОВ PortableExecutables (PE)
читать далее »

Василий Николаевич Кочетков (1785–1892) – «солдат трех императоров»


Он прожил 107 лет, из них более 60 лет провел на действительной военной службе. Выходит,
читать далее »

Историки описали гибель короля Ричарда III


Жизнь и смерть Ричарда III всегда были окутаны тайной. О британском короле XV века писал Шекспир,
читать далее »

Tortilla — весь TCP и DNS трафик из виртуальной машины через TOR

Пошаговое руководство по направлению всего TCP и DNS трафика из виртуальной
читать далее »

Эпическое письмо Билла Гейтса о юзабилити Windows

Вас раздражает юзабилити Windows XP? Это вы ещё не слышали Билла Гейтса. В опубликованной внутренней
читать далее »

Иммунологи объяснили пользу аллергии

У человека и других млекопитающих иммунная система выбирает между двумя методами борьбы с чужеродными веществами,
читать далее »

Кишечные бактерии борются с аллергией

По статистике, случаи пищевой аллергии у детей с 1997 года стали встречаться примерно на 50%
читать далее »

Overclock мозга или Внутренняя виртуализация сознания


Я попробую рассказать еще об одной возможности использовать свой мозг чуточку эффективнее. Одна из слабо
читать далее »

Под Снежным командир с позывным «Черный» со своими бойцами захватили танк и почти два десятка автоматов

"Под Снежным командир с позывным «Черный» со своими бойцами захватили танк и почти два десятка
читать далее »

Факты о Российской империи, которых вы не знали

1. До революции Россия (Российская империя) была одной из самых непьющих стран в Европе. Россия
читать далее »

Самые невероятные факты

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

Интересные факты об Одри Хёпберн


4 мая 1929 года родилась британская и американская актриса, фотомодель и ярчайшая звезда кинематографа двадцатого
читать далее »

14 интересных фактов о снах

1. Все люди видят сны. Даже если вам кажется, что вы их не видите. Человек
читать далее »

Что с вами произойдёт, если вы решите не разговаривать очень долгое время

Представьте, что вы проснулись утром и решили, что прекратите говорить лет на 20 — с
читать далее »

Факты о евреях — о которых не принято говорить

Талмуд – есть действительная сущность еврейского вероучения. Sanhedrin 59a: “Гой, сунувший нос в Закон (Талмуд) виновен
читать далее »

Искусство светской беседы

Если вы современный человек, то вам понятно основное положение: идеальный разговор — это обмен мыслями,
читать далее »

98 самых интересных фактов о человеческом теле

Мозг Мозг — это наиболее сложный и наименее изученный человеческий орган. Мы многого о нем не
читать далее »

Бой у высоты 776


14 лет назад произошел один из самых трагических эпизодов Второй чеченской войны, наглядно демонстрирующий всю
читать далее »

Мнение одного из сотрудников Blackwater о боеспособности разных стран

1. Африканские племена.С ними воевать даже не интересно. Стреляют беспорядочно, о прицельной стрельбе не знают.Часто
читать далее »

Факты о фильмах Брат и Брат-2


1. Идея съёмок продолжения культового отечественного фильма «Брат» пришла после того, как исполнителю главной роли
читать далее »

25 фактов, которые вам лучше не знать


1. Римляне использовали измельченный мозг мышей в качестве зубной пасты. 2. Когда малыши эскимосов болеют простудой,
читать далее »

10 потрясающих открытий в физике

Изучать физику значит изучать Вселенную. Точнее, как работает Вселенная. Вне всяких сомнений, физика — самая
читать далее »

Леонид Рогозов. Сам себе хирург


Судно «Обь» с шестой советской антарктической экспедицией на борту вышло в плавание 5 ноября 1960
читать далее »

Воспитание воинов на Руси


На Руси все мужчины считались воинами, эта традиция шла ещё со времён эпохи так называемой
читать далее »

Правление Ивана Грозного


  – введён суд присяжных; – бесплатное начальное образование (церковные школы); – медицинский карантин на границах; – впервые появилась
читать далее »

Процессор Baikal - российский ответ Intel и AMD


В ответ на санкции Америки, Минпромторг России решил найти замену микрочипам Intel и AMD и
читать далее »

Ситуация с Андреем Кураевым

Вот, собственно, цитата из его дневника: Прошло полтора месяца со времени объявления о моем увольнении из
читать далее »

Почему курсор мыши наклонён на 45°?


Посетитель сайта вопросов-ответов StackExchange задал на первый взгляд глупый вопрос: а почему
читать далее »

Оона Ряйсянен определила GPS-координаты беспилотника по звуку с Youtube


Финский инженер и хакер Оона Ряйсянен (Oona Räisänen), которая увлекается обработкой звука, случайно
читать далее »

IPv6 теория и практика: введение в IPv6

Адреса IPv6 Адрес протокола IPv6 состоит из 128 бит, то есть, он в 4 раза длиннее
читать далее »

Твердотопливные двигатели


Черный (дымный) порох изобрели китайцы в девятом веке. И уже в одиннадцатом веке появляются документальные
читать далее »

Долгая жизнь королёвской «семёрки»: успешные испытания «Союз-2.1в»


У ракеты «Р-7» оказалась удивительно долгая жизнь. Через пятьдесят шесть
читать далее »

Кто, когда и как собирается лететь на Марс


Сейчас так часто говорят про полеты к Марсу, что люди, подчас, путают
читать далее »

Миллиард пикселей для миллиарда звезд


На следующей неделе в космос отправится уникальный телескоп, который сможет «пересчитать» около
читать далее »

Один прогноз, данный 15 лет назад

Вспомнить данный прогноз натолкнул меня пост «15 вещей сегодняшнего дня, которые не
читать далее »

Размещение заказов у китайских поставщиков


Основано на реальных событиях: «Mini-Desktop своими руками» После публикации моей предыдущей
читать далее »

Симулируем чайник в Wind River Simics


Примечание переводчика: представляю вниманию
читать далее »

Стал известен пароль по умолчанию для файлов XLS

Специалисты антивирусной компании Sophos потратили много времени на изучение файлов RTF, XLS и DOC, которые
читать далее »

Американские врачи излечили девочку от рака, заразив её ВИЧ

Семилетняя Эмили Уайтхэд из Нью-Джерси в течение двух лет сражалась с лимфобластным лейкозом. Доктора назначали
читать далее »

Учёные нашли стволовые клетки раковых опухолей

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

Curiosity нашёл органику на Марсе

Директор лаборатории JPL NASA Чарльз Элачи (Charles Elachi) сегодня упомянул о таинственной находке Curiosity на Марсе. Это
читать далее »

Ахиллесова пята рака

Управление США по надзору за качеством пищевых продуктов включило в список своих приоритетов новый препарат
читать далее »

Физики впервые запутали атомы на разных сторонах улицы

Новый опыт по созданию состояния квантовой сцепленности для необычайно удалённых атомов открывает дорогу к построению крупномасштабных
читать далее »

Учёные нашли признаки существования фермионов Майораны

Эти странные частицы, являющиеся своими собственными античастицами, были предсказаны в 1937 году, но до сих пор
читать далее »

Биологи выявили у воронов память о друзьях и врагах

Чёрные птахи помнят конкретных сородичей, по меньшей мере, в течение трёх лет. При этом они запоминают
читать далее »

Российские учёные проникли в озеро Восток


После трёх десятилетий бурения учёные из Российской антарктической экспедиции довели скважину до озера Восток, скрытого
читать далее »

Российские биологи вырастили кусты из 30-тысячелетних семян


Сохранённые в вечной мерзлоте на берегах реки Колыма, эти семена некогда были припасены сусликами в своих норах,
читать далее »

Формы титулования в Российской империи

Титулирование — в сословно-феодальном обществе форма обращения к лицам дворянского происхождения, духовным и государственным служащим для
читать далее »

Американцы построят спутник-шпион нового типа


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

Неврологи продемонстрировали обучение в стиле «Матрицы»


До впитывания навыков пилотирования вертолёта за пять секунд ещё очень далеко, но учёные сделали крохотный
читать далее »

Учёные впервые нашли прижизненный чертёж Вавилонской башни


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

Открыт ремонт нервов при помощи молодой крови

Некоторые эффекты старения в центральной нервной системе животных могут быть обращены вспять при воздействии кровотока молодой
читать далее »

У шимпанзе найден аналог человеческого обмана чувств

Новый опыт показал специфическое пересечение в головах обезьян ощущений разной природы – зрительного и слухового. Самое интересное,
читать далее »

Открыто разрушение Луны солнечными бурями


Сильные бури на Солнце, а точнее, вызванные ими потоки плазмы, работают как пескоструйка, эффективно сдирающая с поверхности
читать далее »

Марсоход нашёл чистую гипсовую жилу

Американский ровер Opportunity наткнулся на почти чистую и высококонцентрированную «вену» из гипса. Некогда она образовалась в скальной
читать далее »

Опыт с побегом подтвердил альтруизм крыс

Лабораторные грызуны неоднократно вызволяли своих товарищей из плена, не получая взамен никакой выгоды. Исследователи утверждают,
читать далее »

Зонд Dawn приблизился к Весте на минимальное расстояние


Космический посланник снизил свою орбиту до высоты всего в 210 километров. С этой позиции зонд будет изучать
читать далее »

У близнеца Солнца найдена потенциально обитаемая планета


Новый мир земного типа Kepler-22b расположен в «зоне Златовласки» у звезды, почти идентичной Солнцу. Последнее – важное
читать далее »

Быстрый старт ЛИНТЕР (Windows)

2005 г Быстрый старт ЛИНТЕР (Windows) Научно-производственное предприятие РЕЛЭКС, www.relex.ru Введение Что такое ЛИНТЕР Основные характеристики СУБД ЛИНТЕР Типы данных Параметры БД Установка
читать далее »

Реализация языка SQL в СУБД MySQL

Реализация языка SQL в СУБД MySQL Студент нанимается на лето подработать в университете, его спрашивают: - Языком владеешь? -
читать далее »

Найдены следы потерянного гиганта Солнечной системы


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

Тайна пропажи антиматерии

Физики обнаружили новое проявление нарушения CP-инвариантности в процессе распада D-мезонов. Речь идёт о различиях в картинах распада частицы и соответствующей
читать далее »

Инженеры создали проекционное лицо для андроида


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

Разработан новый метод сохранения равновесия роботов


Для построения программы балансировки двуногого механизма авторы новой системы воспользовались, как ни парадоксально, принципами управления,
читать далее »

Манера держаться

В манере поведения достаточно велика роль привычек. Они могут как подчеркивать достоинства человека, так и
читать далее »

Подарки

Довольно сложным делом, к которому следует подходить весьма ответственно, является выбор подарка. Прежде всего при
читать далее »

Улица

В ОБЩЕСТВЕННЫХ МЕСТАХ Главное правило поведения в общественных местах - не забывать, что если бы каждый
читать далее »

Телефонный разговор

Очень важна культура разговора по телефону, особенно служебному. Он должен быть коротким: нужно считаться с
читать далее »

Приветствия

Если в комнате находятся несколько человек, здороваются сначала с хозяйкой дома, затем - с другими
читать далее »

Внешний вид и привычки

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

В общественных местах и на улице

Будь вежлив с окружающими или прохожими. Не забудь извиниться, если причинил другому беспокойство или неудобство. Не
читать далее »

На визитах и в гостях

Если наносишь визит, не входи в гостиную или в кабинет в пальто. Не входи без стука. Не
читать далее »

За столом

Не опаздывай, будучи приглашен на обед, завтрак, ужин, чай. Не садись за стол, пока не сядут
читать далее »

Правила ведения беседы

Специалисты по правилам ведения речи обращают особое внимание на следование ряду обязательных правил для участников
читать далее »

Проведение приема

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

Визитные карточки и их применение

Визитные карточки широко применяются в дипломатической практике и деловом общении. Как бы заочно "представляя" своего
читать далее »

Этикет деловой переписки

Родиной этикета составления делового письма, прочно вошедшего в современное международное общение, принято считать Англию. Сложившись
читать далее »

Израильтяне удивили публику квантовой левитацией


Серия новых опытов в яркой и наглядной форме продемонстрировала зрителям удивительные квантовые эффекты. Парящие без видимой поддержки
читать далее »

Британцы мумифицировали таксиста по египетскому рецепту


Те или иные способы бальзамирования тел умерших человечество практиковало и после эпохи древнего Египта. Но авторы
читать далее »

В новый виртуальный экран можно запустить руки

Специалисты компании Microsoft Research создали интерактивную систему обогащённой реальности, в которой пользователь может своими руками напрямую
читать далее »

Ракета «Союз» впервые взлетела из Южной Америки


21 октября в 14:30 по московскому времени с космодрома Куру во Французской Гвиане стартовала ракета-носитель
читать далее »

Ubuntu 11.10 - обновление, впечатление

13-го сего месяца вышла очередная версия ОС Убунту, из выжносистемного - ядро версии 3. Из пользовательского:
читать далее »

Геном чумной палочки рассказал об эволюции страшной болезни


Между 1347 и 1351 годами в Европе бушевала «Чёрная смерть» — чума, унёсшая жизни 30 миллионов человек, которую
читать далее »

Парализованный научился управлять роборукой силой мысли


30-летний Тим Хеммес (Tim Hemmes) из США спустя семь лет после мотоциклетной аварии, из-за которой
читать далее »

Корейцы построили робота-собаку


Южнокорейская компания SimLab продемонстрировала своего первого робота – четвероногую машину SQ1, которая ходит, качается и,
читать далее »

Открыт самый большой в мире вирус

Найденный у берегов Чили Megavirus chilensis обладает самым длинным вирусным геномом из всех ранее секвенированых.
читать далее »

Математическая модель работы автофокуса в глазу человека


Учёные до сих пор точно не знают, как функционирует автофокус в глазу человека
читать далее »

TOP10 ошибок администраторов Server 2003

Автор: (c)Крис Касперски ака мыщъх О, Windows, сын ошибок трудных! народное Легкость установки и управления MS Server'ом создает обманчивую иллюзию,
читать далее »

MSR-регистры на службе хакера

Автор: (c)Крис Касперски ака мыщъх Популярные дебагеры (Soft-Ice, Syser, Olly) используют базовые отладочные возможности, появившиеся еще в 80386
читать далее »

Реклама в сумеречной зоне подсознания

Автор: (c)Крис Касперски ака мыщъх Реклама действует, это факт! Но вот - как именно она действует, не
читать далее »

Восстановление MS Server 2003 после тяжелых ранений

Автор: (c)Крис Касперски ака мыщъх MS Server 2003 - достаточно надежная и неприхотливая система, средняя наработка на
читать далее »

Установка MS Server 2003 - секреты и советы

Автор: (c)Крис Касперски ака мыщъх MS Server 2003 - абсолютный лидер среди рынка SOHO-серверов, используемых в качестве файлового
читать далее »

Обучение сну, обучение во сне

Автор: (c)Крис Касперски ака мыщъх Треть своей жизни человек проводит во сне, что в среднем за жизнь
читать далее »

Профессиональное сжатие видео

Автор: (c)Крис Касперски ака мыщъх Эта публикация открывает цикл статей, посвященных вопросам обработки видеоинформации в домашних условиях и
читать далее »

Азартные игры (под)сознания

Автор: (c)Крис Касперски ака мыщъх Мир, который мы видим (обоняем, слышим, осязаем) не является тем миром, которым
читать далее »

Тайные рычаги подсознания - методы психовизуальной атаки

Автор: (c)Крис Касперски ака мыщъх "На каждого человека можно воздействовать только в рамках системы его верований" Из книги "Психическая атака" Этой статьей
читать далее »

TOP10 ошибок конфигурации Linux/BSD

Автор: (c)Крис Касперски ака мыщъх Воздвигнуть Linux/BSD - не проблема, инсталлятор все сделает за нас, а вот правильно
читать далее »

Дефекты проектирования Intel Core 2 Duo - аналитический обзор с точки зрения безопасности

Автор: (c)Крис Касперски ака мыщъх Процессоры Intel Core2Duo (и не только они одни!) содержат множество ошибок, приводящих
читать далее »

Депривация сна - советы от мыщъх'а

Автор: (c)Крис Касперски ака мыщъх Программисты относятся к тем людям, которым хронически не хватает времени - ударные темпы
читать далее »

Дежавю, нейросети и спам

Автор: (c)Крис Касперски ака мыщъх Что такое дежавю, наверняка знает каждый, а кто не знает, тот может
читать далее »

Прикладная видеология

Автор: (c)Крис Касперски ака мыщъх Широкий ассортимент выбора камер видеонаблюдения превращает свободу выбора в проблему, особенно если ни
читать далее »

Два компьютера - один монитор, два монитора - один компьютер

Два компьютера - один монитор, два монитора - один компьютер Автор: (c)Крис Касперски ака мыщъх Чтобы обустроить
читать далее »

Java под атакой

Java под атакой Автор: (c)Крис Касперски ака мыщъх Долгое время Java считалась абсолютно безопасной, однако лавинообразный рост открывшихся уязвимостей доказал
читать далее »

Как сломать DVD-диск без помощи топора

Как сломать DVD-диск без помощи топора Автор: (c)Крис Касперски ака мыщъх Чего только не придумают медиамагнаты, чтобы отравить
читать далее »

Грабим данные с flash-модулей и CD/DVD

Грабим данные с flash-модулей и CD/DVD Автор: (c)Крис Касперски ака мыщъх Как сграбить содержимое флешек и CD/DVD-носителей (включая удаленные
читать далее »

Blue pill/red pill - the matrix has windows longhorn

Blue pill/red pill - the matrix has windows longhorn Автор: (c)Крис Касперски ака мыщъх Совершенствование stealth-технологий в конечном счете
читать далее »

Призраки ядра или модули-невидимки

Призраки ядра или модули-невидимки Автор: (c)Крис Касперски ака мыщъх Потребность в создании "невидимых" модулей ядра растет с каждым
читать далее »

Взлом телевизоров вблизи и на расстоянии

Взлом телевизоров вблизи и на расстоянии Автор: (c)Крис Касперски ака мыщъх Все мы используем пульты дистанционного управления на
читать далее »

Как восстановить нечитающийся CD?

Как восстановить нечитающийся CD? Автор: (c)Крис Касперски ака мыщъх Bad sector - не волк, в лес не убежит Народная
читать далее »

BIOS Setup - удаленный контроль

BIOS Setup - удаленный контроль Автор: (c)Крис Касперски ака мыщъх Каждый администратор хотя бы раз в жизни сталкивался
читать далее »

Unformat для NTFS

Unformat для NTFS Автор: (c)Крис Касперски ака мыщъх - Я у вас тут винчестер недавно купил. Так
читать далее »

Лазерный диск с нулевым треком как средство защиты от копирования

Лазерный диск с нулевым треком как средство защиты от копирования Автор: (c)Крис Касперски Задумывались ли вы, почему нумерация
читать далее »

Вирусы в мире UNIX

Вирусы в мире UNIX Автор: (c)Крис Касперски ака мыщъх Трудно представить себе более простую штуку, чем компьютерный вирус.
читать далее »

У животных впервые обнаружен круговорот насилия


Орнитологи получили первое свидетельство «цикла насилия» в животном мире. У одного из видов птиц обнаружен «чисто человеческий»
читать далее »

Миллионы галактик помогли подтвердить теорию Эйнштейна

Впечатляющая по трудолюбию проверка теории относительности показала верность расчётов знаменитого физика. Свет, пришедший от далёких
читать далее »

Отсняты детальные тепловые портреты Урана и Нептуна

Новые снимки двух крупных планет демонстрируют, насколько отличны они в ИК-области от того облика, что мы
читать далее »

Испытан новый тип компьютерной памяти

Американские учёные испытали единичную ячейку памяти, основанную на новом принципе и новом материале. В перспективе эта разработка
читать далее »

Астрономы открыли неожиданные перемены в атмосфере Венеры

Международная группа астрономов обнаружила, что средние и верхние слои венерианской атмосферы ведут себя намного динамичнее, чем
читать далее »

Швейцарцы научили роботов летать большой стаей

Европейские учёные добились от небольших беспилотников-роботов согласованного и аккуратного передвижения в небе, почти что крыло к крылу, словно
читать далее »

Израильтяне создали электронный мозжечок крысы

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

Учёные впервые извлекли кино из мыслей подопытных

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

Физики заподозрили нейтрино в преодолении скорости света

Статьи в рецензируемом журнале ещё нет, но новые данные уже взбудоражили всё научное сообщество. Учёные, занятые
читать далее »

Учёные встроили в дрожжи редактор генома

Биологи внедрили в клетки дрожжей полусинтетические хромосомы. Такой опыт впервые проведён с эукариотами. Причём новый фрагмент кода
читать далее »

Американцы придумали портативный боевой лазер

Исследователи в США разработали оригинальную схему, благодаря которой можно будет получать лазерный луч, достаточный для сжигания
читать далее »

Биологи открыли у воронов умение ждать

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

Открыта планета с двумя близкими солнцами

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

В окрестностях Земли найдена зарождающаяся звезда

Молодая звезда, которую учёные назвали AP Columbae, светит не из-за ядерных реакций, а за счёт гравитации.
читать далее »

Астрофизики предсказали наличие в Галактике тысяч часовых бомб

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

Новое зеркало нарушило закон отражения лучей

Учёные из Гарвардского университета заставили свет игнорировать классические законы оптики. Исследователи построили плоское зеркало, отражающее
читать далее »

На Марсе найден странный камень

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

На Марсе найдена речная дельта

Европейский аппарат Mars Express предоставил учёным одно из самых ярких свидетельств наличия в прошлом Марса жидкой
читать далее »

Черные дыры «рождают» космический ветер

До сих пор общепринятой была точка зрения, исходящая из того, что источниками космических
читать далее »

Юпитерианский зонд сфотографировал Землю и Луну

«Это замечательное зрелище, которое редко удаётся увидеть людям, — заявил учёный Скотт Болтон (Scott Bolton). — Этот
читать далее »

В крови человека найден биомаркер смерти

Повышенное содержание определённой молекулы в сыворотке крови свидетельствует о сравнительно высокой вероятности смерти человека приблизительно в следующий десяток
читать далее »

Создан квантовый чип с архитектурой фон Неймана

Построенное в США устройство, по словам его авторов, является новой парадигмой квантовой обработки информации и ключевым компонентом
читать далее »

Астероидный грунт преподнёс исследователям сюрпризы

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

Новая камера снимает миллион кадров в секунду

Рекордной скоростью съёмки может похвастаться видеокамера Phantom v1610 от американской компании Vision Research.Правда, разрешение в суперскоростном
читать далее »

Учёные отодвинули дату приручения лошадей

На три с половиной тысячи лет отодвинули в глубь веков процесс одомашнивания диких лошадей исследователи из Саудовской
читать далее »

В Млечном Пути обнаружена планета-алмаз

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

О, вечный ужас, вечный мрак!

Александр Блок «Балаганчик»
читать далее »

Астрономы открыли десять свободных планет

Эти газовые гиганты блуждают по просторам Галактики без каких-либо родительских звёзд, совершенно самостоятельно. Учёные говорят,
читать далее »

Учёные предсказали столкновение Млечного Пути с будущей галактикой

К такому выводу пришли учёные из Сиднейского университета (University of Sydney), пересчитав данные по гигантскому объекту,
читать далее »

Представлено уникальное изображение центра Галактики

GigaGalaxy Zoom
читать далее »

Представлена интерактивная 360-градусная панорама всего ночного неба

Европейская южная обсерватория выложила в Интернет первое из трёх изображений, полученных в ходе проекта GigaGalaxy Zoom: «картинка»
читать далее »

Впервые найдены две планеты на одной орбите

В системе KOI-730 две из четырёх планет обращаются вокруг своего солнца по одной орбите. Исследователи считают,
читать далее »

Найдена самая компактная планетная система

Семейство планет у звезды Kepler-11 — одно из самых многочисленных среди всех известных, но при этом, будучи
читать далее »

Американцы припугнули мир новым материалом для боеголовок

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

Lockheed Martin продемонстрировала прототип разведчика-семени

Журналистам показали первый летающий прототип разведчика в виде кленового семени. Аппарат оказался отнюдь не таким компактным,
читать далее »

Определён предсказывающий будущее регион мозга

Биологи идентифицировали область мозга, которая способна предсказывать, что произойдёт в ближайшие мгновения. Никакой мистики —
читать далее »

В Австралии обнаружены древнейшие окаменелости клеток

Австралийские и британские учёные нашли на Зелёном континенте окаменелости самых древних организмов, свидетельствующие о жизни на бескислородной
читать далее »

Обнародованы детали миссии следующего марсохода NASA

Учёные определили точку посадки самого тяжёлого марсохода в истории. Большой кратер выставляет на обозрение глубокие слои
читать далее »

Учёные подтвердили внеземную природу частей ДНК в метеоритах

Новое открытие добавляет доказательств тому, что химия внутри астероидов и комет способна производить строительные блоки основных
читать далее »

Динозавров сгубил мощный нефтяной взрыв

Решающую роль в повальном вымирании динозавров могло сыграть быстрое сгорание обширных запасов нефти. К такой необычной версии
читать далее »

Робот заглянул в секретную камеру пирамиды Хеопса

То, что было скрыто от глаз археологов в течение долгих 4500 лет, стало несколько дней назад
читать далее »

Биологи объяснили свободное дыхание первых животных

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

Лингвисты описали эволюцию и отыскали родину языков

Масштабное исследование основных групп языков, проведённое антропологами из Голландии и Новой Зеландии, показало, что развитие человеческой
читать далее »

Самая чёрная планета поставила астрономов в тупик

Учёные определили параметры рекордно-тёмной экзопланеты — газового гиганта TrES-2b. Он оказался чернее угля, а также любой планеты
читать далее »

Учёные обнаружили новый феномен квантового мира

С формулами наперевес физики вывели явление, которое с точки зрения повседневной логики выглядит невозможным. Оказывается, при передаче
читать далее »

Учёный NASA заявил о работе реактора синтеза без синтеза

Произошёл новый поворот в спорном деле вокруг итальянского реактора холодного ядерного синтеза. Эксперт американского космического агентства
читать далее »

Чёрные пирамиды обещают Эмиратам чистую энергию

Американцы предложили ОАЭ построить в песках титанические скульптуры, которые смогут вырабатывать ток для питания сотен домов.
читать далее »

Новый российский энергетический реактор прибыл к месту работы

Пока развитые страны пересматривают свои программы, решающие судьбу атомной энергетики, Россия строит новые АЭС. Так,
читать далее »

Большой пёс носится с грузом без головы

"Механического пса заказывали? $1,5 миллиона на два года давали? Получите, распишитесь. Вот ваш «самый передовой
читать далее »

Летающий лазер впервые сбил жидкостную баллистическую ракету

Успехом завершились испытания американского противоракетного лазера воздушного базирования Airborne Laser, состоявшиеся сегодня в 07:44 по московскому
читать далее »

Предложено самое нетривиальное объяснение тёмной материи

По мнению автора новой гипотезы, всё очень просто: тёмная материя — не что иное, как иллюзия,
читать далее »

В пламени свечи обнаружены алмазы

«Никто не знает, из чего состоит пламя свечи»
читать далее »

Падение «Фалкона» огорчило американских военных

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

Физики предсказали нейтроны в форме куба

Два астрофизика из Германии и Испании провели расчёты, которые показали, что при очень высокой плотности упаковки
читать далее »

Учёные впервые внедрили животному искусственный код

Биологи из Кембриджа впервые изменили генетический код червя таким образом, чтобы заставить организм производить белки
читать далее »

Санкт-Петербург признан лучшим круизным направлением Европы и мира


Ведущий сайт о туризме WorldTravelAwards опросил 1.000.000 покупателей путёвок и выдал награду Санкт-Петербургу как лучшему
читать далее »

Москва признана одним из мировых лидеров образования


Во всех московских школах (всего их порядка 600), было проведено международное исследование грамотности 15-летних учащихся
читать далее »

ОПЕК ограничат добычу нефти - решение принято


Страны-члены ОПЕК договорились ограничить квоаты добычи нефти с ноября этого года. В среднем, добыча должна
читать далее »

Задержаны девятеро вербовщиков Джамаат Ансорулло - ФСБ


ФСБ задержала девять вербовщиков из "Джамаат Ансоруллох" - передает Интерфакс со слов главы службы А.Бортникова. Задержанные
читать далее »

В Германии взорвались бомбы


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

Гермиона останется без дома


В столице Великобритании выставили на торги дом Гермионы Грейнджер. Дом присутствует в фильме "Гарри Поттер и
читать далее »

Его убил бумеранг


Сначала эта история казалось довольно ясной и даже банальной: два года назад в Австралии был
читать далее »

Путин изменит выборы в США


Избиратель в США, традиционно довольно прохладно относящийся к событиям, происходящим за пределами Штатов, и мало
читать далее »

Трамп не смотрит CNN


Дональд Трамп, кандидат на пост президента США от Республиканской партии, заявил о своей победе в
читать далее »

Масло с горчицей

- масло сливочное -100г - горчица столовая - 1 ст. л. Масло
читать далее »

Сливочное масло, витаминизированное облепихой

- сливочное масло - 1 кг - сахар - 400г - облепиха
читать далее »

Масло с горчицей

- масло сливочное - 900г - горчица столовая - 100г. В кастрюлю
читать далее »

Масло шпротное

- масло сливочное - 100г - шпроты - 100г. Шпроты или филе
читать далее »

Масло с голландским сыром

- масло сливочное - 100г - сыр голландский -100г. Масло растереть добела,
читать далее »

Масло чесночное

- чеснок - 200г - сливочное масло - 250г. Чеснок очистить, обварить
читать далее »

Масло розмариновое

- сливочное масло - 400г - лук-резанец - 1 стакан - петрушка
читать далее »

Масло фисташковое

- фисташки (очищенные) - 100г - вода - 1/2 ст.л. - сливочное
читать далее »

Масло раковое

- раки (панцири) - 500г (40-50 шт.) - масло сливочное - 1100г
читать далее »

Масло селедочное с сыром

- масло сливочное - 680г - сельдь - 250г - сыр зеленый
читать далее »

Масло по-восточному

- сливочное масло - 400г - кинза (листья) - 1 стакан -
читать далее »

Масло селедочное с горчицей

- масло сливочное - 750г - сельдь - 250г - горчица столовая
читать далее »

Масло облепиховое

- облепиха - 1кг. Подготовленные плоды облепихи растереть деревянным пестиком в эмалированной кастрюле,
читать далее »

Масло селедочное

- масло сливочное - 500г - сельдь - 150г - яблоко свежее
читать далее »

Масло мятное

- сливочное масло - 1 стакан - мята (нарезанная) - 4 ст. л.
читать далее »

Масло сардиновое

- масло сливочное - 750г - сардины - 150г - лук репчатый
читать далее »

Масло мятно-горчичное

- сливочное масло - 400г - мята - 1 стакан - семена
читать далее »

Масло салатное со свежими грибами

- масло растительное - 500г - грибы свежие - 150г. Свежие грибы
читать далее »

Масло миндальное

- миндаль (очищенный) - 100г - вода - 1/2 ст.л. - сливочное
читать далее »

Масло с хреном

- масло сливочное - 100г - хрен тертый - 40г - соль
читать далее »

Масло креветочное с плавленым сыром

- креветочная паста - 130г - масло сливочное - 50г - сыр
читать далее »

Масло с трюфелями

- трюфеля - 100г - масло сливочное - 200г. Порезать на небольшие
читать далее »

Масло килечное

- масло сливочное - 840г - килька - 160г. Филе килек протереть
читать далее »

Масло с томатом

- масло сливочное - 100г - томат-паста -10г - соль Масло
читать далее »

Масло зеленое (II)

- масло сливочное - 500г - зелень петрушки или смесь зелени укропа, сельдерея
читать далее »

Масло с сыром рокфор

- масло сливочное - 800г - сыр рокфор или зеленый сыр - 200г.
читать далее »

Масло зеленое

- масло сливочное - 850г - зелень петрушки - 200г - лимон
читать далее »

Масло с рокфором (II)

- сливочное масло - 100г - рокфор - 200г. Тщательно размять ложкой
читать далее »

Масло грибное из опят

- масло сливочное - 250г - опята - 200г - лук репчатый
читать далее »

Масло с икрой

- паюсная икра - 75г - сливочное масло - 250г. Растолочь в
читать далее »

Масло анчоусное

- анчоусы - 150г - масло сливочное - 750г - яйцо (желток)
читать далее »

Яичница с картофелем

- яйцо - 6-8 шт. - картофель - 4-5 шт. - масло
читать далее »

Яичница-глазунья с луком

- яйцо - 8 шт. - лук репчатый - 3-4 шт. -
читать далее »

Яичница с кабачком

- яйцо - 3 шт. - кабачок - 1 шт. - растительное
читать далее »

Яичница-глазунья по-румынски

- яйцо - 2 шт. - масло сливочное - лук репчатый -1/2
читать далее »

Яичница с зеленым горошком

- яйцо - 4 шт. - горошек - 1 стакан - сливочное
читать далее »

Яичница-глазунья по-американски

- яйца - 2 шт. - ветчина - 30г - масло сливочное
читать далее »

Яичница с грибами и рисом

- грибы свежие - 300 г - лук репчатый - 1 луковица
читать далее »

Яичница-болтунья по-португальски

- яйцо - 2 шт. - сливки - 10г - помидоры. -
читать далее »

Яичница с гренками и сыром

- яйцо - 2 шт. - хлеб - 2 ломтика - молоко
читать далее »

Яичница, вареная с молоком

- яйцо - 8 шт. - молоко - 2 стакана - сливочное
читать далее »

Яичница с ветчиной и помидорами

- яйцо - 4 шт. - ветчина - 100г - помидоры -
читать далее »

Яичница со спаржевой фасолью

- фасоль спаржевая - 100г - мука - 50г - масло растительное
читать далее »

Яичница с бананом

- яичница - банан. Банан почистить, нарезать кружками толщиной 1 см. Поджарить
читать далее »

Яичница со сладким перцем

- яйцо - 5 шт. - сладкий перец (1 красный + 1 зелёный)
читать далее »

Яичница по-швейцарски

- яйцо - 2 шт. - масло сливочное - 1 ст.л. -
читать далее »

Яичница сладкая

- яйцо - 3-4 шт. - масло сливочное - 2-3 ст.л. -
читать далее »

Яичница по-итальянски

- яйцо - 2 шт. - масло сливочное - 40г - сливки
читать далее »

Яичница с чесноком

- яйцо - 8 шт. - чеснок - 2 шт. - белое
читать далее »

Яичница по-деревенски

- картофель - 250г - сыр - 40г - яйцо - 2
читать далее »

Яичница с хлебом

- яйцо - 4 шт. - белый хлеб - 3-4 кусочка -
читать далее »

Яичница по-бельгийски

- яйцо - 3 шт. - хлеб - 250г - сыр (тертый)
читать далее »

Яичница с сыром и орехом

- яйцо - 5 шт. - кисломолочный сыр - 100г - репчатый
читать далее »

Яичница на сметане

- яйцо - 2-3 шт. - сметана - 2-3 ст.л. - сыр
читать далее »

Яичница с сыром

- яйцо - 2 шт. - сыр - 50г - томатный соус
читать далее »

Яичница гуцульская

- яйцо - 4 шт. - сливки - 1 стакан - сметана
читать далее »

Яичница с сельдью

- сельдь - 1 шт. - яйцо - 4-5 шт. - зелень
читать далее »

Яичница грибная с помидорами

- яйцо - 3 шт. - помидоры - 200г - грибы -
читать далее »

Яичница с рисом

- растительное масло - 3 ст. л. - рис - 1/2 стакана
читать далее »

Яичница в корзиночках с крабами

- яйцо - 1 шт. - крабы консервированные или раковые шейки - 35г
читать далее »

Яичница с помидорами

- яйцо - 5-6 шт. - помидоры - 3-4 шт. - сливочное
читать далее »

Яичница в корзинке

- яйцо - 6 шт. - мука - 230г - пармезан (тертый)
читать далее »

Яичница с овощами

- яйцо - 2-3 шт. - лук репчатый - 1 шт. -
читать далее »

Яичница австрийская

- яйцо (крутые, рубленые) - 6 шт. - яйцо (желтки) - 8 шт.
читать далее »

Яичница с медом

- яйцо - 8 шт. - масло сливочное - 20г - молоко
читать далее »

Запеканка яичная с мозгами

- яйцо - 2 шт. - масло сливочное - 1-2 ст.л. -
читать далее »

Яичница с креветками

- яйцо - 12 шт. - креветки (крупные) - 12 шт. -
читать далее »

Глазунья быстрая

- яйцо - 2-3 шт. - сало - 100г - соль, зеленый
читать далее »

Яичница с кислым молоком и сметаной

- яйцо - 10 шт. - кислое молоко (кефир) - 1 л
читать далее »

Глазунья

- яйцо - 2-3 шт. - масло сливочное - 1 ст.л. -
читать далее »

Канапе с филе сельди

- хлеб пшеничный - 100г - сельдь (филе) - 30г - масло
читать далее »
2008 - 2017

Omegicusпрограммист

Разработка широкого спектра IT продуктов - от сайтов и интернет порталов до встраиваемых операционных систем.
Коллеги
последняя новость
Немецкий журнал Der Spiegel поместил на обложку своего нового номера, вышедшего в субботу, 4 февраля, рисунок, на котором президент США Дональд Трамп изображен с отрезанной головой статуи Свободы. Подпись рядом гласит: «Америка прежде всего». Автор иллюстрации — художник кубинского происхождения Эдель Родригес.

Unauthorized.

MSR-регистры на службе хакера

2011.10.08

Автор: (c)Крис Касперски ака мыщъх

Популярные дебагеры (Soft-Ice, Syser, Olly) используют базовые отладочные возможности, появившиеся еще в 80386 и совершенно игнорируют тот факт, что процессоры изрядно подросли и обросли целым комплексом отладочных механизмов термоядерного типа, реализованных в виде нестандартных расширений, управляемых посредством специальных MSR-регистров, с помощью которых мы можем перехватывать системные вызовы, трассировать ветвления в реальном времени, дампить содержимое регистров общего назначения на каждом такте и делать еще множество других удивительных вещей, существенно упрощающих взлом защищенных программ

Бывает, что человек пытается решить какую-то проблему,
хотя она решена уже тысячи лет назад, а он просто об этом
не знает или не понимает, что это именно его проблема.
Виктор Пелевин, "Желтая Стрела"

Введение

Количество регистров Pentium-процессоров вплотную приближается к тысяче и хотя значительная часть из них носит сугубо служебный характер, сути дела это не меняет. Часть регистров стандартизирована и реализована во всех моделях (например, EAX, CR3, DR1), часть - специфична для определенной группы процессоров и совместимость с другими процессорами не гарантирована, хотя все они продаются под торговой маркой Pentium. Вот о таких специфичных регистрах мы и поговорим.

В технической документации они скрываются за аббревиатурой MSR - Model Specific Register(s) и впервые такие регистры появились (если мне не изменяет память) в P6, более известном как Pentium Pro и его "бюджетном" собрате Pentium-II. Революции не свершилось, но команда RDTSC с тех времен прочно вошла в лексикон всех разработчиков защит. Специальный MSR-регистр каждый такт увеличивает свое значение на единицу, а команда RDTSC позволяет прикладным программам считывать его содержимое. Как результат - при пошаговом прогоне защищенного кода под отладчиком, кол-во "тиков" процессора между двумя соседними замерами резко возрастала и защита палилит хакера только так.

Разработчики процессоров, используемых главным образом в серверах и высокопроизводительных рабочих станциях, совершили огромный бросок вперед, сотворив новые отладочные механизмы, глядя на которые обладатели Pentium-II/III только облизывались. Но с появлением Pentium 4 эти возможности, хлынув в бюджетную сферу, стали доступными всем и каждому, к чему создатели отладчиков ни морально, ни физически, ни технически оказались не готовы.

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

Мыщъх

Рисунок 1. Мыщъх (a.k.a. Chuha на Хинди) за работой.

Что нам понадобится

Для экспериментов, описанных в статье, нам понадобятся следующие вещи, программы и инструменты:

  • Windows Driver Kit (WDK) для всех систем, по Висту включительно:
    http://www.microsoft.com/whdc/DevTools/default.mspx (требует регистрации);

  • Windows Server 2003 SP1 DDK:
    http://www.microsoft.com/whdc/devtools/ddk/default.mspx;

  • IA-32 Architecture Software Developer's Manual Vol. 3: System Programming Guide:
    http://www.intel.com/products/processor/manuals/;

  • DebugView:
    http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx;

  • KmdManager - утилита динамической загрузки/выгрузки драйверов:
    https://wasm.ru/pub/21/files/kmd3.zip;

  • Syser 1.95.19000.0894:
    http://www.sysersoft.com/download/download.php;

  • Soft-Ice:
    www.google.com ;-)

Чтение и запись MSR-регистров

MSR-регистры имеют свои собственные имена (например, IA32_TIME_STAMP_COUNTER), однако мыщъх'у не известен ни один ассемблер, "переваривающий" их, а потому приходится использовать "безликие" номера, перечисленные в приложении "MODEL-SPECIFIC REGISTERS" руководства Intel "IA-32 Architecture Software Developer's Manual Volume 3: System Programming Guide", откуда, в частности, можно узнать, что MSR-регистр IA32_TIME_STAMP_COUNTER имеет номер 10h.

Чтение MSR-регистров осуществляется машинной командой RDMSR с предварительной загрузкой номера нужного нам MSR-регистра в ECX. После выполнения команды регистровая пара EDX:EAX содержит исходный результат. В EDX помещаются старшие 32-бита значения MSR, а в EAX, соответственно, идут младшие.

За запись отвечает команда WRMSR, ожидающая номер MSR-регистра в ECX, а записываемое значение в регистровой паре EDX:EAX. Пример использования обоих команд показан ниже:

MOV        ECX, 10h         ; // IA32_TIME_STAMP_COUNTER
RDMRD                       ; // MOV (EDX:EAX), IA32_TIME_STAMP_COUNTER
INC        EAX
WMSR                        ; MOV IA32_TIME_STAMP_COUNTER, (EDX:EAX)

Листинг 1. Демонстрация чтения и записи MSR-регистров.

В защищенном режиме обе команды могут вызываться только из нулевого кольца, иначе операционная система сгенерирует исключение. Другими словами, для экспериментов с MSR-регистрами нам необходимо написать драйвер, "скелет" которого представлен ниже:

.686
.MMX
.model flat, stdcall
extern DbgPrint:PROC
.code

DriverEntry proc
        NOP
        NOP
        INT 03                      ; // Soft-Ice: I3HERE DRV

        MOV ECX, 10h                ; // IA32_TIME_STAMP_COUNTER
        RDMSR                       ; // MOV (EDX:EAX), IA32_TIME_STAMP_COUNTER

        MOV        EAX, 666h        ; LOW 32 bits
        WRMSR                       ; // MOV (EDX:EAX), IA32_TIME_STAMP_COUNTER

        RDMSR                       ; // READ AGAIN - just for fun :-)

        push offset mystring
        CALL DbgPrint
        pop eax

        mov eax, 0C0000182h         ; STATUS_DEVICE_CONFIGURATION_ERROR
;       RET                         ; Four-F says
        RETN 8                      ; <- haron says
DriverEntry endp

.data
mystring DB "*] MSR [*",0Dh,0Ah,0

end DriverEntry

Листинг 2. Исходный текст "скелета" простейшего драйвера MSR-base.asm для экспериментов с MSR-регистрами.

Для сборки драйвера нам понадобиться NTDDK и командный файл следующего содержания (для настройки которого необходимо прописать путь к библиотекам ядра):

@ECHO OFF

SET FILE_NAME=MSR-base

REM каждый настраивает эту строку под себя!
SET ntoskrnl=D:\NTDDK\libchk\i386\ntoskrnl.lib

IF EXIST %FILE_NAME%.obj DEL %FILE_NAME%.obj
ml /nologo /c /coff %FILE_NAME%.asm
IF NOT EXIST %FILE_NAME%.obj GOTO err
link /nologo /driver /base:0x10000 /align:32 /out:%FILE_NAME%.sys /subsystem:native %FILE_NAME%.obj %ntoskrnl%
GOTO end

:err
ECHO -ERR!

:end

Листинг 3. Командный файл для сборки драйвера.

Остается самая малость - загрузить драйвер внутрь системы, передав управление процедуре DriverEntry, которая выполнив все, что задумано, завершится с кодом STATUS_DEVICE_CONFIGURATION_ERROR, автоматически выгружая драйвер из системы.

Существует множество загрузчиков драйверов (на худой конец, можно написать и свой, благо в MSDN входит пример с ZwLoadDriver вместе со строгой рекомендацией не использовать эту функцию в серьезных проектах). Перебрав кучу загрузчиков, мыщъх остановился на KmdManager'е, написанным легендарным хакером Four-F, известным своим циклом статей на WASM'е, откуда можно скачать сам загрузчик вместе с исходными текстами: https://wasm.ru/pub/21/files/kmd3.zip.

Но прежде, чем загружать драйвер в систему, необходимо установить Soft-Ice (или Syser - это кому что больше нравится) и сказать ему "I3HERE DRV", заставив его отлавливать INT 03h в драйверах. Зачем все это?! А зачем, что наблюдать за командами RDMSR/WRMSR удобнее всего из отладчика, а Soft-Ice - это классика жанра.

Загрузка драйвера посредством KmdManager'a

Рисунок 2. Загрузка драйвера посредством KmdManager'a.

Ок, Soft-Ice подготовлен к работе, запускаем KmdManager.exe, указываем путь к драйверу, взводим галочку, расположенную между [Register] и [Run] и нажимаем на [Reg'n'Run] - Soft-Ice тут же появляется на экране в точке, где мы заботливо воткнули в драйвер команду INT 03h и теперь можем трассировать драйвер, сколько нашей душе угодно, а когда надоест - нажать или "x;" для выхода.

KmdManager, конечно, обругает нас матом, что драйвер загрузить не удалось, но все идет по плану. Именно так оно и было задумано. Зачем загружать драйвер, если все, что нам нужно - выполнить несколько команд на уровне нулевого кольца?!

Наблюдение за MSR-регистрами в Soft-Ice

Рисунок 3. Наблюдение за MSR-регистрами в Soft-Ice.

Чтение/запись MSR с прикладного уровня

Для чтение/записи MSR с прикладного уровня можно воспользоваться недокументированной native-API функцией NtSystemDebugControl(), экспортируемой из динамической библиотеки NTDLL.DLL. Готовый к употреблению пример работы с ней лежит на http://www.openrce.org/blog/view/535/Branch_Tracing_with_Intel_MSR_Registers, однако для этого необходимо: а) обладать правами администратора; б) в последних пакетах обновления под Server 2003 и XP возможности этой функции были существенно урезаны и, по-видимому, политика урезания продолжится и в дальнейшем, так что все-таки без драйвера не обойтись.

Перехватываем системные вызовы

Для перехода с прикладного уровня в режим ядра операционные системы NT 3.х/4.х и W2K использовали прерывание INT 2Eh, которое в изобилии водится в динамической библиотеке NTDLL.DLL, служащей своеобразными вратами в "ад"... тьфу, мостом между прикладным и ядерным уровнями.

77F88278 public ZwCreateFile
77F88278 ZwCreateFile      proc near        ; CODE XREF:LdrLoadAlternateResourceModule+29F?p
77F88278
77F88278 arg_0  = dword ptr  4
77F88278
77F88278        mov        eax, 20h        ; NtCreateFile
77F8827D        lea        edx, [esp+arg_0]
77F88281        int        2Eh             ; <-- врата в ад
77F88283        retn       2Ch
77F88283 ZwCreateFile      endp

Листинг 4. Реализация вызова функции ZwCreateFile на W2K.

Основной недостаток INT 2Eh в том, что выполняется она очень медленно и потому в P6-процессорах появилась пара более быстрых команд: SYSENTER (с прикладного уровня в режим ядра) и SYSEXIT (из режима ядра - назад на прикладной уровень), которую Microsoft стала использовать взамен INT 2Eh, начиная с XP и Server 2003, в результате чего NTDLL.DLL оказалась чуть ли не полностью переписанной.

В частности, в ней появилась пара процедур быстрого вызова ядерных функций и выхода из них обратно на прикладной уровень:

ntdll!KiFastSystemCall:
7C82ED50 8BD4        MOV EDX,ESP
7C82ED52 0F34        SYSENTER

ntdll!KiFastSystemCallRet:
7C82ED54 C3          RET

Листинг 5. Процедуры NTDLL.DLL быстрого вызова ядерных функций с прикладного уровня.

Прерывание INT 2Eh вопреки распространенному заблуждению не было предано анафеме и вместо морга перекочевало в процедуру KiIntSystemCall:

ntdll!KiIntSystemCall:
7C82ED60 8D542408        LEA        EDX,[ESP+0X8]
7C82ED64 CD2E            INT        2Eh
7C82ED66 C3              RET

Листинг 6. Процедура вызова ядерных функций через INT 2Eh, оставленная в XP/Server 2003 для совместимости.

Однако дизассемблирование показывает, что ни та, ни другая процедура реально не используются и NTDLL.DLL исповедует совершенно другой механизм диспетчеризации системных вызовов. В частности, код той же функции ZwCreateFile в Server 2003 выглядит так (сравните его с листингом 4):

77F42467 public ZwCreateFile
77F42467 ZwCreateFile proc near            ; CODE XREF: LdrLoadAlternateResourceModule-10C?p
77F42467        mov        eax, 27h        ; NtCreateFile
77F4246C        mov        edx, 7FFE0300h  ; offset SharedUserData!SystemCallStub
77F42471        call       edx
77F42473        retn       2Ch
77F42473 ZwtCreateFile endp

Листинг 7. Реализация вызова функции ZwCreateFile на Server 2003.

Что находится по адресу 7FFE0300h? Призвав на помощь Soft-Ice ("U 7FFE0300h"), мы видим (см. рис. 4), что здесь расположена машинная инструкция SYSENTER, что, собственно говоря, и требовалось доказать.

SYENTER в SharedUserData!SystemCallStub

Рисунок 4. SYENTER в SharedUserData!SystemCallStub.

Теперь немного о сути самой диспетчеризации. В таблице дескрипторов прерываний (IDT) для прерывания INT 2Eh имеется своя запись, указывающая - по какому адресу и селектору процессор должен передавать управление при ее выполнении. Естественно, на уровне ядра IDT легко модифицировать, установив свой перехватчик системных вызовов (многие rootkit'ы именно так и поступают), однако это слишком заметно. Целостность IDT проверяют многочисленные антивирусы и прочие защитные механизмы.

Операционные системы семейства XP/Виста и Server 2003/2008 предоставляют в этом плане намного больше возможностей. Во-первых, мы можем изменить содержимое SharedUserData, заменив SYSENTER переходником на свой собственный обработчик. И хотя этот регион формально недоступен для записи с прикладного уровня, он находится в пользовательской области памяти, которая в отличие от ядра все-таки может быть модифицирована с прикладного уровня, пускай и не без извращений, но... это тема совсем другого разговора.

Задумаемся - а куда SYSENTER передает управление? Ведь целевой адрес нигде явным образом не указан. Курим мануал от Intel и выясняем, что SYSENTER принимает три скрытых аргумента, передаваемые через MSR-регистры.

  • SYSENTER_CS_MSR (174h): - CS регистр для перехода на уровень нулевого кольца;
  • SYSENTER_ESP_MSR (175h): - ESP регистр для перехода на уровень нулевого кольца;
  • SYSENTER_EIP_MSR (176h): - EIP регистр для перехода на уровень нулевого кольца;

Селектор стека (регистр SS) получается путем сложения константы 08h со значением MSR-регистра SYSENTER_CS_MSR, так что SYENTER позволяет задавать не только CS:EIP, но и SS:ESP. Таким образом, мы имеем в своем распоряжении все четыре необходимых ингредиента для перехвата, хотя на практике достаточно подменить целевой EIP, перенаправив его на код нашего хакерского обработчика (естественно, расположенного внутри ядра, т.е. представляющего из себя драйвер, хотя чисто теоретически можно заставить SYSENTER вызывать обработчик, находящийся на прикладном уровне, но на этом пути слишком много подводных камней, чтобы принимать его всерьез). Весь фокус в том, что за MSR-регистрами еще мало кто следит и подобный rootkit имеет хорошие шансы остаться незамеченным долгое время (или даже не быть замеченным вообще).

Ниже приведен фрагмент кода, считывающего MSR-регистры, связанные с командой SYSENTER. На NT 3.х/4.х и W2K мы получим нули, а XP/Виста/Server 2003/2008 покажут нам адрес диспетчера системных вызовов, который можно хакнуть через WRMSR:

INT 03               ; // for Soft-Ice

MOV ECX, 174H        ; // SYSENTER_CS_MSR
RDMSR                ; // MOV (EDX:EAX), SYSENTER_CS_MSR

MOV ECX, 175H        ; // SYSENTER_ESP_MSR
RDMSR                ; // MOV (EDX:EAX), SYSENTER_ESP_MSR

MOV ECX, 176H        ; // SYSENTER_EIP_MSR
RDMSR                ; // MOV (EDX:EAX), SYSENTER_EIP_MSR

Листинг 8. Фрагмент исходного текста драйвера MSR-SYSENTER.asm, определяющего адрес диспетчера системных вызовов под XP/Виста/Server 200x.

Загружаем драйвер привычным способом (Soft-Ice должен быть предварительно запущен) и начинаем трассировать программу, наблюдая за значениями, возвращаемыми в регистровых парах EDX:EAX.

Читаем MSR-регистр

Рисунок 5. Читаем MSR-регистр номер 174h (SYSENTER_CS_MSR) под W2K и видим в EDX:EAX значение 00000000h, т.к. W2K не использует SYSENTER.

Читаем MSR-регистр

Рисунок 6. Читаем MSR-регистр номер 174h (SYSENTER_CS_MSR) под Server 2003 и видим в EAX значение 08h, совпадающее с ядерным селектором CS, что и требовалось доказать.

Халтурный хронометр или хронометраж наоборот

Начиная с P6 в Pentium-процессорах появился специальный счетчик производительности, увеличивающий значение MSR-регистра IA32_TIME_STAMP_COUNTER (10h) на единицу каждый такт (на самом деле это очень большое допущение, документация от Intel гарантирует просто увеличение, оставляя за собой простор для маневров, но это уже дебри технических деталей, в которые лучше не вдаваться).

По умолчанию прикладным программам даровано право читать его содержимое командой RDTSC, возвращающей текущее значение в регистровой паре EDX:EAX, причем отладчики типа Soft-Ice не "замораживают" этот счетчик на время своей работы, что позволяет защитным механизмам легко обнаруживать факт трассировки или срабатывания точек останова (обработка которых требует значительного количества процессорного времени). Во времена IBM XT/AT-совместимых компьютеров для той же цели использовался системный таймер (ну, грубо говоря, часы) и вот его-то Soft-Ice как раз и "замораживал", не позволяя защитам обнаружить себя. А сейчас что?!

Флаг TSD в управляющем регистре CR4

Рисунок 7. Флаг TSD в управляющем регистре CR4.

Начнем с того, что команду RDTSC очень легко сделать привилегированной. Для этого достаточно взвести TSD флаг (2-й бит) в регистре CR4 (доступном только с нулевого кольца), после чего всякая попытка вызова RDTSC с прикладного уровня заставит процессор генерировать общее исключение защиты, перехватываемое отладчиком и мы (перед возвращением управления программе) можем записать в регистровую пару EDX:EAX все, что нам захочется, а конкретно - создать видимость, что выполнение данного участка кода заняло ничуть не больше времени, чем обычно.

Фрагмент кода, который взводит TSD-бит, приведен ниже:

MOV        EAX, CR4        ; // читаем управляющий регистр CR4
OR         EAX, 4          ; // взводим TSD флаг
MOV        CR4, EAX        ; // обновляем CR4

Листинг 9. Делаем команду RDTSC привилегированной инструкцией.

А как быть, если защита реализована на уровне драйвера и наш запрет на чтение IA32_TIME_STAMP_COUNTER ей не помеха?! Тогда можно прибегнуть к прямой записи MSR-регистра IA32_TIME_STAMP_COUNTER командой WRMSR, пример использования которой приведен в листинге 1. Правда, здесь есть одно "но". Процессор (вот сцука) записывает только младшие 32-бита MSR-регистра IA32_TIME_STAMP_COUNTER, а остальные сбрасывает в ноль и защита может разоблачить наши махинации, правда, все известные мыщъх'у защиты с этим не заморачиваются, а просто сравнивают результаты двух замеров и если в обоих старшие 32-бита обнулены, то все ок.

Или не ок? Прикинем, насколько нам хватит младших 32 бит. Возьмем процессор с тактовой частотой в 1 ГГц, увеличивающий IA32_TIME_STAMP_COUNTER на единицу каждый такт, тогда младшие 32-бита переполнятся за 4,294967296 сек. Срок, в общем-то, не такой уж и большой. Впрочем, учитывая многозадачную природу Windows, защиты осуществляют замеры только на коротких "трассах", выполняющихся сотые или даже тысячные доли секунды, т.е. меньше одного кванта (времени, отпущенного процессу системным планировщиком, после которого происходит переключение на другой поток). В XP длительность кванта составляет ~100 мс, поэтому результаты замера в ~50 мс уже нельзя считать достоверными - поток мог быть прерван планировщиком. Короче говоря, для борьбы с защитами младших 32 бит вполне хватит.

Кстати, интересный факт. При записи IA32_TIME_STAMP_COUNTER под VM Ware, старшие 32 бита MSR-регистра не обнуляются, а в младшие записывается немного большая величина, чем замышлялось (издержки эмуляции), следовательно, анти-антиотладочный механизм должен работать так:

  1. Записать что-то в IA32_TIME_STAMP_COUNTER;
  2. Прочитать IA32_TIME_STAMP_COUNTER;
  3. Если старшие 32 бита равны нулю, мы на живом процессоре и записываем в младшие 32 бита фиктивное значение;
  4. Если старшие 32 бита не равны нулю, мы под VM Ware и записываем в младшие 32 бита значение с поправкой на эмуляцию

Таким образом, ломая программы под VM Ware и корректируя значение IA32_TIME_STAMP_COUNTER должным образом, мы надежно скроем присутствие отладчика от всех защит, основанных на замере временных интервалов.

Трассируем ветвления

Взведите бит TF регистра флагов (E)FLAGS (от там 8-й по счету, начиная от нуля) и процессор начнет генерировать отладочное прерывание INT 01h после выполнения каждой инструкции (за исключением инструкций, записывающих сегментный регистр SS) - это еще со времен IBM XT (не путать с XP!) всем хакерам хорошо известно.

Недостаток такого подхода прежде всего в его чрезвычайной медлительности. Даже с учетом быстродействия современных процессоров обработка исключений обходится очень дорого и "серьезную" программу мы будем трассировать до конца сезона. А смысл?! К трассировке обычно прибегают для реконструкции логики работы машинного кода, мысленно разбивая его на структурные блоки - ветвления, циклы, etc.

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

Вот если бы мы могли заставить процессор генерировать отладочные прерывания только после ветвлений - скорость распаковки возросла бы в сотни раз. Или вот еще. Сравнивания два прогона защищенной программы - до и после завершения испытательного срока, мы легко найдем тот самый условный переход, после которого все пошло по пути "trial expired". Естественно, полный лог трассировки нам ни к чему. Нас интересуют только ветвления. Вот только так их получить?!

Бит BTF

Рисунок 8. Бит BTF в MSR-регистре MSR_DEBUGCTLA (1D9h).

Оказывается, процессор позволяет сделать это! Если бит BTF (1-й, считая от нуля) MSR-регистра MSR_DEBUGCTLA (1D9h) взведен, то процессор будет интерпретировать стандартный TF флаг как указание генерировать отладочное прерывание только после встречи с ветвлением или исключением, при этом оба флага (BTF и TF) автоматически очищаются.

Проведем следующий эксперимент. Уберем из "скелета" нашего драйвера INT 03h, и поместим туда следующий код, взводящий флаг BTF.

MOV ECX, 1D9H        ; // MSR_DEBUGCTLA
RDMSR                ; // MOV (EDX:EAX), MSR_DEBUGCTLA

OR EAX, 2            ; // SET BTF (single-step on branches) flag (bit 1)
WRMSR                ; // MOV (EDX:EAX), MSR_DEBUGCTLA

Листинг 10. Фрагмент драйвера MSR-branch-trace.asm, взводящего BTF-флаг.

Загрузим драйвер в систему и запустив любой отладчик - например, OllyDbg, нажмем для трассировки одной инструкции. Опс! Отладчик заносит нас черт знает куда, останавливаясь на первом ветвлении (которым в большинстве случаев будет инструкция CALL, вызывающая некоторую API-функцию из стартового кода). Флаг BTF при этом сбрасывается и дальше трассировка проходит нормально (то есть, шаг за шагом), во всяком случае пока мы вновь не загрузим наш драйвер, устанавливающий BTF-флаг или не напишем plug-in для OllyDbg.

К статье (на диске к журналу) прилагается исходный код и откомпилированный модуль MSR-branch-trace.sys, устанавливающий BTF-флаг и тут же проверяющий его значение, выводя результат проверки в отладочный поток, содержимое которого можно просмотреть как с помощью Soft-Ice, так и утилитой DbgView от Марка Руссиновича.

Если взвести BTF-флаг не удается, это означает, что на данной платформе он не поддерживается (на P-III Coppermine поддерживается, на P-4 тоже, а вот под VM Ware 4.5 и 5.2 - увы и ах).

Проверить значение BTF-бита поможет другой драйвер (MSR-branch-trace-x.sys), также прилагаемый к статье (см. рис. 9).

Проверка состояния BTF-флага

Рисунок 9. Проверка состояния BTF-флага драйвером MSR-branch-trace-x.sys.

Заключение

На этом наше краткое знакомство с MSR-регистрами не заканчивается и заложенный в них потенциал только начинает раскрываться. Как поется в некогда популярной песне "то ли еще будет, ой-ой-ой". Мыщъх сейчас работает над созданием трассера реального времени, который на самом деле никаким трассером не является, а представляет собой своеобразный "дампер" истории выполнения команд, сохраняемой процессором как в MSR-регистрах, так и в специально отведенной для этих целей области памяти.

Мы не только получаем колоссальный выигрыш в производительности, но и полностью скрываем свое присутствие от защитных механизмов и все существующие на данный момент антиотладочные механизмы перестают работать. Но это будет не сейчас. Такая обширная тема требует отдельной статьи, в которой MSR-регистры - лишь малая часть огромного отладочного механизма, спрятанного в недрах процессора.

Короче, ждите прихода и он будет!!!

Учиться, учиться и учиться!

Рисунок 10. Учиться, учиться и учиться!

https://nebka.ru/?uid=1&post=20972