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

Получение метаданных WMA-файлов на Ассемблере
16.11.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter

Получение метаданных WMA-файлов на Ассемблере
В этой статье разберем способы, как можно получить информацию из метаданных Windows Media Files, к которым относятся такие форматы, как WMV, ASF и WMA. По структуре они все очень похожи, поэтому работать будем с чем-то одним, например, с Windows Media Audio. И хоть разбирать вручную внутренности файлов гораздо интереснее, это тот случай, когда лучше поручить всю грязную работу самой системе.
Читать статью целиком »
Просмотров: 356 | Комментариев: 0

Парсинг метаданных FLAC-файлов на Ассемблере
07.11.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter

Парсинг метаданных FLAC-файлов на Ассемблере
Продолжу тему парсинга метаданных из медиафайлов разных форматов. Сегодня разберем аудиофайлы FLAC. Это очень популярный кодек, предназначенный для сжатия аудиоданных без потерь, используется с 2001 года и поддерживается большинством плееров. Формат хорошо документирован, к тому же имеет очень простую внутреннюю структуру.
Читать статью целиком »
Просмотров: 408 | Комментариев: 0

Парсинг метаданных OGG-файлов на Ассемблере
01.11.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter

Парсинг метаданных OGG-файлов на Ассемблере
OGG - открытый формат кодирования аудио, направленный в первую очередь для хранения высококачественной музыки с высоким битрейтом. Как ни странно, на данный момент не существует официального единого стандарта записи метаданных в контейнер OGG. Так что пришлось совмещать теоретические сведения из имеющейся документации с практическими данными из дикой природы.
Читать статью целиком »
Просмотров: 462 | Комментариев: 0

Как получить путь из символической ссылки
24.10.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter
Начиная с Windows Vista, в системе появились так называемые символические ссылки, специальные файлы, в которых вместо каких-либо данных содержится путь к другому файлу или каталогу, открываемому при обращении к этой ссылке. Это позволяет, например, иметь для одного и того же файла сразу несколько разных имен.Чтобы получить целевой путь, на который указывает символическая ссылка, есть несколько методов. Обычно в этих ваших интернетах рекомендуют сложный путь через использование функции DeviceIoControl. Штука интересная, с нее и начнем. Но сперва пачка структур и констант, которые нам понадобятся для работы.
Code (Assembler) : Убрать нумерацию
- struct SymbolicLinkReparseBuffer
- SubstituteNameOffset dw ?
- SubstituteNameLength dw ?
- PrintNameOffset dw ?
- PrintNameLength dw ?
- Flags dd ?
- PathBuffer rw MAX_PATH*2
- ends
- struct MountPointReparseBuffer
- SubstituteNameOffset dw ?
- SubstituteNameLength dw ?
- PrintNameOffset dw ?
- PrintNameLength dw ?
- PathBuffer rw MAX_PATH*2
- ends
- struct GenericReparseBuffer
- DataBuffer db ?
- ends
- struct REPARSE_DATA_BUFFER
- ReparseTag dd ?
- ReparseDataLength dw ?
- Reserved dw ?
- union
- SymbolicLink SymbolicLinkReparseBuffer
- MountPoint MountPointReparseBuffer
- Generic GenericReparseBuffer
- ends
- ends
- FSCTL_GET_REPARSE_POINT = 0x000900A8
- FILE_FLAG_BACKUP_SEMANTICS = 0x02000000
- FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000
- IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003
- IO_REPARSE_TAG_SYMLINK = 0xA000000C
Читать статью целиком »
Просмотров: 402 | Комментариев: 1

Сортировка Шелла на Ассемблере
06.10.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter

Сортировка Шелла на Ассемблере
Сегодня разберем еще один алгоритм сортировки - сортировку Шелла. Он назван в честь ученого Дональда Шелла, который в 1959 году опубликовал этот алгоритм. Сортировка Шелла представляет собой нечто среднее между классической пузырьковой сортировкой и сортировкой вставками, легко реализуется на разных языках программирования, при этом показывает хорошую скорость работы и не требует выделения дополнительной памяти.
Читать статью целиком »
Просмотров: 590 | Комментариев: 5
