Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Парсинг метаданных файлов RealMedia на Ассемблере

21.10.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter

Парсинг метаданных файлов RealMedia на Ассемблере

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

Читать статью целиком »
Просмотров: 568 | Комментариев: 2

Алгоритм хеширования MaHash8 на Ассемблере

28.09.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter

Алгоритм хеширования MaHash8 на Ассемблере

MaHash8 - эффективная функция с высокой производительностью, которая позволяет выполнять операции хеширования с минимальным количеством коллизий. Она основана на простых операциях, имеет очень понятную структуру и легко реализуется на различных языках программирования.

Читать статью целиком »
Просмотров: 566 | Комментариев: 3

Как сделать окно размером больше монитора

17.09.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter
Для изменения размера окна в WinAPI используется функции SetWindowPos или MoveWindow, два параметра которых как раз и отвечают за размер. Обе функции прекрасно работают с окнами, размер которых не превышает размер монитора. Но есть неприятная особенность. При попытке увеличить окно до размеров, значительно превышающих размер монитора, оно действительно увеличится, но при любом последующем действии с окном оно тут же будет принудительно уменьшаться до максимально допустимого размера. Затрудняюсь сказать, с чем это связано, но факт имеет место быть. Таким образом, если ваше приложение подразумевает работу с большим окном, но оно запущено на компьютере с маленьким монитором, то с отображением возникнут проблемы. Не буду рассуждать на тему самой необходимости подобных действий, перейду сразу к реализации решения этой проблемы. Оно основано на обработке сообщения WM_GETMINMAXINFO.
  1.         cmp     [msg],WM_GETMINMAXINFO
  2.         je      .minmax
  3.         ...
  4.         ...
  5. .minmax:
  6.         ; В регистре EDI указатель на структуру координат окна
  7.         mov     edi,[lparam]
  8.  
  9.         ; Принудительно прописать размеры окна
  10.         mov     [edi+MINMAXINFO.ptMaxSize.x],7000
  11.         mov     [edi+MINMAXINFO.ptMaxTrackSize.x],7000
  12.         mov     [edi+MINMAXINFO.ptMinTrackSize.x],7000
  13.  
  14.         mov     [edi+MINMAXINFO.ptMaxSize.y],7000
  15.         mov     [edi+MINMAXINFO.ptMaxTrackSize.y],7000
  16.         mov     [edi+MINMAXINFO.ptMinTrackSize.y],7000
  17.         jmp     .processed
В обработчике основного окна проверяем, что пришло сообщение WM_GETMINMAXINFO, после чего в структуре MINMAXINFO, на которую указывает параметр lparam, принудительно прописываем необходимые значения размера окна.

Читать статью целиком »
Просмотров: 484 | Комментариев: 1

Парсинг метаданных MMF-файлов на Ассемблере

03.09.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter

Парсинг метаданных MMF-файлов на Ассемблере

SMAF (Synthetic Music Mobile Application File), он же MMF - мультимедийный формат данных, разработанный компанией Yamaha. В эпоху кнопочных сотовых телефонов этот формат использовался для создания очень компактных по размеру мелодий, хоть и невысокого качества звучания. Формат MMF может содержать не только мелодии, но и голоса, целые песни, и даже команды управления подсветкой телефона, если таковые поддерживаются аппаратом. Сейчас этот формат потерял актуальность, даже официальный сайт проекта окончательно закрылся несколько лет назад и доступен только в архиве. Описаний внутреннего формата MMF-файлов тоже практически нет, всю информацию пришлось собирать по крупицам из разных источников, в том числе и на основе анализа файлов "из дикой природы".

Читать статью целиком »
Просмотров: 553 | Комментариев: 1

Кейлоггер на Ассемблере

30.08.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter

Кейлоггер на Ассемблере

Кейлоггеры - класс программ, которые перехватывают нажатия клавиш и сохраняют их в сухое прохладное место для последующего анализа. В зависимости от задачи, кейлоггеры могут относиться как к вредоносным программам, так и распространяться на вполне законных основаниях. Хороший пример условно полезного кейлоггера - автопереключатель раскладки Punto Switcher. Сегодня будем писать на Ассемблере простенький кейлоггер. До настоящей боевой малвары этому примеру как до Китая ползком, это, скорее, пример низкоуровневой работы с клавиатурой. Но в принципе, если хорошенько доработать код напильником, то получится полноценный кейлоггер, работающий в юзермоде и перехватывающий нажатия клавиш во всех приложениях.

Читать статью целиком »
Просмотров: 994 | Комментариев: 7

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2025
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.09 сек. / MySQL: 3 (0.0155 сек.) / Память: 4.5 Mb
Наверх