UACME/Source/Akagi/global.h

111 lines
3.0 KiB
C
Raw Normal View History

2015-03-28 12:00:29 +00:00
/*******************************************************************************
*
* (C) COPYRIGHT AUTHORS, 2014 - 2016
2015-03-28 12:00:29 +00:00
*
* TITLE: GLOBAL.H
*
* VERSION: 2.10
2015-03-28 12:00:29 +00:00
*
* DATE: 16 Apr 2016
2015-03-28 12:00:29 +00:00
*
* Common header file for the program support routines.
*
* 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
#if !defined UNICODE
#error ANSI build is not supported
#endif
#if (_MSC_VER >= 1900)
#ifdef _DEBUG
#pragma comment(lib, "vcruntimed.lib")
#pragma comment(lib, "ucrtd.lib")
#else
#pragma comment(lib, "libvcruntime.lib")
#endif
#endif
2015-03-28 12:00:29 +00:00
//disable nonmeaningful warnings.
#pragma warning(disable: 4005) // macro redefinition
#pragma warning(disable: 4055) // %s : from data pointer %s to function pointer %s
#pragma warning(disable: 4152) // nonstandard extension, function/data pointer conversion in expression
#pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union
#pragma warning(disable: 6102) // Using %s from failed function call at line %u
#pragma warning(disable: 6320) // exception-filter expression is the constant EXCEPTION_EXECUTE_HANDLER
2015-03-28 12:00:29 +00:00
#define GENERATE_COMPRESSED_PAYLOAD
#ifndef _DEBUG
#undef GENERATE_COMPRESSED_PAYLOAD
#endif
#ifdef _WIN64
#include "bin64res.h"
#define FUBUKI_ID IDR_FUBUKI64
#define HIBIKI_ID IDR_HIBIKI64
#define KONGOU_ID IDR_KONGOU64
#else
#include "bin32res.h"
#define FUBUKI_ID IDR_FUBUKI32
#define HIBIKI_ID IDR_HIBIKI32
#define KONGOU_ID IDR_KONGOU32
#endif
typedef enum _UACBYPASSMETHOD {
UacMethodSysprep1 = 1,
UacMethodSysprep2,
UacMethodOobe,
UacMethodRedirectExe,
UacMethodSimda,
UacMethodCarberp1,
UacMethodCarberp2,
UacMethodTilon,
UacMethodAVrf,
UacMethodWinsat,
UacMethodShimPatch,
UacMethodSysprep3,
UacMethodMMC,
UacMethodSirefef,
UacMethodGeneric,
UacMethodGWX,
UacMethodSysprep4,
UacMethodMax
} UACBYPASSMETHOD;
2015-03-28 12:00:29 +00:00
#include <Windows.h>
#include <ntstatus.h>
#include "..\shared\ntos.h"
#include "..\shared\minirtl.h"
#include "..\Shared\cmdline.h"
#include "..\Shared\_filename.h"
#include "consts.h"
#include "compress.h"
2015-03-28 12:00:29 +00:00
#include "sup.h"
#include "pitou.h"
#include "gootkit.h"
#include "simda.h"
#include "carberp.h"
#include "hybrids.h"
typedef struct _UACME_CONTEXT {
BOOL IsWow64;
UACBYPASSMETHOD Method;
PPEB Peb;
HINSTANCE hKernel32;
HINSTANCE hOle32;
HINSTANCE hShell32;
PVOID PayloadDll;
ULONG PayloadDllSize;
ULONG dwBuildNumber;
WCHAR szSystemDirectory[MAX_PATH + 1];//with end slash
WCHAR szTempDirectory[MAX_PATH + 1]; //with end slash
} UACMECONTEXT, *PUACMECONTEXT;
extern UACMECONTEXT g_ctx;