Активная антиотладка и антиинжект

7 сен 2017

И вновь продолжается бой И сердцу тревожно в груди.. (Из песни времен СССР.) Активная антиотладка и антиинжект по Рихтеру Далее будет использован синтаксис Microsoft Си. Проекты в конце статьи – под Microsoft Visual Studio v.6.0 . Разговор далее пойдет только о Ring3. Недавно работая над написанием плагина под Sysinternals Process Explorer, стлучайно столкнулся с функцией RtlQueryProcessDebugInformation из ntdll.dll, которая оказывается использует удаленные потоки для получения информации о...
Читать далее
Лайков +2 Комментариев3 Просмотров4.330

Альтернативная зона .bit

7 сен 2017

Не моё, но может кому то интересно. Как то давно мне присылали. Альтернативная зона DNS .bit Материал из Википедии: Namecoin (англ. name — «имя», англ. coin — «монета») — основанная на технологии Bitcoin система хранения произвольных комбинаций вида «имя-значение», наиболее известным применением которой является система альтернативных корневых DNS-серверов. Nameсoin не управляются какой-либо одной организацией. Каждый узел сети Nameсoin имеет полную копию распределённой базы данных. Принцип...
Читать далее
Лайков +2 Комментариев1 Просмотров5.708

Hooking into NDIS and TDI

26 авг 2017

Перевод статьи «Hooking into NDIS and TDI, part 1» Перехват NDIS и TDI, часть 1 andreas пишет: Это первая часть из 2-х статей, описывающих перехват на уровне NDIS и TDI. В первой части мы обсудим перехват на уровне NDIS, а во второй на уровне TDI. Прежде всего давайте посмотрим на упрощенное изображение сетевого стека в пространстве ядра: TDI NDIS уровень протокола NDIS промежуточный уровень Miniport Hardware Для контроля потока данных на уровне NDIS у нас есть 3 потенциально возможные...
Читать далее
Лайков +3 Комментариев5 Просмотров4.073

Detecting Hidden Processes by Hooking the SwapContext Function

24 авг 2017

Определение скрытых процессов методом перехвата функции SwapContext. kimmo пишет: Общедоступна утилита Klister, созданная Джоанной Рутковской, которая (утилита) может определять скрытые процессы, проверяя содержимое трех связных списков, управляемых ядром: KiWaitInListHead, KiWaitOutListHead и KiDispatcherReadyListHead. Тем не менее Klister может работать только в ОС Windows 2000 и перенесение (переписывание) кода в ОС Windows 2003/ХР является не такой уж тривиальной задачей. Проблема в...
Читать далее
Лайков +3 Комментариев7 Просмотров4.283

Начала программирования в защищённом режиме (часть 2)

24 авг 2017

Линейный адрес таблицы указывает, в какой области оперативной памяти находится таблица. Размер таблицы считается в байтах, при чём значение битов 0-15 должно быть на единицу меньше реального размера таблицы. Структура регистра LDTR выглядит следующим образом: [IMG] Рисунок 17. Структура данных регистра LDTR Из всех 10 байт нам доступны лишь младшие два байта (биты 0-15), в которые следует загрузить селектор дескриптора таблицы LDT, находящийся в таблице GDT. В таком случае общий механизм...
Читать далее
Лайков +2 Комментариев1 Просмотров4.453

Начала программирования в защищённом режиме (часть 1)

24 авг 2017

Начала программирования в защищённом режиме. Часть 1 Предисловие Данный цикл статей расчитан на пользователей персональный компьютеров типа IBM PC, которые хотели бы познакомиться с архитектурой процессоров семейства Intel в защищённом режиме и написать свою собственную программу, функционирующую как вполне самостоятельная операционная система. От читателя требуется хотя бы минимальный опыт программирования на языках Assembler и C++, потому что будет предполагаться, что с некоторыми...
Читать далее
Лайков +2 Комментариев8 Просмотров13.840

Кодирование Хаффмана (часть 3)

24 авг 2017

Кодирование Хаффмана. Часть 3 Вступление В прошлой части мы рассмотрели программу на C++, сжимающую данные. Кроме этого, автор соизволил признаться, что написанная программа не является идеалом, и что при определённых наборах частот сжатие будет неверным. Эта статья посвящена распаковке сжатого файла при помощи программы на ассемблере и дерева, построенного программой сжатия. Опять же следует оговориться: программа не рассчитана на распаковку гигантских файлов, но её в любой момент можно...
Читать далее
Лайков +2 Комментариев2 Просмотров4.534

Кодирование Хаффмана (часть 1 и 2)

20 авг 2017

Кодирование Хаффмана. Часть 1. Вступление Здравствуй, дорогой читатель! В данной статье будет рассмотрен один из способов сжатия данных. Этот способ является достаточно широко распространённым и заслуживает определённого внимания. Данный материал рассчитан по объёму на три статьи, первая из которых будет посвящена алгоритму сжатия, вторая - программной реализации алгоритма, а третья ― декомпрессии. Алгоритм сжатия будет написан на языке C++, алгоритм декомпрессии ― на языке Assembler....
Читать далее
Лайков +2 Комментариев1 Просмотров28.989