/// <summary> /// Create a DirectEve object /// </summary> public DirectEve(IFramework framework = null, bool enableStealth = true, bool enableStatisticModifying = false) { _enableStatisticsModifying = enableStatisticModifying; // create an instance of IFramework if (framework != null) { _framework = framework; } else { _framework = new InnerSpaceFramework(); } //#if !NO_DIRECTEVE_SECURITY // try // { // _security = new DirectEveSecurity(this); // Log("-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"); // Log("Starting DirectEve v" + _security.Version); // if (_security.Email != "anonymous") // { // Log("Registered to " + _security.Email); // if (_security.ActiveInstances != -1 && _security.SupportInstances != -1) // Log("You are currently using " + _security.ActiveInstances + " of " + _security.SupportInstances + " support instances"); // } // else // Log("You are using the anonymous license, please consider upgrading to a support license (http://support.thehackerwithin.com)"); // Log("Copyright (c) 2012 - TheHackerWithin"); // Log("http://www.thehackerwithin.com"); // Log("-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"); // } // catch (Exception ex) // { // Log("DirectEve: Exception during license check: " + ex.Message); // throw ex; // } //#endif try { _localSvcCache = new Dictionary <string, PyObject>(); _containers = new Dictionary <long, DirectContainer>(); _lastKnownTargets = new Dictionary <long, DateTime>(); #if DEBUG Log("Registering OnFrame event"); #endif if (enableStealth) { try { Hooks.InitializeHooks(); } catch (Exception ex) { Log("Warning: Failed to initialize stealth hooks: " + ex); } } _framework.RegisterFrameHook(FrameworkOnFrame); } catch (Exception e) { #if DEBUG Log("DirectEve: Debug: Exception after license check: " + e.Message + " stacktrace: " + e.StackTrace); #endif throw; } }