예제 #1
0
		public DeobfuscatorInfo()
			: base(DEFAULT_REGEX) {
			removeTamperProtection = new BoolOption(null, MakeArgName("tamper"), "Remove tamper protection code", true);
			decryptConstants = new BoolOption(null, MakeArgName("consts"), "Decrypt constants", true);
			inlineMethods = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
			fixLdnull = new BoolOption(null, MakeArgName("ldnull"), "Restore ldnull instructions", true);
		}
예제 #2
0
		public DeobfuscatorInfo()
			: base(DEFAULT_REGEX) {
			removeTamperProtection = new BoolOption(null, MakeArgName("tamper"), "Remove tamper protection code", true);
			decryptConstants = new BoolOption(null, MakeArgName("consts"), "Decrypt constants", true);
			inlineMethods = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
			fixLdnull = new BoolOption(null, MakeArgName("ldnull"), "Restore ldnull instructions", true);
		}
예제 #3
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     removeAntiDebug = new BoolOption(null, MakeArgName("antidb"), "Remove anti debug code", true);
     removeAntiDump  = new BoolOption(null, MakeArgName("antidump"), "Remove anti dump code", true);
     decryptMainAsm  = new BoolOption(null, MakeArgName("decrypt-main"), "Decrypt main embedded assembly", true);
 }
예제 #4
0
        public async void OptionCheckedAsync(BoolOption newOption)
        {
            using (_isBusy.BusyMode)
            {
                // Because i dont want user to shift between two options till 'Yes' will be pressed...
                if (newOption != _lastFallbackedOption)
                {
                    var doChange = await UserInteracting.RequestAcknowledgementAsync("Смена длительности импульса", "Данные предыдущих замеров будут стерты.-NL-NLПродолжить?");

                    if (doChange)
                    {
                        _calibrator.DiscardShockCalibration();
                        _lastFallbackedOption = null;
                    }
                    else
                    {
                        newOption.IsChecked              = false;
                        _lastFallbackedOption            = _previousCheckedOption;
                        _previousCheckedOption.IsChecked = true; // this line triggers method to run again, so it should be the last
                    }

                    _previousCheckedOption = ImpulseDurations.Single(o => o.IsChecked);
                }
            }
        }
예제 #5
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     decryptMethods = new BoolOption(null, makeArgName("methods"), "Decrypt methods", true);
     decryptResources = new BoolOption(null, makeArgName("rsrc"), "Decrypt resources", true);
     removeStackFrameHelper = new BoolOption(null, makeArgName("stack"), "Remove all StackFrameHelper code", true);
 }
예제 #6
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     removeAutomatedErrorReporting = new BoolOption(null, MakeArgName("error"), "Remove automated error reporting code", true);
     removeTamperProtection        = new BoolOption(null, MakeArgName("tamper"), "Remove tamper protection code", true);
     removeMemoryManager           = new BoolOption(null, MakeArgName("memory"), "Remove memory manager code", true);
 }
예제 #7
0
 public DeobfuscatorInfo()
     : base()
 {
     removeAutomatedErrorReporting = new BoolOption(null, makeArgName("error"), "Remove automated error reporting code", true);
     removeTamperProtection = new BoolOption(null, makeArgName("tamper"), "Remove tamper protection code", true);
     removeMemoryManager = new BoolOption(null, makeArgName("memory"), "Remove memory manager code", true);
 }
예제 #8
0
		public DeobfuscatorInfo()
			: base(DEFAULT_REGEX) {
			inlineMethods = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
			removeInlinedMethods = new BoolOption(null, MakeArgName("remove-inlined"), "Remove inlined methods", true);
			removeNamespaces = new BoolOption(null, MakeArgName("ns1"), "Clear namespace if there's only one class in it", true);
			restoreResourceNames = new BoolOption(null, MakeArgName("rsrc"), "Restore resource names", true);
		}
예제 #9
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     decryptMethods         = new BoolOption(null, makeArgName("methods"), "Decrypt methods", true);
     decryptResources       = new BoolOption(null, makeArgName("rsrc"), "Decrypt resources", true);
     removeStackFrameHelper = new BoolOption(null, makeArgName("stack"), "Remove all StackFrameHelper code", true);
     restoreVmCode          = new BoolOption(null, makeArgName("vm"), "Restore VM code", true);
 }
예제 #10
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     inlineMethods        = new BoolOption(null, makeArgName("inline"), "Inline short methods", true);
     removeInlinedMethods = new BoolOption(null, makeArgName("remove-inlined"), "Remove inlined methods", true);
     removeNamespaces     = new BoolOption(null, makeArgName("ns1"), "Clear namespace if there's only one class in it", true);
     restoreResourceNames = new BoolOption(null, makeArgName("rsrc"), "Restore resource names", true);
 }
예제 #11
0
 public DeobfuscatorInfo()
     : base()
 {
     decryptMethods         = new BoolOption(null, makeArgName("methods"), "Decrypt methods", true);
     decryptResources       = new BoolOption(null, makeArgName("rsrc"), "Decrypt resources", true);
     decryptConstants       = new BoolOption(null, makeArgName("consts"), "Decrypt constants and arrays", true);
     dumpEmbeddedAssemblies = new BoolOption(null, makeArgName("embedded"), "Dump embedded assemblies", true);
 }
예제 #12
0
 public DeobfuscatorInfo()
     : base()
 {
     decryptMethods = new BoolOption(null, makeArgName("methods"), "Decrypt methods", true);
     decryptResources = new BoolOption(null, makeArgName("rsrc"), "Decrypt resources", true);
     decryptConstants = new BoolOption(null, makeArgName("consts"), "Decrypt constants and arrays", true);
     dumpEmbeddedAssemblies = new BoolOption(null, makeArgName("embedded"), "Dump embedded assemblies", true);
 }
예제 #13
0
		public DeobfuscatorInfo()
			: base(DEFAULT_REGEX) {
			decryptMethods = new BoolOption(null, MakeArgName("methods"), "Decrypt methods", true);
			decryptResources = new BoolOption(null, MakeArgName("rsrc"), "Decrypt resources", true);
			removeStackFrameHelper = new BoolOption(null, MakeArgName("stack"), "Remove all StackFrameHelper code", true);
			restoreVmCode = new BoolOption(null, MakeArgName("vm"), "Restore VM code", true);
			setInitLocals = new BoolOption(null, MakeArgName("initlocals"), "Set initlocals in method header", true);
		}
예제 #14
0
		public DeobfuscatorInfo()
			: base(DEFAULT_REGEX) {
			restoreTypes = new BoolOption(null, MakeArgName("types"), "Restore types (object -> real type)", true);
			inlineMethods = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
			removeInlinedMethods = new BoolOption(null, MakeArgName("remove-inlined"), "Remove inlined methods", true);
			removeNamespaces = new BoolOption(null, MakeArgName("ns1"), "Clear namespace if there's only one class in it", true);
			removeAntiStrongName = new BoolOption(null, MakeArgName("sn"), "Remove anti strong name code", true);
		}
예제 #15
0
		public DeobfuscatorInfo()
			: base(DEFAULT_REGEX) {
			inlineMethods = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
			removeInlinedMethods = new BoolOption(null, MakeArgName("remove-inlined"), "Remove inlined methods", true);
			restoreLocals = new BoolOption(null, MakeArgName("locals"), "Restore locals", true);
			decryptIntegers = new BoolOption(null, MakeArgName("ints"), "Decrypt integers", true);
			decryptArrays = new BoolOption(null, MakeArgName("arrays"), "Decrypt arrays", true);
			removeAntiStrongName = new BoolOption(null, MakeArgName("sn"), "Remove anti strong name code", true);
		}
예제 #16
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     restoreTypes         = new BoolOption(null, MakeArgName("types"), "Restore types (object -> real type)", true);
     inlineMethods        = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
     removeInlinedMethods = new BoolOption(null, MakeArgName("remove-inlined"), "Remove inlined methods", true);
     removeNamespaces     = new BoolOption(null, MakeArgName("ns1"), "Clear namespace if there's only one class in it", true);
     removeAntiStrongName = new BoolOption(null, MakeArgName("sn"), "Remove anti strong name code", true);
 }
예제 #17
0
		public DeobfuscatorInfo()
			: base(DEFAULT_REGEX) {
			inlineMethods = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
			removeInlinedMethods = new BoolOption(null, MakeArgName("remove-inlined"), "Remove inlined methods", true);
			decryptMethods = new BoolOption(null, MakeArgName("methods"), "Decrypt methods", true);
			decryptResources = new BoolOption(null, MakeArgName("rsrc"), "Decrypt resources", true);
			decryptConstants = new BoolOption(null, MakeArgName("consts"), "Decrypt constants and arrays", true);
			dumpEmbeddedAssemblies = new BoolOption(null, MakeArgName("embedded"), "Dump embedded assemblies", true);
		}
예제 #18
0
 public DeobfuscatorInfo()
     : base()
 {
     inlineMethods          = new BoolOption(null, makeArgName("inline"), "Inline short methods", true);
     removeInlinedMethods   = new BoolOption(null, makeArgName("remove-inlined"), "Remove inlined methods", true);
     decryptResources       = new BoolOption(null, makeArgName("rsrc"), "Decrypt resources", true);
     dumpEmbeddedAssemblies = new BoolOption(null, makeArgName("embedded"), "Dump embedded assemblies", true);
     restoreFields          = new BoolOption(null, makeArgName("fields"), "Restore fields", true);
 }
예제 #19
0
 public DeobfuscatorInfo()
     : base()
 {
     inlineMethods = new BoolOption(null, makeArgName("inline"), "Inline short methods", true);
     removeInlinedMethods = new BoolOption(null, makeArgName("remove-inlined"), "Remove inlined methods", true);
     decryptResources = new BoolOption(null, makeArgName("rsrc"), "Decrypt resources", true);
     dumpEmbeddedAssemblies = new BoolOption(null, makeArgName("embedded"), "Dump embedded assemblies", true);
     restoreFields = new BoolOption(null, makeArgName("fields"), "Restore fields", true);
 }
예제 #20
0
        public ChangeNumberingProvider(RenderingSetModel rsm, ChangeTypesVisible ctv)
        {
            _ctv = ctv;
            _showOpt = rsm.FindOption("ShowChangeNumbers") as BoolOption;
            _beforeOpt = rsm.FindOption("ShowChangeNumbersBeforeChange") as BoolOption;

            _showOpt.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(_opt_PropertyChanged);
            _beforeOpt.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(_opt_PropertyChanged);
            _ctv.ChangeTypeVisibilityChanged += new EventHandler(_ctv_ChangeTypeVisibilityChanged);
        }
예제 #21
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     inlineMethods          = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
     removeInlinedMethods   = new BoolOption(null, MakeArgName("remove-inlined"), "Remove inlined methods", true);
     decryptMethods         = new BoolOption(null, MakeArgName("methods"), "Decrypt methods", true);
     decryptResources       = new BoolOption(null, MakeArgName("rsrc"), "Decrypt resources", true);
     decryptConstants       = new BoolOption(null, MakeArgName("consts"), "Decrypt constants and arrays", true);
     dumpEmbeddedAssemblies = new BoolOption(null, MakeArgName("embedded"), "Dump embedded assemblies", true);
 }
예제 #22
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     inlineMethods        = new BoolOption(null, makeArgName("inline"), "Inline short methods", true);
     removeInlinedMethods = new BoolOption(null, makeArgName("remove-inlined"), "Remove inlined methods", true);
     restoreLocals        = new BoolOption(null, makeArgName("locals"), "Restore locals", true);
     decryptIntegers      = new BoolOption(null, makeArgName("ints"), "Decrypt integers", true);
     decryptArrays        = new BoolOption(null, makeArgName("arrays"), "Decrypt arrays", true);
     removeAntiStrongName = new BoolOption(null, makeArgName("sn"), "Remove anti strong name code", true);
 }
예제 #23
0
		public DeobfuscatorInfo()
			: base(DEFAULT_REGEX) {
			inlineMethods = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
			removeInlinedMethods = new BoolOption(null, MakeArgName("remove-inlined"), "Remove inlined methods", true);
			decryptResources = new BoolOption(null, MakeArgName("rsrc"), "Decrypt resources", true);
			dumpEmbeddedAssemblies = new BoolOption(null, MakeArgName("embedded"), "Dump embedded assemblies", true);
			restoreFields = new BoolOption(null, MakeArgName("fields"), "Restore fields", true);
			renameResourceKeys = new BoolOption(null, MakeArgName("keys"), "Rename resource keys", true);
			castDeobfuscation = new BoolOption(null, MakeArgName("casts"), "Deobfuscate casts", true);
		}
예제 #24
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     inlineMethods          = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
     removeInlinedMethods   = new BoolOption(null, MakeArgName("remove-inlined"), "Remove inlined methods", true);
     decryptResources       = new BoolOption(null, MakeArgName("rsrc"), "Decrypt resources", true);
     dumpEmbeddedAssemblies = new BoolOption(null, MakeArgName("embedded"), "Dump embedded assemblies", true);
     restoreFields          = new BoolOption(null, MakeArgName("fields"), "Restore fields", true);
     renameResourceKeys     = new BoolOption(null, MakeArgName("keys"), "Rename resource keys", true);
     castDeobfuscation      = new BoolOption(null, MakeArgName("casts"), "Deobfuscate casts", true);
 }
예제 #25
0
        public DeletedTextPreview(string changedText, RenderingSetModel rsm, ChangeTypesVisible ctsbt, 
            string foregroundProp, string backgroundProp, string formatProp, string surroundProp, ChangeNumberingProvider cnp, int baseChangeNum, ChangeTypes changeType) :
            base (changedText, rsm, ctsbt, foregroundProp, backgroundProp, formatProp, surroundProp, cnp, baseChangeNum, changeType)
        {
            _singleCharProp = rsm.FindOption("DeletedTextReplaceWithSingleChar") as BoolOption;
            _charProp = rsm.FindOption("DeletedTextReplaceChar") as CharacterOption;

            _charProp.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(opt_PropertyChanged);
            _singleCharProp.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(opt_PropertyChanged);
            SetupChangeText();
        }
예제 #26
0
        public static void Initialize(string[] args, string configPath)
        {
            if (configPath != null)
            {
                LoadConfigFile(configPath);
            }
            else
            {
                // needed because these options dosn't get reset to false from args
                // (when false, it is missing in args and ParseArguments will leave it unchanged)
                // (when true, it is in args and ParseArguments will set it to true)
                foreach (Option o in options)
                {
                    if (o.GetType() == typeof(BoolOption))
                    {
                        BoolOption bo = (BoolOption)o;
                        bo.SetValue("false");
                    }
                }
            }
            if (args != null)
            {
                if (args.Length != 0)
                {
                    ParseArguments(args);
                }
            }

            if (UseCaseFixer == true)
            {
                if (DBServer == string.Empty || DBSchema == string.Empty || DBUser == string.Empty || DBPasswd == string.Empty)
                {
                    Console.WriteLine(String.Format(ResStr.MSG_SERVER_PARAMETER_MISSING));
                    if (DBServer == string.Empty)
                    {
                        Console.WriteLine(String.Format(ResStr.MSG_SERVER_DBSERVER_MISSING));
                    }
                    if (DBSchema == string.Empty)
                    {
                        Console.WriteLine(String.Format(ResStr.MSG_SERVER_DBSCHEMA_MISSING));
                    }
                    if (DBUser == string.Empty)
                    {
                        Console.WriteLine(String.Format(ResStr.MSG_SERVER_DBUSER_MISSING));
                    }
                    if (DBPasswd == string.Empty)
                    {
                        Console.WriteLine(String.Format(ResStr.MSG_SERVER_DBPASSWD_MISSING));
                    }
                }
            }
        }
예제 #27
0
		public DeobfuscatorInfo()
			: base(DEFAULT_REGEX) {
			decryptMethods = new BoolOption(null, MakeArgName("methods"), "Decrypt methods", true);
			decryptBools = new BoolOption(null, MakeArgName("bools"), "Decrypt booleans", true);
			restoreTypes = new BoolOption(null, MakeArgName("types"), "Restore types (object -> real type)", true);
			inlineMethods = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
			removeInlinedMethods = new BoolOption(null, MakeArgName("remove-inlined"), "Remove inlined methods", true);
			dumpEmbeddedAssemblies = new BoolOption(null, MakeArgName("embedded"), "Dump embedded assemblies", true);
			decryptResources = new BoolOption(null, MakeArgName("rsrc"), "Decrypt resources", true);
			removeNamespaces = new BoolOption(null, MakeArgName("ns1"), "Clear namespace if there's only one class in it", true);
			removeAntiStrongName = new BoolOption(null, MakeArgName("sn"), "Remove anti strong name code", true);
			renameShort = new BoolOption(null, MakeArgName("sname"), "Rename short names", false);
		}
예제 #28
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     decryptMethods         = new BoolOption(null, makeArgName("methods"), "Decrypt methods", true);
     decryptBools           = new BoolOption(null, makeArgName("bools"), "Decrypt booleans", true);
     restoreTypes           = new BoolOption(null, makeArgName("types"), "Restore types (object -> real type)", true);
     inlineMethods          = new BoolOption(null, makeArgName("inline"), "Inline short methods", true);
     removeInlinedMethods   = new BoolOption(null, makeArgName("remove-inlined"), "Remove inlined methods", true);
     dumpEmbeddedAssemblies = new BoolOption(null, makeArgName("embedded"), "Dump embedded assemblies", true);
     decryptResources       = new BoolOption(null, makeArgName("rsrc"), "Decrypt resources", true);
     removeNamespaces       = new BoolOption(null, makeArgName("ns1"), "Clear namespace if there's only one class in it", true);
     removeAntiStrongName   = new BoolOption(null, makeArgName("sn"), "Remove anti strong name code", true);
 }
예제 #29
0
        public ChangeTypesVisible(RenderingSetModel set)
        {
            _showMoves = set.FindOption("MovedTextShow") as BoolOption;
            _showFontChanges = set.FindOption("FontChangeShow") as BoolOption;
            _showParaStyleChanges = set.FindOption("ShowParagraphStyleChanges") as BoolOption;
            _showCharStyleChanges = set.FindOption("ShowCharacterStyleChanges") as BoolOption;
            
                

            _showMoves.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(opt_PropertyChanged);
            _showFontChanges.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(opt_PropertyChanged);
            _showParaStyleChanges.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(opt_PropertyChanged);
            _showCharStyleChanges.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(opt_PropertyChanged);
        }
예제 #30
0
        public DMSEnableOption(string displayName, BoolOption enableOption, StringOption defaultOption) 
        {
            DisplayName = displayName;
            Name = displayName;

            _enableOption = enableOption;
            _enableOption.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(_enableOption_PropertyChanged);

            _defaultOption = defaultOption;
            _defaultOption.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(_defaultOption_PropertyChanged);
            CanBecomeDefault = Value && !IsDefault;

			Deploy = false;
        }
예제 #31
0
        internal void ResetOptions()
        {
            AcrossLev = BoolOption.Dontcare;

            Date = new Range <DateTime>(DateTime.MinValue,
                                        DateTime.MaxValue);

            Finished           = BoolOption.Dontcare;
            InternalRec        = BoolOption.Dontcare;
            LevExists          = BoolOption.Dontcare;
            LevFilenameMatcher = new Regex("");
            MultiPlayer        = BoolOption.Dontcare;
            P1Bounds           = new PlayerBounds();
            P2Bounds           = new PlayerBounds();

            Size     = new Range <int>(0, 10000000);
            Time     = new Range <double>(0, 7200);
            WrongLev = BoolOption.Dontcare;
        }
예제 #32
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     dumpEmbeddedAssemblies = new BoolOption(null, MakeArgName("embedded"), "Dump embedded assemblies", true);
 }
예제 #33
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     dumpEmbeddedAssemblies = new BoolOption(null, makeArgName("embedded"), "Dump embedded assemblies", true);
     decryptMainAsm = new BoolOption(null, makeArgName("decrypt-main"), "Decrypt main embedded assembly", true);
 }
예제 #34
0
		private static IOption CreateShellOptionInternal(Category shellSubCategory, OptionDefType uiOption,
		                                                 string defaultValue)
		{
			IOption shellOption = null;
			string s = !string.IsNullOrEmpty(string.Concat(uiOption.Text)) ? string.Concat(uiOption.Text) : defaultValue;

			if (string.IsNullOrEmpty(s))
			{
				s = string.Empty;
			}

			bool canOverride = uiOption.IsOverrideAllowed;
			switch (uiOption.DataType)
			{
				case OptionDataTypeEnum.Boolean:
					{
						bool val = GetBool(s);
						shellOption = new BoolOption(uiOption.Name, val, val, canOverride)
						              	{
						              		DisplayName = uiOption.DisplayText,
						              		Description = uiOption.DisplayText,
						              		Category = shellSubCategory == null ? null : shellSubCategory.Parent,
						              		SubCategory = shellSubCategory
						              	};
						break;
					}
				case OptionDataTypeEnum.Integer:
					{
						int val = GetInt(s);
						shellOption = new IntegerOption(uiOption.Name, val, val, canOverride)
						              	{
						              		DisplayName = uiOption.DisplayText,
						              		Description = uiOption.DisplayText,
						              		Category = shellSubCategory == null ? null : shellSubCategory.Parent,
						              		SubCategory = shellSubCategory
						              	};
						break;
					}
				case OptionDataTypeEnum.String:
					{
						if (uiOption.Encrypted)
						{
							shellOption = new EncryptionOption(uiOption.Name, s, s, canOverride)
							              	{
							              		DisplayName = uiOption.DisplayText,
							              		Description = uiOption.DisplayText,
							              		Category = shellSubCategory == null ? null : shellSubCategory.Parent,
							              		SubCategory = shellSubCategory
							              	};
						}
						else
						{
							shellOption = new StringOption(uiOption.Name, s, s, canOverride)
							              	{
							              		DisplayName = uiOption.DisplayText,
							              		Description = uiOption.DisplayText,
							              		Category = shellSubCategory == null ? null : shellSubCategory.Parent,
							              		SubCategory = shellSubCategory,
							              		IsPrimaryKey = uiOption.IsPrimaryKey
							              	};
						}
						break;
					}
				case OptionDataTypeEnum.Color:
					{
						var val = GetColor(s);
						shellOption = new ColorOption(uiOption.Name, val, val, canOverride)
						              	{
						              		DisplayName = uiOption.DisplayText,
						              		Description = uiOption.DisplayText,
						              		Category = shellSubCategory == null ? null : shellSubCategory.Parent,
						              		SubCategory = shellSubCategory
						              	};
						break;
					}
				case OptionDataTypeEnum.KeyValueRange:
					{
						int val = GetInt(s);
						shellOption = new EnumOption(uiOption.Name, val, val, canOverride, GetEnumValues(uiOption))
						              	{
						              		DisplayName = uiOption.DisplayText,
						              		Description = uiOption.DisplayText,
						              		Category = shellSubCategory == null ? null : shellSubCategory.Parent,
						              		SubCategory = shellSubCategory
						              	};

						break;
					}
				case OptionDataTypeEnum.Format:
				case OptionDataTypeEnum.Range:
				default:
					{
						// do nothing. these need to be converted
#if DEBUG
						throw new NotImplementedException();
#else
						break;
#endif
					}
			}

			return shellOption;
		}
예제 #35
0
 private static bool Check(BoolOption o, bool b)
 {
     return(o == BoolOption.Dontcare || (o == BoolOption.True && b) || (o == BoolOption.False && !b));
 }
예제 #36
0
파일: CertUpdate.cs 프로젝트: lulzzz/simias
        /// <summary>
        /// ExecuteWithIO executes the command in the shell with IO.
        /// </summary>
        /// <param name="interact">interactive yes/no.</param>
        /// <param name="command">The command.</param>
        /// <param name="format">The arguments of the command.</param>
        /// <param name="args">The arguments for the format.</param>
        /// <returns>Certificate installed or not status 0 -- success and >0 failure.</returns>
        int ExecuteWithIO(bool interact, string command, string format, params object[] args)
        {
            ProcessStartInfo info = new ProcessStartInfo(command, String.Format(format, args));
            int    retCode        = 0;
            string output;

            info.UseShellExecute        = false;
            info.RedirectStandardInput  = true;
            info.RedirectStandardOutput = true;
            info.RedirectStandardError  = true;
            Process      exProcess       = Process.Start(info);
            StreamWriter inStreamWriter  = exProcess.StandardInput;
            StreamReader outStreamReader = exProcess.StandardOutput;

            Console.WriteLine("Ldap certificate : ");
            Console.WriteLine("");
            for (int i = 0; i < 10; i++)
            {
                output = outStreamReader.ReadLine();
                Console.WriteLine("{0}", output);
            }
            Console.WriteLine("");
            if (interact)
            {
                try
                {
                    // certmgr askes question for, adding certificate to machine store and also
                    // to addressbook, so we send "Y" for machine store, "N" for addressbook.
                    inStreamWriter.WriteLine("{0}", "Y");
                    inStreamWriter.WriteLine("{0}", "N");
                }
                catch (Exception) {}
            }
            else
            {
                BoolOption ldapCertAcc = new BoolOption("ldap-cert-acceptance", "Accept LDAP Certificate", null, false, false);
                ldapCertAcc.Description = "";
                ldapCertAcc.Prompt      = true;
                Prompt.CanPrompt        = true;
                Prompt.ForOption(ldapCertAcc);
                try
                {
                    // certmgr askes question for, adding certificate to machine store and also
                    // to addressbook, so we send "Y" for machine store, "N" for addressbook.
                    if (ldapCertAcc.Value == true)
                    {
                        inStreamWriter.WriteLine("{0}", "Y");
                        inStreamWriter.WriteLine("{0}", "N");
                    }
                    else
                    {
                        retCode = 1;
                        inStreamWriter.WriteLine("{0}", "N");
                        inStreamWriter.WriteLine("{0}", "N");
                    }
                }
                catch (Exception) {}
            }
            output = exProcess.StandardOutput.ReadToEnd();
            exProcess.StandardError.ReadToEnd();
            exProcess.WaitForExit();
            return(retCode == 1 ? 1 : exProcess.ExitCode);
        }
예제 #37
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     removeTamperProtection = new BoolOption(null, makeArgName("tamper"), "Remove tamper protection code", true);
 }
예제 #38
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     dumpEmbeddedAssemblies = new BoolOption(null, MakeArgName("embedded"), "Dump embedded assemblies", true);
     decryptMainAsm         = new BoolOption(null, MakeArgName("decrypt-main"), "Decrypt main embedded assembly", true);
 }
예제 #39
0
 public BoolOption(BoolOption option, bool value) : base(option, value)
 {
 }
예제 #40
0
 public void BoolToggle(BoolOption option, bool enabled = true)
 {
     GUIPlus.SetEnabledColor(enabled);
     option.Value = CheckboxLabeled(option.Label, option.Value, option.Tooltip, enabled);
     GUIPlus.ResetColor();
 }
예제 #41
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     removeTamperProtection = new BoolOption(null, makeArgName("tamper"), "Remove tamper protection code", true);
     decryptConstants = new BoolOption(null, makeArgName("consts"), "Decrypt constants", true);
 }
예제 #42
0
		public DeobfuscatorInfo()
			: base(DEFAULT_REGEX) {
			removeAntiDebug = new BoolOption(null, MakeArgName("antidb"), "Remove anti debug code", true);
			removeAntiDump = new BoolOption(null, MakeArgName("antidump"), "Remove anti dump code", true);
			decryptMainAsm = new BoolOption(null, MakeArgName("decrypt-main"), "Decrypt main embedded assembly", true);
		}
예제 #43
0
 public PulseDurationVM(BusyObject isBusy, ShockSensorCalibrator calibrator)
 {
     _isBusy                = isBusy;
     _calibrator            = calibrator;
     _previousCheckedOption = ImpulseDurations.Single(o => o.IsChecked);
 }
예제 #44
0
        /// <summary>
        /// Setup SSL
        /// </summary>
        void SetupSsl()
        {
            Console.Write("Installing certificate...");

            Uri url = new Uri(simiasUrl.Value);

            if (url.Scheme == Uri.UriSchemeHttps)
            {
                // swap policy
                ICertificatePolicy policy = ServicePointManager.CertificatePolicy;
                ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();

                // connect
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);

                try
                {
                    request.GetResponse();
                }
                catch
                {
                    // ignore
                }

                // restore policy
                ServicePointManager.CertificatePolicy = policy;

                // service point
                ServicePoint sp = request.ServicePoint;

                if ((sp != null) && (sp.Certificate != null))
                {
                    string path          = Path.GetFullPath(Path.Combine(webPath, "Web.config"));
                    string certRawDetail = Convert.ToBase64String(sp.Certificate.GetRawCertData());
                    string certDetail    = sp.Certificate.ToString(true);

                    XmlDocument doc = new XmlDocument();

                    doc.Load(path);

                    XmlElement cert           = (XmlElement)doc.DocumentElement.SelectSingleNode("//configuration/appSettings/add[@key='SimiasCert']");
                    BoolOption iFolderCertAcc = new BoolOption("iFolder-cert-acceptance", "Accept iFolder Server Certificate", certDetail, false, true);
                    iFolderCertAcc.Prompt = true;
                    Prompt.ForOption(iFolderCertAcc);

                    if (iFolderCertAcc.Value == true)
                    {
                        if (cert != null)
                        {
                            cert.Attributes["value"].Value = certRawDetail;

                            doc.Save(path);

                            Console.WriteLine("Done");
                        }
                        else
                        {
                            throw new Exception(String.Format("Unable to find \"SimiasCert\" tag in the {0} file.", path));
                        }
                    }
                    else
                    {
                        Console.WriteLine("Failed (Install Certificate)");
                        throw new Exception(string.Format("User Certificate validation failed "));
                    }
                }
                else
                {
                    throw new Exception("Unable to retrieve the certificate from the iFolder server.");
                }
            }
            else
            {
                Console.WriteLine("Skipped (Not Required)");
            }
        }
예제 #45
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     dumpEmbeddedAssemblies = new BoolOption(null, makeArgName("embedded"), "Dump embedded assemblies", true);
 }
예제 #46
0
 public DeobfuscatorInfo()
     : base(DEFAULT_REGEX)
 {
     inlineMethods        = new BoolOption(null, MakeArgName("inline"), "Inline short methods", true);
     removeInlinedMethods = new BoolOption(null, MakeArgName("remove-inlined"), "Remove inlined methods", true);
 }