171 lines · 5.1 KB · C
RawDownload
/*  name      ZeroAccess  type      rootkit  cve       —  year      unknown  os        Windows  authors   unknown  source    RamadhanAmizudin/malware  archived  RamadhanAmizudin, krisyotam (2026)  notes     — *//*********************************************************************************  (C) COPYRIGHT AUTHORS, 2016**  TITLE:       GDIP.H**  VERSION:     1.00**  DATE:        18 Jan 2016**  Common header file for GDI+.** THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A* PARTICULAR PURPOSE.********************************************************************************/ #pragma once typedef enum {	GdiplusOk = 0,	GdiplusGenericError = 1,	GdiplusInvalidParameter = 2,	GdiplusOutOfMemory = 3,	GdiplusObjectBusy = 4,	GdiplusInsufficientBuffer = 5,	GdiplusNotImplemented = 6,	GdiplusWin32Error = 7,	GdiplusWrongState = 8,	GdiplusAborted = 9,	GdiplusFileNotFound = 10,	GdiplusValueOverflow = 11,	GdiplusAccessDenied = 12,	GdiplusUnknownImageFormat = 13,	GdiplusFontFamilyNotFound = 14,	GdiplusFontStyleNotFound = 15,	GdiplusNotTrueTypeFont = 16,	GdiplusUnsupportedGdiplusVersion = 17,	GdiplusNotInitialized = 18,	GdiplusPropertyNotFound = 19,	GdiplusPropertyNotSupported = 20,	GdiplusProfileNotFound = 21} GDI_STATUS; typedef struct _GdiplusStartupInput {	UINT32         GdiplusVersion;	PVOID          DebugEventCallback;	BOOL           SuppressBackgroundThread;	BOOL           SuppressExternalCodecs;} GdiplusStartupInput, *PGdiplusStartupInput; typedef struct _GdiplusStartupOutput {	PVOID          NotificationHook;	PVOID          NotificationUnhook;} GdiplusStartupOutput, *PGdiplusStartupOutput; typedef struct _GdiPlusRect {	INT X;	INT Y;	INT Width;	INT Height;} GdiPlusRect, *PGdiPlusRect; typedef struct _GdiPlusBitmapData {	UINT Width;	UINT Height;	INT Stride;	UINT PixelFormat;	VOID* Scan0;	UINT_PTR Reserved;} GdiPlusBitmapData, *PGdiPlusBitmapData; typedef GDI_STATUS(WINAPI *pfnGdiplusStartup)(	_Out_ ULONG_PTR *token,	_In_  const GdiplusStartupInput *input,	_Out_ GdiplusStartupOutput *output	); typedef void (WINAPI *pfnGdiplusShutdown)(	_In_  ULONG_PTR token	); typedef GDI_STATUS(WINAPI *pfnGdipCreateBitmapFromStream)(	IStream* stream,	void **bitmap	); typedef GDI_STATUS(WINAPI *pfnGdipGetImageWidth)(	void *image,	UINT *width	); typedef GDI_STATUS(WINAPI *pfnGdipGetImageHeight)(	void *image,	UINT *height	); typedef GDI_STATUS(WINAPI *pfnGdipDisposeImage)(	void *image	); typedef GDI_STATUS(WINAPI *pfnGdipBitmapLockBits)(	void* bitmap,	CONST GdiPlusRect* rect,	UINT flags,	INT format,	void* lockedBitmapData	); typedef GDI_STATUS(WINAPI *pfnGdipBitmapUnlockBits)(	void* bitmap,	void* lockedBitmapData	); typedef enum{	ImageLockModeRead = 0x0001,	ImageLockModeWrite = 0x0002,	ImageLockModeUserInputBuf = 0x0004} ImageLockMode; #define    PixelFormatIndexed      0x00010000 // Indexes into a palette#define    PixelFormatGDI          0x00020000 // Is a GDI-supported format#define    PixelFormatAlpha        0x00040000 // Has an alpha component#define    PixelFormatPAlpha       0x00080000 // Pre-multiplied alpha#define    PixelFormatExtended     0x00100000 // Extended color 16 bits/channel#define    PixelFormatCanonical    0x00200000 #define    PixelFormatUndefined       0#define    PixelFormatDontCare        0#define    PixelFormat1bppIndexed     (1 | ( 1 << 8) | PixelFormatIndexed | PixelFormatGDI)#define    PixelFormat4bppIndexed     (2 | ( 4 << 8) | PixelFormatIndexed | PixelFormatGDI)#define    PixelFormat8bppIndexed     (3 | ( 8 << 8) | PixelFormatIndexed | PixelFormatGDI)#define    PixelFormat16bppGrayScale  (4 | (16 << 8) | PixelFormatExtended)#define    PixelFormat16bppRGB555     (5 | (16 << 8) | PixelFormatGDI)#define    PixelFormat16bppRGB565     (6 | (16 << 8) | PixelFormatGDI)#define    PixelFormat16bppARGB1555   (7 | (16 << 8) | PixelFormatAlpha | PixelFormatGDI)#define    PixelFormat24bppRGB        (8 | (24 << 8) | PixelFormatGDI)#define    PixelFormat32bppRGB        (9 | (32 << 8) | PixelFormatGDI)#define    PixelFormat32bppARGB       (10 | (32 << 8) | PixelFormatAlpha | PixelFormatGDI | PixelFormatCanonical)#define    PixelFormat32bppPARGB      (11 | (32 << 8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatGDI)#define    PixelFormat48bppRGB        (12 | (48 << 8) | PixelFormatExtended)#define    PixelFormat64bppARGB       (13 | (64 << 8) | PixelFormatAlpha  | PixelFormatCanonical | PixelFormatExtended)#define    PixelFormat64bppPARGB      (14 | (64 << 8) | PixelFormatAlpha  | PixelFormatPAlpha | PixelFormatExtended)#define    PixelFormat32bppCMYK       (15 | (32 << 8))#define    PixelFormatMax             16 pfnGdiplusStartup GdiplusStartup;pfnGdiplusShutdown GdiplusShutdown;pfnGdipCreateBitmapFromStream GdipCreateBitmapFromStream;pfnGdipDisposeImage GdipDisposeImage;pfnGdipGetImageWidth GdipGetImageWidth;pfnGdipGetImageHeight GdipGetImageHeight;pfnGdipBitmapLockBits GdipBitmapLockBits;pfnGdipBitmapUnlockBits GdipBitmapUnlockBits; BOOL SfInitGdiPlus(	VOID	);