
Быстрый поиск
Введите фрагмент названия статьи для поиска
Drag'n'Drop файлов в консольное окно
06.12.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter
Очередная порция странного. На этот раз я решил попробовать реализовать обработку перетаскивания файлов в консольное окно. Для обычных GUI-приложений с этим нет вообще никаких сложностей, а вот с консольными приложениями придется повозиться. Вопреки тиражируемым в этих ваших интернетах статьям, с консольными окнами не работают никакие стандартные способы перетаскивания данных типа манипулирования с расширенными стилями консольного окна WS_EX_ACCEPTFILES, с принудительным назначением ему DragAcceptFiles, с субклассированием на предмет обработки сообщения WM_DROPFILES или даже через реализацию интерфейса IDropTarget. Ни-че-го. В тоже время, если открыть системный командный интерпретатор cmd.exe и попытаться перетащить на его консольное окно какой-нибудь файл из Проводника или файлового менеджера, то в командной строке появится полный путь к этому файлу. Значит какие-то зачатки технологии Drag'n'Drop для консольных окон все-таки имеются.С помощью обработки событий консоли удалось выяснить, что при перетаскивании файла в консольное окно, путь к нему передается посимвольно через события KEY_EVENT. При более детальном анализе я также выяснил, что четкой системы тут нет, часть символов передается с событием нажатия и отпускания клавиши, а часть только с отпусканием клавиш. Единственные закономерности заключаются в том, что такие символы передаются обязательно со счетчиком повторений равным 1 и точно с флагом отпускания клавиш.
Также не стоит забывать про различные программы-обработчики клавиатуры типа Punto Switcher, которые самостоятельно обрабатывают введенные символы и затем могут менять их раскладку и последовательность через эмуляцию ввода с клавиатуры.
Читать статью целиком »
Просмотров: 779 | Комментариев: 4
Как установить английскую раскладку при запуске HiEW
02.12.2023 | Категория: Software | Автор: ManHunter

Как установить английскую раскладку при запуске HiEW
Несмотря на почтенный возраст, hex-редактор HiEW до сих пор пользуется заслуженной популярностью среди исследователей программного обеспечения. Да, он не лишен недостатков, да, к настоящему времени имеется огромное количество альтернатив, но лично для меня HiEW остается одним из самых востребованных инструментов. К большому сожалению, автор практически прекратил развитие программы и крайне неохотно реагирует на предложения пользователей, ограничиваясь парой-тройкой незначительных исправлений в год. Теперь к основной проблеме, которую я вынес в заголовок этой статьи. У меня Windows c русским интерфейсом, соответственно, все стартующие программы запускаются с русской раскладкой по умолчанию. Это меня вполне устраивает, но только не в случае с HiEW, для которого в 99,99% случаев требуется вводить символы в английской раскладке. Конечно, можно просто переключить раскладку и не напрягаться, но мне хочется какого-то абсолютного решения задачи. Этим сегодня и займемся. А заодно потренируемся в ручной распаковке ASPack и всевозможной работе непосредственно с самим HiEW.
Читать статью целиком »
Просмотров: 2284 | Комментариев: 16
Получение информации о шрифте с помощью функции GetFontResourceInfo
29.11.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter

Получение информации о шрифте с помощью функции GetFontResourceInfo
В статье о загрузке шрифтов из памяти я упомянул об использовании недокументированной функции GetFontResourceInfo, но не привел никаких примеров ее вызова. А функция интересная, так что самое время исправить этот пробел в знаниях.
Читать статью целиком »
Просмотров: 840 | Комментариев: 3
Парсинг метаданных DSF-файлов на Ассемблере
11.11.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter

Парсинг метаданных DSF-файлов на Ассемблере
Во время очередного пиратского набега на торренты мне попался музыкальный альбом в формате DSF. Это контейнер для аудиопотока в супер-мега качестве, разработанный компаниями Sony и Philips. В результате и файлы получаются по 400-500 мегабайт на одну песню. Может быть для аудиофилов такое качество как-то можно обосновать, но для меня этот формат представляет исключительно спортивный интерес. А точнее, как из таких файлов извлечь метаданные.
Читать статью целиком »
Просмотров: 506 | Комментариев: 0
Как защитить DLL от выгрузки через FreeLibrary
07.11.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter

Как защитить DLL от выгрузки через FreeLibrary
Небольшой трюк, позволяющий защитить вашу DLL от выгрузки из процесса при помощи функции FreeLibrary. Например, если процесс обнаружил инжект посторонней библиотеки в свое адресное пространство и пытается от нее избавиться.
Читать статью целиком »
Просмотров: 568 | Комментариев: 2


