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

Исследование защиты программы Axialis IconWorkshop
18.10.2020 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы Axialis IconWorkshop
Axialis IconWorkshop - мощный графический редактор от известной компании-производителя коммерческих иконок. Предназначен для создания иконок и их редактирования. Множество эффектов, настроек, многооконный режим работы, поддержка библиотек иконок и другие возможности делают этот редактор настоящим профессиональным инструментом для дизайнеров. Всю радость портит только шароварность программы, то есть необходимость выкладывать за нее деньги.
Читать статью целиком »
Просмотров: 2531 | Комментариев: 10

Как добавить иконку щита UAC на кнопку
26.09.2020 | Категория: Образ мышления: Assembler | Автор: ManHunter
Начиная с Windows Vista, в интерфейсе системы на некоторых элементах управления появился значок в виде щита. Он означает, что при взаимодействии с таким элементом у пользователя будут запрошены повышенные права доступа. Если ваша программа выполняет действия, которые требуют повышенных прав, то хорошим тоном будет тоже отмечать специальной иконкой элементы управления, запускающие такие функции. Но совсем не обязательно таскать иконку в ресурсах или в каких-то отдельных файлах, тем более, что на разных системах она выглядит по-разному. Все делается очень просто, достаточно отправить нужной кнопке сообщение BCM_SETSHIELD и система сама дополнит кнопку иконкой щита, принятой в данной версии Windows. Если lParam сообщения равен TRUE, то иконка щита добавляется, а если FALSE, то, соответственно, удаляется.Code (Assembler) : Убрать нумерацию
- BCM_SETSHIELD = 0x160C
- ; Установить иконку на кнопку
- invoke SendDlgItemMessage,[hwnddlg],ID_BTN1,BCM_SETSHIELD,0,TRUE
Code (Assembler) : Убрать нумерацию
- ; Какая-то иконка на кнопке уже есть?
- invoke SendDlgItemMessage,[hwnddlg],ID_BTN1,BM_GETIMAGE,IMAGE_ICON,0
- or eax,eax
- jnz @f
- ; Иконки нет
- ...
- @@:
- ; Иконка есть
- ...
Code (Assembler) : Убрать нумерацию
- IDI_SHIELD = 0x7F06
- ; Загрузить иконку щита
- invoke GetSystemMetrics,SM_CXSMICON
- invoke LoadIconWithScaleDown,0,IDI_SHIELD,eax,eax,hShieldIcon
- ; [hShieldIcon] --> хэндл иконки щита
- ; Установить иконку на кнопку
- invoke SendDlgItemMessage,[hwnddlg],ID_BTN2,BM_SETIMAGE,\
- IMAGE_ICON,[hShieldIcon]
- ; Установить иконку в заголовок окна
- invoke SendMessage,[hwnddlg],WM_SETICON,ICON_SMALL,[hShieldIcon]
- ; Установить иконку на STATIC
- invoke SendDlgItemMessage,[hwnddlg],ID_STAT,STM_SETIMAGE,\
- IMAGE_ICON,[hShieldIcon]
Читать статью целиком »
Просмотров: 1285 | Комментариев: 1

Создание выпадающего списка (Combobox) с иконками
20.08.2019 | Категория: Образ мышления: Assembler | Автор: ManHunter
Ранее я рассказывал, как сделать простой комбобокс. Сейчас давайте усовершенствуем его, а точнее дополним строки списка иконками. Я уже делал подобное с меню, тут принцип точно такой же. К стилям комбобокса в ресурсах добавляется CBS_OWNERDRAWFIXED, что в дальнейшем позволит нам самостоятельно обрабатывать процесс отрисовки каждой строки выпадающего списка. Теорию и принцип работы вы можете почитать по приведенной ссылке, повторяться я не буду. В обработчик окна, в котором находится комбобокс, добавляется реакция на два события - это WM_MEASUREITEM, которое приходит перед отрисовкой строки, и WM_DRAWITEM, при котором мы будем рисовать эту строку.Code (Assembler) : Убрать нумерацию
- cmp [msg],WM_MEASUREITEM
- je wm_measure
- cmp [msg],WM_DRAWITEM
- je wm_drawitem
Code (Assembler) : Убрать нумерацию
- wm_measure:
- ; Отрисовываем строку комбобокса?
- mov ebx,[lparam]
- cmp [ebx+MEASUREITEMSTRUCT.CtlType],ODT_COMBOBOX
- jne processed
- ; Высота строки комбобокса с учетом размера иконки
- mov [ebx+MEASUREITEMSTRUCT.itemHeight],26
- jmp processed
Читать статью целиком »
Просмотров: 1723 | Комментариев: 2

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

Извлечение главной иконки из исполняемого файла
В комментариях к недавней статье про замену главной иконки исполняемого файла задали очень правильный вопрос: как извлечь иконки из ресурсов исполняемого файла? Сегодня я постараюсь подробно рассказать вам, как это делается.
Читать статью целиком »
Просмотров: 2563 | Комментариев: 4

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

Замена главной иконки исполняемого файла
Продолжаем тему иконок. Сегодня разберем способ, как можно заменить главную иконку приложения на другую. Зачем это надо? Например, может возникнуть потребность заменить иконку в неком исполняемом файле на иконку документа Word или PDF ;) Или надо перенести в свежесобранный патч иконку из обрабатываемой им софтины. Или, как в моем случае, вам не нравится оригинальная иконка какого-нибудь приложения и вы хотите поменять ее на что-нибудь свое. Применение этой технологии вы определите для себя сами. Как говорила Масяня в одноименном мультике: "Мое дело подарок подарить, а ты уж думай, что с этой хренью делать".
Читать статью целиком »
Просмотров: 2069 | Комментариев: 2
