Exemplo n.º 1
0
        /// <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;
            }
        }