Здравствуйте, вы находитесь на домашней странице Фролова Андрея

На данной странице я буду выкладывать некоторые наработки в области программного обеспечения.
Гостевая книга
E-mail

27.12.2003
Good Day //Good Day на www.256b.com//
Deep //Deep на www.256b.com//
VVecto //VVecto на www.256b.com//
Мои старые демки на асме в 256 байт. Решил дать ссылки для истории :).

20.12.2003
Module injection Почитал недавно про внедрение своей ДЛЛ в пространство чужого процесса и про то, как скрыть свою программу от всевидящего ока Windows Task Manager :) и сложилась в голове некая картина, которую решил реализовать. Итак - запуск своей ДЛЛ так, чтобы не было видно невооруженным глазом и/или внедрение своего кода в заданный процесс. Для внедрения используются два файла - главный ЕХЕ и внедряемый ДЛЛ, который по совместительству содержит код для внедрения. Программа устанавливает глобальный хук на сообщения WH_GETMESSAGE, что заставляет Windows внедрить нашу ДЛЛ в пространства всех процессов, которые успеют получить какие-либо сообщения за время внедрения. Это время весьма произвольно взято в количестве 1000 миллисекунд. После ожидания программа деинсталлирует хук, но главное мы получили - попали в адресное пространство каждого процесса, получившего сообщения за время внедрения. Таким образом, при инициализации копий внедряемой ДЛЛ мы проверяем текущий процесс на соответствие целевому процессу (с помощью анализа имени главного модуля приложения, в данном случае - explorer), загружаем нашу ДЛЛ (которая выгрузится уже после завершения целевого процесса) и создаем новый поток (thread) на специально подготовленную функцию в ДЛЛ. Все, теперь мы имеем поток в пространстве нужного нам процесса. Для примера этот поток раз в 100 мс просыпается и при нажатых LSHIFT и RSHIFT создает на С:\ файлы с именем в виде текущего времени в мс. Для излечения нужно с помощью Windows Task Manager выгрузить и опять загрузить explorer.exe.

17.12.2003
FPerformance Класс для точного замера времени. Работает на P5+, так как использует инструкцию RDTSC. Сам замеряет тактовую частоту процессора. Для сборки нужно подключить библиотеки и хидеры мультимедийных таймеров (см. Platform SDK). Использование - создать объект класса, вызвать метод Start, потом Stop и получить время в миллисекундах (double) с помощью метода GetDeltaTime.

16.12.2003
Color quantizator В квантизаторе используются два подхода для квантизации цвета. Первый - переделанный мной NeuQuant (автор - Anthony Dekker "NeuQuant Neural-Net Quantization Algorithm"). Второй - мой OctQuant, использует метод деления цветового пространства в виде восьмидерева. Исходные коды прилагаются. Запуск - в командной строке имя файла в формате 24bpp BMP. На выходе получаются файлы палитры в формате .act (понимается Фотошопом) и проквантованный BMP файл (тоже в 24 битах). С помощью директивы #define FCOLORQUANT_OCT можно выбирать между используемыми квантизаторами.

28.11.2003
Экспериментальный PPM компрессор В компрессоре используется классическая схема PPM-сжатия, порядок модели равен 5, применяется метод local order estimation (LOE), априорная оценка вероятности ухода и некоторые элементы наследования информации. Для хранения данных используется Ternary Search Tree (TST) и списки символов. Исходные тексты прилагаются (компилировать в Visual Studio .NET).

falinc@ukr.net
Hosted by uCoz