Blog. Just Blog

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

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

Распаковка данных в формате LZF на Ассемблере

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

Распаковка данных в формате LZF на Ассемблере

Первоначально алгоритм компрессии LZF был разработан Marc Lehmann, но в последующем был немного оптимизирован и облегчен Ильей Муравьевым. По степени сжатия находится в одном ряду с LZE и LZ4, а по скорости упаковки и распаковки показывает просто отличные результаты. При этом основная оптимизация сжатия достигается при упаковке текстовых данных.

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

Как узнать, какие привилегии есть у процесса

11.12.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter
Ранее я уже писал, как устанавливать нужные привилегии для процесса. Сегодня будет пример, как можно получать список доступных привилегий. Но сперва немного констант и структур, которые необходимы для работы с привилегиями.
  1. TOKEN_QUERY     = 8h
  2. TokenPrivileges = 3
  3.  
  4. struct LUID
  5.   LowPart  dd ?
  6.   HighPart dd ?
  7. ends
  8.  
  9. struct LUID_AND_ATTRIBUTES
  10.   pLuid       LUID
  11.   Attributes  dd ?
  12. ends
  13.  
  14. struct TOKEN_PRIVILEGES
  15.   PrivilegeCount   dd ?
  16.   Privileges       LUID_AND_ATTRIBUTES
  17. ends
Теперь теория. Каждому процессу соответствует свой дескриптор маркера доступа (токен), через который выполняется большинство операций, касающихся безопасности, прав доступа и подобного. Для получения информации о привилегиях надо запросить информацию о токене с помощью функции GetTokenInformation, указав в качестве класса сведений TokenPrivileges, то есть данные о привилегиях. Токен должен быть предварительно открыт с помощью функции OpenProcessToken или OpenThreadToken. На выходе будет получен массив структур TOKEN_PRIVILEGES. Поочередно перебирая эти структуры, можно определить все привилегии, которыми обладает процесс.

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

Соус "Релиш"

08.12.2023 | Категория: А еще я туда ем! | Автор: ManHunter

Соус "Релиш"

Родина соуса "Релиш" - Индия. Но со временем этот кисло-сладкий соус постепенно просочился в кухни всего мира. Его пикантный вкус станет отличным дополнением к любому фаст-фуду, а также к блюдам из мяса. Единственное условие, что хранится "Релиш" совсем недолгое время, сделали - съели. Да иначе просто и не получится :)

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

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, которые самостоятельно обрабатывают введенные символы и затем могут менять их раскладку и последовательность через эмуляцию ввода с клавиатуры.

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

Исследование защиты программы XML Marker

05.12.2023 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы XML Marker

XML Marker - весьма недурственный просмотрщик и редактор файлов в формате XML и JSON. При более чем скромных размерах, XML Marker позволяет просматривать содержимое в виде удобной древовидной структуры, с подсветкой тегов, проверкой синтаксиса, с возможностью поиска и сортировки, при этом совершенно спокойно открывает файлы даже в несколько сот мегабайт. В ознакомительном режиме программа работает без никаких ограничений, но непродолжительное время. Как гласит ирландская пословица, "когда бог создал время, он создал его достаточно". Давайте поделимся кусочком вечности с программой.

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

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