コード例 #1
0
ファイル: Program.cs プロジェクト: Simonvdh/Tanji
        private static void UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            var exception = (Exception)e.ExceptionObject;

            MessageBox.Show($"Message: {exception.Message}\r\n\r\n{exception.StackTrace.Trim()}",
                            "Tanji ~ Critical Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);

            if (e.IsTerminating)
            {
                Eavesdropper.Terminate();
                HConnection.RestoreHosts();
            }
        }
コード例 #2
0
        private void DoConnectCleanup()
        {
            IsConnecting    = false;
            ConnectBtn.Text = "Connect";
            StatusTxt.StopDotAnimation("Standing By...");
            GameHostTxt.ReadOnly = GamePortTxt.ReadOnly = !ModePnl.IsManual;
            ModePnl.Enabled      = !(ExponentTxt.ReadOnly = ModulusTxt.ReadOnly = false);

            Eavesdropper.Terminate();
            HConnection.RestoreHosts();
            Eavesdropper.EavesdropperRequest  -= InjectClient;
            Eavesdropper.EavesdropperResponse -= ReplaceClient;
            Eavesdropper.EavesdropperResponse -= ExtractHostPort;
        }
コード例 #3
0
ファイル: App.xaml.cs プロジェクト: Nestor/Tanji-1
        public App()
        {
            _haltables     = new List <IHaltable>();
            _synchronizers = new List <ISynchronizer>();
            _receivers     = new SortedList <int, IReceiver>();

            DispatcherUnhandledException += UnhandledException;

            GameData   = new HGameData();
            Connection = new HConnection();

            Connection.Connected    += Connected;
            Connection.DataOutgoing += HandleData;
            Connection.DataIncoming += HandleData;
            Connection.Disconnected += Disconnected;
        }
コード例 #4
0
        public Program()
        {
            Eavesdropper.Terminate();
            Eavesdropper.Certifier = new CertificateManager("HabboGallery", "HabboGallery Root Certificate");

            DataDirectory    = CreateDataDirectory();
            ProgramDirectory = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory);

            _configPath = Path.Combine(DataDirectory.FullName, "config.json");

            Resources     = new HGResources();
            Configuration = HGConfiguration.Create(_configPath);

            Api = new ApiClient(new Uri(Constants.BASE_URL));

            GameData   = new HGameData();
            Connection = new HConnection();
        }
コード例 #5
0
        public MainFrm()
        {
            InitializeComponent();

            _connected    = Connected;
            _disconnected = Disconnected;
            _haltables    = new List <IHaltable>();
            _receivers    = new List <IReceiver>();
            _actions      = new Dictionary <Keys, Action>();
            _avatarCache  = new Dictionary <string, Bitmap>();
            _userCache    = new Dictionary <HHotel, Dictionary <string, HUser> >();

            In                       = new Incoming();
            Out                      = new Outgoing();
            GameData                 = new HGameData();
            Connection               = new HConnection();
            Connection.Connected    += Connected;
            Connection.DataOutgoing += HandleData;
            Connection.DataIncoming += HandleData;
            Connection.Disconnected += Disconnected;

            Hook = new KeyboardHook();
            Hook.HotkeyActivated += Hook_HotkeyActivated;

            ConnectionPg = new ConnectionPage(this, ConnectionTab);
            InjectionPg  = new InjectionPage(this, InjectionTab);
            ToolboxPg    = new ToolboxPage(this, ToolboxTab);
            ModulesPg    = new ModulesPage(this, ModulesTab);
            AboutPg      = new AboutPage(this, AboutTab);

            PacketLoggerUI = new PacketLoggerFrm(this);

            _haltables.Add(ModulesPg);
            _haltables.Add(PacketLoggerUI);
            _haltables.Add(InjectionPg.FiltersPg);
            _haltables.Add(InjectionPg.SchedulerPg);

            _receivers.Add(ModulesPg);
            _receivers.Add(InjectionPg.FiltersPg);
            _receivers.Add(ConnectionPg);
            _receivers.Add(PacketLoggerUI);

            Connection.ListenPort = (int)Program.Settings["ConnectionListenPort"];
        }
コード例 #6
0
        static void Main()
        {
            Eavesdropper.Terminate();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var windowsPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());

            if (!windowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator))
            {
                MessageBox.Show("Tanji must be ran with administrative privileges.",
                                "Tanji ~ Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                HConnection.RestoreHosts();
                Application.Run(new MainFrm());
            }
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: Prixm/Tanji
        static void Main()
        {
            Eavesdropper.Terminate();
            var windowsPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());

            if (!windowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator))
            {
                using (var tanjiProcess = new Process())
                {
                    tanjiProcess.StartInfo.Verb            = "runas";
                    tanjiProcess.StartInfo.FileName        = "Tanji.exe";
                    tanjiProcess.StartInfo.UseShellExecute = true;
                    tanjiProcess.Start();
                }
            }
            else
            {
                HConnection.RestoreHosts();
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new MainFrm());
            }
        }
コード例 #8
0
        public Program()
        {
            _haltables     = new List <IHaltable>();
            _receivers     = new SortedList <int, IReceiver>();
            _hotkeyActions = new Dictionary <Keys, Action>();

            GameData = new HGameData();

            Connection               = new HConnection();
            Connection.Connected    += Connected;
            Connection.DataOutgoing += HandleData;
            Connection.DataIncoming += HandleData;
            Connection.Disconnected += Disconnected;

            Hook = new KeyboardHook();
            Hook.HotkeyPressed += HotkeyPressed;

            Config = new TConfiguration();

            Eavesdropper.Terminate();
            Eavesdropper.Certifier = new CertificateManager("Tanji", "Tanji Certificate Authority");
            Eavesdropper.Overrides.AddRange(Config.ProxyOverrides);
        }
コード例 #9
0
        public MainFrm()
        {
            InitializeComponent();

            _connected    = Connected;
            _disconnected = Disconnected;
            _services     = new List <ITanjiService>();
            _toRemoveList = new List <IDataHandler>();
            _dataHandlers = new List <IDataHandler>();

            Connection               = new HConnection();
            Connection.Connected    += Connected;
            Connection.Disconnected += Disconnected;
            Connection.DataOutgoing += DataOutgoing;
            Connection.DataIncoming += DataIncoming;

            AboutPg      = new AboutPage(this, AboutTab);
            ToolboxPg    = new ToolboxPage(this, ToolboxTab);
            InjectionPg  = new InjectionPage(this, InjectionTab);
            ExtensionsPg = new ExtensionsPage(this, ExtensionsTab);
            ConnectionPg = new ConnectionPage(this, ConnectionTab);

            PacketLoggerUI = new PacketLoggerFrm(this);
        }
コード例 #10
0
 public HandshakeManager(HConnection connection)
 {
     _connection = connection;
 }