示例#1
0
文件: Plugin.cs 项目: gtrant/eraser
        public void Initialize(PluginInfo info)
        {
            Settings = new DefaultPluginSettings(info.PersistentStore);

            //Then register the erasure methods et al.
            Host.Instance.ErasureMethods.Add(new Gutmann());                            //35 passes
            Host.Instance.ErasureMethods.Add(new DoD_EcE());                            //7 passes
            Host.Instance.ErasureMethods.Add(new RCMP_TSSIT_OPS_II());                  //7 passes
            Host.Instance.ErasureMethods.Add(new Schneier());                           //7 passes
            Host.Instance.ErasureMethods.Add(new VSITR());                              //7 passes
            Host.Instance.ErasureMethods.Add(new DoD_E());                              //3 passes
            Host.Instance.ErasureMethods.Add(new HMGIS5Enhanced());                     //3 passes
            Host.Instance.ErasureMethods.Add(new USAF5020());                           //3 passes
            Host.Instance.ErasureMethods.Add(new USArmyAR380_19());                     //3 passes
            Host.Instance.ErasureMethods.Add(new GOSTP50739());                         //2 passes
            Host.Instance.ErasureMethods.Add(new HMGIS5Baseline());                     //1 pass
            Host.Instance.ErasureMethods.Add(new Pseudorandom());                       //1 pass
            EraseCustom.RegisterAll();
            Host.Instance.ErasureMethods.Add(new FirstLast16KB());

            Host.Instance.Prngs.Add(new RngCrypto());

            Host.Instance.EntropySources.Add(new KernelEntropySource());

            Host.Instance.FileSystems.Add(new Fat12FileSystem());
            Host.Instance.FileSystems.Add(new Fat16FileSystem());
            Host.Instance.FileSystems.Add(new Fat32FileSystem());
            Host.Instance.FileSystems.Add(new exFatFileSystem());
            Host.Instance.FileSystems.Add(new NtfsFileSystem());

            Host.Instance.ErasureTargetFactories.Add(new FileErasureTarget());
            Host.Instance.ErasureTargetFactories.Add(new FolderErasureTarget());
            Host.Instance.ErasureTargetFactories.Add(new RecycleBinErasureTarget());
            Host.Instance.ErasureTargetFactories.Add(new UnusedSpaceErasureTarget());
            Host.Instance.ErasureTargetFactories.Add(new SecureMoveErasureTarget());
            Host.Instance.ErasureTargetFactories.Add(new DriveErasureTarget());
        }
示例#2
0
 public void Initialize(Host host)
 {
     Settings = new DefaultPluginSettings();
        ErasureMethodManager.Register(new Gutmann());
        ErasureMethodManager.Register(new GutmannLite());
        ErasureMethodManager.Register(new DoD_EcE());
        ErasureMethodManager.Register(new RCMP_TSSIT_OPS_II());
        ErasureMethodManager.Register(new Schneier());
        ErasureMethodManager.Register(new VSITR());
        ErasureMethodManager.Register(new DoD_E());
        ErasureMethodManager.Register(new HMGIS5Enhanced());
        ErasureMethodManager.Register(new USAF5020());
        ErasureMethodManager.Register(new USArmyAR380_19());
        ErasureMethodManager.Register(new GOSTP50739());
        ErasureMethodManager.Register(new HMGIS5Baseline());
        ErasureMethodManager.Register(new Pseudorandom());
        EraseCustom.RegisterAll();
        ErasureMethodManager.Register(new FirstLast16KB());
        PrngManager.Register(new RngCrypto());
        FileSystemManager.Register(new Fat12FileSystem());
        FileSystemManager.Register(new Fat16FileSystem());
        FileSystemManager.Register(new Fat32FileSystem());
        FileSystemManager.Register(new NtfsFileSystem());
 }
示例#3
0
        public SettingsForm()
        {
            InitializeComponent();
            Theming.ApplyTheme(this);

            //Populate the list of erasure passes, except the FL16KB.
            foreach (IErasureMethod method in Host.Instance.ErasureMethods)
            {
                if (method.Guid != typeof(FirstLast16KB).GUID)
                {
                    fl16MethodCmb.Items.Add(method);
                }
            }

            //Load the settings.
            DefaultPluginSettings settings = DefaultPlugin.Settings;

            if (settings.FL16Method != Guid.Empty)
            {
                foreach (object item in fl16MethodCmb.Items)
                {
                    if (((IErasureMethod)item).Guid == settings.FL16Method)
                    {
                        fl16MethodCmb.SelectedItem = item;
                        break;
                    }
                }
            }

            if (fl16MethodCmb.SelectedIndex == -1)
            {
                Guid methodGuid =
                    Host.Instance.Settings.DefaultFileErasureMethod;
                if (methodGuid == typeof(FirstLast16KB).GUID)
                {
                    methodGuid = typeof(Gutmann).GUID;
                }

                foreach (object item in fl16MethodCmb.Items)
                {
                    if (((IErasureMethod)item).Guid == methodGuid)
                    {
                        fl16MethodCmb.SelectedItem = item;
                        break;
                    }
                }
            }

            if (DefaultPlugin.Settings.EraseCustom != null)
            {
                customMethods = new Dictionary <Guid, CustomErasureMethod>(
                    DefaultPlugin.Settings.EraseCustom);

                //Display the whole set on the list.
                foreach (Guid guid in customMethods.Keys)
                {
                    AddMethod(customMethods[guid]);
                }
            }
            else
            {
                customMethods = new Dictionary <Guid, CustomErasureMethod>();
            }
        }