예제 #1
0
        public override void DeobfuscateEnd()
        {
            RemoveInlinedMethods();

            if (options.RestoreResourceNames)
            {
                resourceNamesRestorer.RenameResources();
                AddTypeToBeRemoved(resourceNamesRestorer.ResourceManagerType, "Obfuscator ResourceManager type");
                AddTypeToBeRemoved(resourceNamesRestorer.ComponentResourceManagerType, "Obfuscator ComponentResourceManager type");
            }

            if (Operations.DecryptStrings != OpDecryptString.None)
            {
                AddTypeToBeRemoved(stringDecrypter.Type, "String decrypter type");
                AddTypeToBeRemoved(stringDecrypter.EncryptedStringsType, "Encrypted strings field type");
                stringDecrypter.CleanUp();
            }

            base.DeobfuscateEnd();
        }
예제 #2
0
        public override void DeobfuscateBegin()
        {
            base.DeobfuscateBegin();

            methodCallInliner.Initialize(DeobfuscatedFile);

            if (options.RestoreResourceNames)
            {
                resourceNamesRestorer = new ResourceNamesRestorer(module);
                resourceNamesRestorer.Find();
                resourceNamesRestorer.RenameResources();
            }

            stringDecrypter.Initialize();
            foreach (var info in stringDecrypter.DecrypterInfos)
            {
                staticStringInliner.Add(info.method, (method2, gim, args) => {
                    return(stringDecrypter.Decrypt(method2));
                });
            }
            DeobfuscatedFile.StringDecryptersAdded();

            startedDeobfuscating = true;
        }
예제 #3
0
		public override void DeobfuscateBegin() {
			base.DeobfuscateBegin();

			methodCallInliner.Initialize(DeobfuscatedFile);

			if (options.RestoreResourceNames) {
				resourceNamesRestorer = new ResourceNamesRestorer(module);
				resourceNamesRestorer.Find();
				resourceNamesRestorer.RenameResources();
			}

			stringDecrypter.Initialize();
			foreach (var info in stringDecrypter.DecrypterInfos) {
				staticStringInliner.Add(info.method, (method2, gim, args) => {
					return stringDecrypter.Decrypt(method2);
				});
			}
			DeobfuscatedFile.StringDecryptersAdded();

			startedDeobfuscating = true;
		}