Beispiel #1
0
        private static void InitializeDefaults()
        {
            _authList = null;

            _lastSyncTime = DateTime.MinValue;
            _timeOffset   = 0;
            _autoSync     = true;

            _lastSelectedIndex = -1;

            _alwaysOnTop         = false;
            _theme               = "BattleNet";
            _autoCopyToClipboard = false;

            _lastUpdateCheck = DateTime.MinValue;
            _checkForUpdates = true;

            _hotkeyModifiers = SystemHotKey.ModifierKeys.Windows;
            _hotkey          = Keys.Enter;
            _hotkeyEnabled   = true;
        }
Beispiel #2
0
        public static void Load()
        {
            InitializeDefaults();

            if (!File.Exists(SettingsFile))
            {
                return;
            }

            using (BinaryReader binReader = new BinaryReader(File.OpenRead(SettingsFile)))
            {
                string fileHeader = "";

                for (int i = 0; i < 9; i++)
                {
                    fileHeader += binReader.ReadChar();
                }

                if (fileHeader != "WINBMACFG")
                {
                    return;
                }

                int fileVersion = binReader.ReadInt32();

                if (fileVersion > 4)
                {
                    System.Windows.MessageBox.Show("The settings database was created with a newer version of WinBMA. We were unable to load your settings.", "Error", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error);
                    return;
                }

                int numOfAuths = binReader.ReadInt32();

                for (int i = 0; i < numOfAuths; i++)
                {
                    string name         = binReader.ReadString();
                    string serial       = binReader.ReadString();
                    bool?  isRestorable = null;
                    AuthAPI.Security.EncryptionProvider.EncryptionType encType = AuthAPI.Security.EncryptionProvider.EncryptionType.None;
                    int tokenLen = 20;

                    if (fileVersion > 2)
                    {
                        isRestorable = binReader.ReadBoolean();
                        encType      = (AuthAPI.Security.EncryptionProvider.EncryptionType)binReader.ReadByte();
                        tokenLen     = binReader.ReadInt32();
                    }

                    byte[] token = binReader.ReadBytes(tokenLen);

                    Authenticators.Add(new AuthAPI.Authenticator(name, serial, token, isRestorable, encType));
                }

                if (fileVersion < 3)
                {
                    for (int i = 0; i < 2; i++)
                    {
                        DateTime storedLastSync = DateTime.FromBinary(binReader.ReadInt64());
                        Int64    storedOffset   = binReader.ReadInt64();

                        if (storedLastSync > _lastSyncTime)
                        {
                            _lastSyncTime = storedLastSync;
                            _timeOffset   = storedOffset;
                        }
                    }
                }
                else
                {
                    _lastSyncTime = DateTime.FromBinary(binReader.ReadInt64());
                    _timeOffset   = binReader.ReadInt64();
                }

                if (fileVersion == 1)
                {
                    return;
                }

                SelectedAuthenticatorIndex = binReader.ReadInt32();

                if (fileVersion == 2)
                {
                    return;
                }

                _autoSync = binReader.ReadBoolean();

                _alwaysOnTop         = binReader.ReadBoolean();
                _autoCopyToClipboard = binReader.ReadBoolean();
                _theme = binReader.ReadString();

                _checkForUpdates = binReader.ReadBoolean();
                _lastUpdateCheck = DateTime.FromBinary(binReader.ReadInt64());

                if (fileVersion == 3)
                {
                    return;
                }

                _hotkeyEnabled   = binReader.ReadBoolean();
                _hotkeyModifiers = (Utilities.SystemHotKey.ModifierKeys)binReader.ReadByte();
                _hotkey          = (Utilities.Keys)binReader.ReadInt32();
            }
        }
Beispiel #3
0
        private static void InitializeDefaults()
        {
            _authList = null;

            _lastSyncTime = DateTime.MinValue;
            _timeOffset = 0;
            _autoSync = true;

            _lastSelectedIndex = -1;

            _alwaysOnTop = false;
            _theme = "BattleNet";
            _autoCopyToClipboard = false;

            _lastUpdateCheck = DateTime.MinValue;
            _checkForUpdates = true;

            _hotkeyModifiers = SystemHotKey.ModifierKeys.Windows;
            _hotkey = Keys.Enter;
            _hotkeyEnabled = true;
        }
Beispiel #4
0
        public static void Load()
        {
            InitializeDefaults();

            if (!File.Exists(SettingsFile)) return;

            using (BinaryReader binReader = new BinaryReader(File.OpenRead(SettingsFile)))
            {
                string fileHeader = "";

                for (int i = 0; i < 9; i++)
                {
                    fileHeader += binReader.ReadChar();
                }

                if (fileHeader != "WINBMACFG")
                {
                    return;
                }

                int fileVersion = binReader.ReadInt32();

                if (fileVersion > 4)
                {
                    System.Windows.MessageBox.Show("The settings database was created with a newer version of WinBMA. We were unable to load your settings.", "Error", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error);
                    return;
                }

                int numOfAuths = binReader.ReadInt32();

                for (int i = 0; i < numOfAuths; i++)
                {
                    string name = binReader.ReadString();
                    string serial = binReader.ReadString();
                    bool? isRestorable = null;
                    AuthAPI.Security.EncryptionProvider.EncryptionType encType = AuthAPI.Security.EncryptionProvider.EncryptionType.None;
                    int tokenLen = 20;

                    if (fileVersion > 2)
                    {
                        isRestorable = binReader.ReadBoolean();
                        encType = (AuthAPI.Security.EncryptionProvider.EncryptionType)binReader.ReadByte();
                        tokenLen = binReader.ReadInt32();
                    }

                    byte[] token = binReader.ReadBytes(tokenLen);

                    Authenticators.Add(new AuthAPI.Authenticator(name, serial, token, isRestorable, encType));
                }

                if (fileVersion < 3)
                {
                    for (int i = 0; i < 2; i++)
                    {
                        DateTime storedLastSync = DateTime.FromBinary(binReader.ReadInt64());
                        Int64 storedOffset = binReader.ReadInt64();

                        if (storedLastSync > _lastSyncTime)
                        {
                            _lastSyncTime = storedLastSync;
                            _timeOffset = storedOffset;
                        }
                    }
                }
                else
                {
                    _lastSyncTime = DateTime.FromBinary(binReader.ReadInt64());
                    _timeOffset = binReader.ReadInt64();
                }

                if (fileVersion == 1)
                    return;

                SelectedAuthenticatorIndex = binReader.ReadInt32();

                if (fileVersion == 2)
                    return;

                _autoSync = binReader.ReadBoolean();

                _alwaysOnTop = binReader.ReadBoolean();
                _autoCopyToClipboard = binReader.ReadBoolean();
                _theme = binReader.ReadString();

                _checkForUpdates = binReader.ReadBoolean();
                _lastUpdateCheck = DateTime.FromBinary(binReader.ReadInt64());

                if (fileVersion == 3)
                    return;

                _hotkeyEnabled = binReader.ReadBoolean();
                _hotkeyModifiers = (Utilities.SystemHotKey.ModifierKeys)binReader.ReadByte();
                _hotkey = (Utilities.Keys)binReader.ReadInt32();
            }
        }