
Быстрый поиск
Введите фрагмент названия статьи для поиска
Парсинг метаданных файлов 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.Code (Assembler) : Убрать нумерацию
- cmp [msg],WM_GETMINMAXINFO
- je .minmax
- ...
- ...
- .minmax:
- ; В регистре EDI указатель на структуру координат окна
- mov edi,[lparam]
- ; Принудительно прописать размеры окна
- mov [edi+MINMAXINFO.ptMaxSize.x],7000
- mov [edi+MINMAXINFO.ptMaxTrackSize.x],7000
- mov [edi+MINMAXINFO.ptMinTrackSize.x],7000
- mov [edi+MINMAXINFO.ptMaxSize.y],7000
- mov [edi+MINMAXINFO.ptMaxTrackSize.y],7000
- mov [edi+MINMAXINFO.ptMinTrackSize.y],7000
- jmp .processed
Читать статью целиком »
Просмотров: 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


