122 lines
2.4 KiB
C
122 lines
2.4 KiB
C
|
//
|
|||
|
//
|
|||
|
//
|
|||
|
|
|||
|
#ifndef _OLECONFIG_
|
|||
|
#define _OLECONFIG_
|
|||
|
|
|||
|
#include <nt.h>
|
|||
|
#include <ntrtl.h>
|
|||
|
#include <nturtl.h>
|
|||
|
#include <ntlsa.h>
|
|||
|
#include <windows.h>
|
|||
|
#include <stdlib.h>
|
|||
|
#include <stdio.h>
|
|||
|
#include <conio.h>
|
|||
|
|
|||
|
#define ENABLE_NETWORK_OLE 1
|
|||
|
#define DEFAULT_LAUNCH_PERMISSION 2
|
|||
|
#define DEFAULT_ACCESS_PERMISSION 3
|
|||
|
#define LEGACY_AUTHENTICATION_LEVEL 4
|
|||
|
|
|||
|
#define GLOBAL_KEYS 4
|
|||
|
|
|||
|
#define MERGE 101
|
|||
|
#define SAVE_USER 102
|
|||
|
#define SAVE_COMMON 103
|
|||
|
|
|||
|
#define GLOBAL_OPERATIONS 103
|
|||
|
|
|||
|
#define INPROC_HANDLER32 1
|
|||
|
#define INPROC_SERVER32 2
|
|||
|
#define LOCAL_SERVER32 3
|
|||
|
#define LOCAL_SERVICE 4
|
|||
|
#define REMOTE_SERVER_NAME 5
|
|||
|
#define RUN_AS 6
|
|||
|
#define ACTIVATE_AT_STORAGE 7
|
|||
|
#define LAUNCH_PERMISSION 8
|
|||
|
#define ACCESS_PERMISSION 9
|
|||
|
|
|||
|
#define CLSID_KEYS 9
|
|||
|
#define CLSID_PATH_KEYS 4
|
|||
|
|
|||
|
#define UNKNOWN 0
|
|||
|
#define END_OF_ARGS -1
|
|||
|
|
|||
|
#define INVALID -1
|
|||
|
#define NO 1
|
|||
|
#define YES 2
|
|||
|
|
|||
|
#define EAT_ARG() Args++; ArgsLeft--;
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
char * Clsid;
|
|||
|
char * ClsidDescription;
|
|||
|
char * ProgId;
|
|||
|
char * ProgIdDescription;
|
|||
|
|
|||
|
int LaunchPermission;
|
|||
|
int AccessPermission;
|
|||
|
int ActivateAtStorage;
|
|||
|
|
|||
|
char * ServerPaths[CLSID_PATH_KEYS+1];
|
|||
|
char * RemoteServerName;
|
|||
|
char * RunAsUserName;
|
|||
|
char * RunAsPassword;
|
|||
|
} CLSID_INFO;
|
|||
|
|
|||
|
extern const char * GlobalKeyNames[];
|
|||
|
extern const char * ClsidKeyNames[];
|
|||
|
|
|||
|
extern int ArgsLeft;
|
|||
|
extern char ** Args;
|
|||
|
extern char * ProgramName;
|
|||
|
|
|||
|
extern HKEY hRegOle;
|
|||
|
extern HKEY hRegClsid;
|
|||
|
|
|||
|
// main.c
|
|||
|
void ParseClsidProgId();
|
|||
|
int NextClsidKey();
|
|||
|
int ReadYesOrNo();
|
|||
|
void DisplayHelp();
|
|||
|
|
|||
|
// oleconfig.c
|
|||
|
BOOL SetGlobalKey(
|
|||
|
int Key,
|
|||
|
int Value );
|
|||
|
|
|||
|
void DisplayGlobalSettings();
|
|||
|
|
|||
|
void DisplayClsidKeys(
|
|||
|
CLSID_INFO * ClsidInfo );
|
|||
|
|
|||
|
void UpdateClsidKeys(
|
|||
|
CLSID_INFO * ClsidInfo );
|
|||
|
|
|||
|
BOOL SetClsidKey(
|
|||
|
HKEY hClsid,
|
|||
|
char * Clsid,
|
|||
|
const char * Key,
|
|||
|
char * Value );
|
|||
|
|
|||
|
BOOL DeleteClsidKey(
|
|||
|
HKEY hClsid,
|
|||
|
char * Clsid,
|
|||
|
const char * Key );
|
|||
|
|
|||
|
void ReadPassword(
|
|||
|
char * Password );
|
|||
|
|
|||
|
BOOL ControlCConsoleHandler(
|
|||
|
DWORD ControlType );
|
|||
|
|
|||
|
void MergeHives( );
|
|||
|
|
|||
|
void SaveChangesToUser( );
|
|||
|
|
|||
|
void SaveChangesToCommon( );
|
|||
|
|
|||
|
#endif
|
|||
|
|