示例#1
0
		public ModuleDefMD Reload(byte[] newModuleData, DumpedMethodsRestorer dumpedMethodsRestorer, IStringDecrypter stringDecrypter) {
			TheAssemblyResolver.Instance.Remove(module);
			var mod = ModuleDefMD.Load(newModuleData, moduleContext);
			if (dumpedMethodsRestorer != null)
				dumpedMethodsRestorer.Module = mod;
			mod.StringDecrypter = stringDecrypter;
			mod.MethodDecrypter = dumpedMethodsRestorer;
			mod.TablesStream.ColumnReader = dumpedMethodsRestorer;
			mod.TablesStream.MethodRowReader = dumpedMethodsRestorer;
			return SetModule(mod);
		}
		public void SetStringDecrypterType(StringDecrypterType type) {
			if (stringDecrypter != null)
				throw new ApplicationException("StringDecrypterType already set");

			switch (type) {
			case StringDecrypterType.Delegate:
				stringDecrypter = new DelegateStringDecrypter();
				break;

			case StringDecrypterType.Emulate:
				stringDecrypter = new EmuStringDecrypter();
				break;

			default:
				throw new ApplicationException(string.Format("Unknown StringDecrypterType {0}", type));
			}
		}
        public void SetStringDecrypterType(StringDecrypterType type)
        {
            if (stringDecrypter != null)
            {
                throw new ApplicationException("StringDecrypterType already set");
            }

            switch (type)
            {
            case StringDecrypterType.Delegate:
                stringDecrypter = new DelegateStringDecrypter();
                break;

            case StringDecrypterType.Emulate:
                stringDecrypter = new EmuStringDecrypter();
                break;

            default:
                throw new ApplicationException(string.Format("Unknown StringDecrypterType {0}", type));
            }
        }
示例#4
0
        public ModuleDefMD Reload(byte[] newModuleData, DumpedMethodsRestorer dumpedMethodsRestorer, IStringDecrypter stringDecrypter)
        {
            TheAssemblyResolver.Instance.Remove(module);
            var mod = ModuleDefMD.Load(newModuleData, moduleContext);

            if (dumpedMethodsRestorer != null)
            {
                dumpedMethodsRestorer.Module = mod;
            }
            mod.StringDecrypter              = stringDecrypter;
            mod.MethodDecrypter              = dumpedMethodsRestorer;
            mod.TablesStream.ColumnReader    = dumpedMethodsRestorer;
            mod.TablesStream.MethodRowReader = dumpedMethodsRestorer;
            return(SetModule(mod));
        }
示例#5
0
 protected override void ScanForObfuscator()
 {
     FindDotfuscatorAttribute();
     stringDecrypter = GetStringDecrypter();
     stringDecrypter.Find(DeobfuscatedFile);
 }