
Быстрый поиск
Введите фрагмент названия статьи для поиска
Исследование защиты программы Icecream Image Resizer
22.09.2022 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы Icecream Image Resizer
Программа Icecream Image Resizer, как можно понять из названия, предназначена для изменения размеров изображений мороженого. Без регистрации за один раз программа может обработать только три файла, что для истинных любителей мороженого очень мало. Так что давайте излечим ее от жадности.
Читать статью целиком »
Просмотров: 1715 | Комментариев: 4
Вывод изображения на Ассемблере с помощью WIC
13.08.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter
На сайте уже есть две статьи про загрузку и вывод изображения с помощью GDI+ и OLE, сегодня расскажу про еще очередной способ загрузки изображений, на этот раз с помощью WIC (Windows Imaging Component). Эта технология позволяет не привязываться к конкретным форматам изображений, а делегировать большую часть рутинной работы системе. Если установлен соответствующий графический кодек и система в принципе может открыть изображение во встроенном Просмотрщике фотографий, значит его можно будет прочитать и при помощи Windows Imaging Component. Например, популярный формат WebP в чистой Windows 7 не открывается, но если поставить кодеки, то все сразу заработает.Переходим к программированию. Поскольку это COM-технология, то нам понадобится описание множества GUID, констант и интерфейсов. Надо ли говорить, что FASM про них ничего не знает? А множество действительно внушительное.
Code (Assembler) : Убрать нумерацию
- ; GUID {CACAF262-9370-4615-A13B-9F5539DA4C0A}
- CLSID_WICImagingFactory dd 0CACAF262h
- dw 09370h
- dw 04615h
- db 0A1h, 03Bh, 09Fh, 055h, 039h, 0DAh, 04Ch, 00Ah
- ; GUID {EC5EC8A9-C395-4314-9C77-54D7A935FF70}
- IID_IWICImagingFactory dd 0EC5EC8A9h
- dw 0C395h
- dw 04314h
- db 09Ch, 077h, 054h, 0D7h, 0A9h, 035h, 0FFh, 070h
- ; IID_IWICImagingFactory Interface
- struct IWICImagingFactory
- ; IUnknown
- QueryInterface dd ? ; 000h
- AddRef dd ? ; 004h
- Release dd ? ; 008h
- ; IWICImagingFactory
- CreateDecoderFromFilename dd ? ; 00Ch
- CreateDecoderFromStream dd ? ; 010h
- CreateDecoderFromFileHandle dd ? ; 014h
- CreateComponentInfo dd ? ; 018h
- CreateDecoder dd ? ; 01Ch
- CreateEncoder dd ? ; 020h
- CreatePalette dd ? ; 024h
- CreateFormatConverter dd ? ; 028h
- CreateBitmapScaler dd ? ; 02Ch
- CreateBitmapClipper dd ? ; 030h
- CreateBitmapFlipRotator dd ? ; 034h
- CreateStream dd ? ; 038h
- CreateColorContext dd ? ; 03Ch
- CreateColorTransformer dd ? ; 040h
- CreateBitmap dd ? ; 044h
- CreateBitmapFromSource dd ? ; 048h
- CreateBitmapFromSourceRect dd ? ; 04Ch
- CreateBitmapFromMemory dd ? ; 050h
- CreateBitmapFromHBITMAP dd ? ; 054h
- CreateBitmapFromHICON dd ? ; 058h
- CreateComponentEnumerator dd ? ; 05Ch
- CreateFastMetadataEncoderFromDecoder dd ? ; 060h
- CreateFastMetadataEncoderFromFrameDecode dd ? ; 064h
- CreateQueryWriter dd ? ; 068h
- CreateQueryWriterFromReader dd ? ; 06Ch
- ends
- ; IID_IWICBitmapDecoder Interface
- struct IWICBitmapDecoder
- ; IUnknown
- QueryInterface dd ? ; 000h
- AddRef dd ? ; 004h
- Release dd ? ; 008h
- ; IWICBitmapDecoder
- QueryCapability dd ? ; 00Ch
- Initialize dd ? ; 010h
- GetContainerFormat dd ? ; 014h
- GetDecoderInfo dd ? ; 018h
- CopyPalette dd ? ; 01Ch
- GetMetadataQueryReader dd ? ; 020h
- GetPreview dd ? ; 024h
- GetColorContexts dd ? ; 028h
- GetThumbnail dd ? ; 02Ch
- GetFrameCount dd ? ; 030h
- GetFrame dd ? ; 034h
- ends
- ; IWICBitmapFrameDecode Interface
- struct IWICBitmapFrameDecode
- ; IUnknown
- QueryInterface dd ? ; 000h
- AddRef dd ? ; 004h
- Release dd ? ; 008h
- ; IWICBitmapFrameDecode
- GetSize dd ? ; 00Ch
- GetPixelFormat dd ? ; 010h
- GetResolution dd ? ; 014h
- CopyPalette dd ? ; 018h
- CopyPixels dd ? ; 01Ch
- GetMetadataQueryReader dd ? ; 020h
- GetColorContexts dd ? ; 024h
- GetThumbnail dd ? ; 028h
- ends
- ; IID_IWICFormatConverter Interface
- struct IWICFormatConverter
- ; IUnknown
- QueryInterface dd ? ; 000h
- AddRef dd ? ; 004h
- Release dd ? ; 008h
- ; IWICFormatConverter
- GetSize dd ? ; 00Ch
- GetPixelFormat dd ? ; 010h
- GetResolution dd ? ; 014h
- CopyPalette dd ? ; 018h
- CopyPixels dd ? ; 01Ch
- Initialize dd ? ; 020h
- CanConvert dd ? ; 024h
- ends
- ; IID_IWICBitmap Interface
- struct IWICBitmap
- ; IUnknown
- QueryInterface dd ? ; 000h
- AddRef dd ? ; 004h
- Release dd ? ; 008h
- ; IWICBitmap
- GetSize dd ? ; 00Ch
- GetPixelFormat dd ? ; 010h
- GetResolution dd ? ; 014h
- CopyPalette dd ? ; 018h
- CopyPixels dd ? ; 01Ch
- Lock dd ? ; 020h
- SetPalette dd ? ; 024h
- SetResolution dd ? ; 028h
- ends
- ; IID_IWICBitmapLock Interface
- struct IWICBitmapLock
- ; IUnknown
- QueryInterface dd ? ; 000h
- AddRef dd ? ; 004h
- Release dd ? ; 008h
- ; IWICBitmapLock
- GetSize dd ? ; 00Ch
- GetStride dd ? ; 010h
- GetDataPointer dd ? ; 014h
- GetPixelFormat dd ? ; 018h
- ends
- ; GUID {6FDDC324-4E03-4BFE-B185-3D77768DC910}
- GUID_WICPixelFormat32bppPBGRA dd 06FDDC324h
- dw 04E03h
- dw 04BFEh
- db 0B1h, 085h, 03Dh, 077h, 076h, 08Dh, 0C9h, 010h
- CLSCTX_INPROC_SERVER = 0x01
- WICBitmapDitherTypeNone = 0x00000000
- WICBitmapPaletteTypeCustom = 0x00000000
- WICBitmapCacheOnDemand = 0x00000001
- WICBitmapLockWrite = 0x00000002
- WICDecodeMetadataCacheOnDemand = 0x00000000
Читать статью целиком »
Просмотров: 1450 | Комментариев: 5
Исследование защиты программы PhotoFiltre Studio
24.07.2022 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы PhotoFiltre Studio
PhotoFiltre Studio - программа для ретуши и редактирования изображений. На борту много разных инструментов для работы с графикой, этакий фотошопчик на минималочках. Зато цена к минимальным значениям точно не относится. Не то, чтобы прямо ощущался дефицит программ для редактирования фотографий, но для тренировки сгодится.
Читать статью целиком »
Просмотров: 1186 | Комментариев: 2
Как добавить просмотр миниатюр SVG в Проводник
19.07.2022 | Категория: Software | Автор: ManHunter

Как добавить просмотр миниатюр SVG в Проводник
Сейчас у меня появилась необходимость работать с достаточно большим объемом картинок в формате SVG, в связи с чем возник целый ряд проблем. Вопрос с просмотром SVG-файлов я для себя уже решил, другие задачи тоже разрулил, но осталось еще одно - отображение превьюшек файлов в Проводнике. Для обычных картинок там создаются соответствующие миниатюры, а для SVG по умолчанию только иконка связанной с ними программы. И, как ни странно, даже в современных системах такой возможности "из коробки" не предусмотрено. Неудобно.
Читать статью целиком »
Просмотров: 5806 | Комментариев: 11
Эффект волнового искажения изображения на PHP
04.06.2022 | Категория: Web-мастеру и не только | Автор: ManHunter

Эффект волнового искажения изображения на PHP
Продолжаем портировать фотошоп на PHP :) Сегодня будет эффект волнового искажения изображения. Его можно использовать для получения красивых надписей, создания шаржей из фотографий друзей, генерации фоновых рисунков и текстур или вообще для производства всякой адовой крипоты в промышленных масштабах.
Читать статью целиком »
Просмотров: 1113 | Комментариев: 6


