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

Конвертирование строки из КОИ-8 в cp1251 и обратно
03.10.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter

Кодировка KOI8-R
КОИ-8 - код обмена информацией - восьмибитовая кодовая страница, разработанная для кодирования букв кириллических алфавитов. КОИ-8 в свое время была широко распространена как основная русская кодировка в UNIX-совместимых ОС и в электронной почте. Существует несколько вариантов КОИ-8, в этой статье я расскажу, как можно конвертировать строку из KOI8-R (русская) в стандартную виндовую кодировку cp1251 и обратно.
Читать статью целиком »
Просмотров: 231 | Комментариев: 1

Tesseract OCR - система распознавания текста
30.09.2023 | Категория: Software | Автор: ManHunter

Tesseract OCR - система распознавания текста
Вряд ли кто-то поспорит, что самой продвинутой системой распознавания текста в настоящее время является ABBYY FineReader. Я сам его постоянно использую при подготовке статей для сайта. Но вот возникла задача по распознаванию определенных текстов на большом количестве изображений (что-то типа схем или чертежей). Естественно, все должно делаться в автоматическом режиме, а результат был нужен уже вчера. Поискав возможные варианты решений, я остановился на Tesseract OCR. Это библиотека для распознавания текста с открытым исходным кодом, кроссплатформенная, с поддержкой юникода и более 100 языков "из коробки".
Читать статью целиком »
Просмотров: 653 | Комментариев: 4

Отслеживание изменения метки тома
27.09.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter
Несколько лет назад я демонстрировал, как можно легко и просто отслеживать изменения в каком-нибудь каталоге. Кроме отслеживания подобных глобальных движений, система позволяет отслеживать изменения более точечно, например, на отдельных объектах файловой системы. Для этого есть функция SHChangeNotifyRegister. В качестве примера я разберу, как можно отслеживать изменение метки тома. На самом деле функция SHChangeNotifyRegister обладает гораздо более широкими возможностями по отслеживанию различных системных уведомлений.Сперва небольшое количество данных для работы, которые отсутствуют в инклудах FASM.
Code (Assembler) : Убрать нумерацию
- struct SHChangeNotifyEntry
- pidl dd ?
- fRecursive dd ?
- ends
- SHCNRF_ShellLevel = 0x0002
- SFGAO_FILESYSTEM = 0x40000000
- SHCNE_RENAMEFOLDER = 0x00020000
Code (Assembler) : Убрать нумерацию
- ; Настроить отслеживаемый объект
- invoke SHParseDisplayName,szWatch,NULL,\
- pidl,SFGAO_FILESYSTEM,NULL
- ; Заполнить массив отслеживаемых объектов
- mov eax,[pidl]
- mov [shentry.pidl],eax
- mov [shentry.fRecursive],FALSE
- ; Зарегистрировать обработчик уведомлений
- invoke SHChangeNotifyRegister,\
- [hwnddlg],\
- SHCNRF_ShellLevel,\
- SHCNE_RENAMEFOLDER,\
- WM_LABEL_CHANGED,\
- 1,\
- shentry
- mov [cookie],eax
- ; Освободить неиспользуемую память
- invoke CoTaskMemFree,[pidl]
Код WM_LABEL_CHANGED - это пользовательское сообщение окну приложения, его можно описать, например, как WM_LABEL_CHANGED = WM_USER + 200. При поступлении уведомления от системы именно это сообщение будет отправлено целевому окну обработчика. В параметре lParam находится код события, что очень полезно, когда приложение подписано сразу на несколько событий.
Читать статью целиком »
Просмотров: 205 | Комментариев: 0

Копченый сыр
26.09.2023 | Категория: А еще я туда ем! | Автор: ManHunter

Копченый сыр
На улице стало холодать, значит самое время заняться копчением сыра. Я не зря сделал акцент на погоде, сыр начинает "плакать" уже при комнатной температуре, а при термической обработке и вовсе плавится. Поэтому коптить его я буду исключительно холодным способом, в холодном гриле и сразу же по утреннему холодку.
Читать статью целиком »
Просмотров: 314 | Комментариев: 4

Проверка цифровой подписи исполняемого файла
22.09.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter

Проверка цифровой подписи исполняемого файла
Цифровая подпись в настоящее время является одним из основных способов подтверждения, что файл не был модифицирован, что он получен от достоверного источника и что он принадлежит именно тому издателю, который заявлен. Использование современных криптографических алгоритмов практически исключают возможность ее подделки. А вот как программно проверить цифровую подпись исполняемых файлов - это я вам сейчас расскажу.
Читать статью целиком »
Просмотров: 658 | Комментариев: 1
