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

Работа с Zone.Identifier на Ассемблере
12.05.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter
Несколько лет назад я выкладывал пару статей на тему блокировки файлов с помощью альтернативных файловых потоков и Zone.Identifier. Там вся работа с ними выполнялась или средствами самой системы Windows, или сторонними приложениями. Настало время написать собственное приложение.Сперва немного теории. За блокировку файлов отвечает COM-объект IZoneIdentifier для работы с которым нам потребуется несколько структур, GUID'ов и констант, про которые не знает FASM.
Code (Assembler) : Убрать нумерацию
- ; GUID {0968E258-16C7-4DBA-AA86-462DD61E31A3}
- CLSID_PersistentZoneIdentifier \
- dd 00968E258h
- dw 016C7h
- dw 04DBAh
- db 0AAh, 086h, 046h, 02Dh, 0D6h, 01Eh, 031h, 0A3h
- ; GUID {CD45F185-1B21-48E2-967B-EAD743A8914E}
- IID_IZoneIdentifier \
- dd 0CD45F185h
- dw 01B21h
- dw 048E2h
- db 096h, 07Bh, 0EAh, 0D7h, 043h, 0A8h, 091h, 04Eh
- ; GUID {0000010B-0000-0000-C000-000000000046}
- IID_IPersistFile \
- dd 00000010Bh
- dw 00000h
- dw 00000h
- db 0C0h, 000h, 000h, 000h, 000h, 000h, 000h, 046h
- ; IID_IZoneIdentifier Interface
- struct IZoneIdentifier
- ; IUnknown
- QueryInterface dd ? ; 000h
- AddRef dd ? ; 004h
- Release dd ? ; 008h
- ; IZoneIdentifier
- GetId dd ? ; 00Ch
- SetId dd ? ; 010h
- Remove dd ? ; 014h
- ends
- ; IID_IPersistFile Interface
- struct IPersistFile
- ; IUnknown
- QueryInterface dd ? ; 000h
- AddRef dd ? ; 004h
- Release dd ? ; 008h
- ; IPersistFile
- GetClassID dd ? ; 00Ch
- IsDirty dd ? ; 010h
- Load dd ? ; 014h
- Save dd ? ; 018h
- SaveCompleted dd ? ; 01Ch
- GetCurFile dd ? ; 020h
- ends
- CLSCTX_INPROC_SERVER = 1
- S_OK = 0
- STGM_READ = 0
Читать статью целиком »
Просмотров: 246 | Комментариев: 5

Friendly Password Generator 1.8
08.04.2023 | Категория: Мои программы | Автор: ManHunter

Скриншот программы Friendly Password Generator
В настоящее время существует множество программ для генерации паролей, но у них всех есть один недостаток: пароли, которые они генерируют, просто нереально запомнить. Я отказался от обычной схемы работы таких программ "набор случайных символов заданной длины" и сделал свою программу для генерации. Принцип построения пароля в ней заключается в том, что результирующая строка похожа на слово с окончанием из цифр (опционально) плюс спецсимвол (тоже опционально). Такое "слово" легко запомнить, даже 12 или 15 символов длиной. Взломоустойчивость при этом ни капельки не страдает. Сгенерированный пароль длиной 10-12 символов подобрать так же нереально (в обозримое время), даже зная его похожесть на слово, а запомнить пароль не составит большого труда.
Читать статью целиком »
Просмотров: 20326 | Комментариев: 93

Запуск Проводника с правами Администратора
10.08.2022 | Категория: Software | Автор: ManHunter

Запуск Проводника с правами Администратора
В процессе исследований внезапно выяснилось, что в Windows 10, а может и в более новых системах, процесс Проводника запускается со стандартным токеном доступа пользователя. Причем обычными средствами повысить привилегии для Проводника невозможно. К примеру, нельзя параллельно запустить второй процесс explorer.exe через меню "Запуск от имени администратора". Конечно, безопасность превыше всего, забота о пользователях - наш приоритет, бла-бла-бла, вот это все. А если вам приходится часто работать с системными каталогами или редактировать защищенные системные файлы, то постоянные уведомления безопасности UAC вам быстро надоедят. Впрочем, если чего-то нельзя, но очень надо, то можно.
Читать статью целиком »
Просмотров: 954 | Комментариев: 6

Как определить уровень UAC своего процесса
07.08.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter
Как известно, контроль учетных записей (UAC) является основополагающим компонентом общей концепции безопасности Microsoft. UAC помогает уменьшить воздействие вредоносных программ и защищать данные от несанкционированного доступа. Если для работы ваших приложений понадобится доступ к защищенным объектам, то система выдаст соответствующее предупреждение с запросом о предоставлении таких прав. Особенно это актуально для системы Win10 и выше, где Проводник всегда запускается в контексте безопасности обычного пользователя и, соответственно, все запущенные в нем процессы также будут иметь обычные права. Для повышения прав приложения можно запускать от имени Администратора.Для того, чтобы определить, как именно было запущено ваше приложение, то есть в нормальном режиме или от имени Администратора, есть специальные функции. Но сперва, как обычно, не известные FASM константы.
Code (Assembler) : Убрать нумерацию
- TOKEN_QUERY_SOURCE = 0x0010
- TOKEN_QUERY = 8h
- TokenElevationType = 18
- TokenElevationTypeDefault = 1
- TokenElevationTypeFull = 2
- TokenElevationTypeLimited = 3
Code (Assembler) : Убрать нумерацию
- invoke GetCurrentProcess
- invoke OpenProcessToken,eax,TOKEN_QUERY,hToken
- invoke GetTokenInformation,[hToken],TokenElevationType,tet,4,dSize
Читать статью целиком »
Просмотров: 565 | Комментариев: 6

Установка двух скринсейверов одновременно
26.03.2021 | Категория: Software | Автор: ManHunter

Установка двух скринсейверов одновременно
Недавно довелось чистить компьютер у хороших знакомых, они где-то словили троян-майнер. На тот момент зловред не определялся антивирусами, но главное не в этом, а в его интересном механизме установки и автозапуска в системе.
Читать статью целиком »
Просмотров: 1714 | Комментариев: 6
