Ejemplo n.º 1
0
        public override void DeobfuscateBegin()
        {
            base.DeobfuscateBegin();

            stringDecrypter = new StringDecrypter(decrypterInfo);
            stringDecrypter.Find();
            if (stringDecrypter.Detected)
            {
                stringDecrypter.Initialize(GetEncoding(options.StringCodePage));
                staticStringInliner.Add(stringDecrypter.Method, (method, gim, args) => stringDecrypter.Decrypt((uint)args[0]));
                DeobfuscatedFile.StringDecryptersAdded();
            }
            else
            {
                FreePEImage();
            }

            foreach (var method in mainType.InitMethods)
            {
                AddCctorInitCallToBeRemoved(method);
            }
            AddTypeToBeRemoved(mainType.Type, "Obfuscator type");
            RemoveDuplicateEmbeddedResources();
            RemoveInvalidResources();
        }
Ejemplo n.º 2
0
        public override void deobfuscateBegin()
        {
            base.deobfuscateBegin();

            stringDecrypter = new StringDecrypter(decrypterInfo);
            stringDecrypter.find();
            if (stringDecrypter.Detected)
            {
                stringDecrypter.initialize(getEncoding(options.StringCodePage));
                staticStringInliner.add(stringDecrypter.Method, (method, gim, args) => stringDecrypter.decrypt((uint)args[0]));
                DeobfuscatedFile.stringDecryptersAdded();
            }

            foreach (var method in mainType.InitMethods)
            {
                addCctorInitCallToBeRemoved(method);
            }
            addTypeToBeRemoved(mainType.Type, "Obfuscator type");
            addModuleReferencesToBeRemoved(mainType.ModuleReferences, "MC runtime module reference");
            removeDuplicateEmbeddedResources();
        }
Ejemplo n.º 3
0
		public override void DeobfuscateBegin() {
			base.DeobfuscateBegin();

			stringDecrypter = new StringDecrypter(decrypterInfo);
			stringDecrypter.Find();
			if (stringDecrypter.Detected) {
				stringDecrypter.Initialize(GetEncoding(options.StringCodePage));
				staticStringInliner.Add(stringDecrypter.Method, (method, gim, args) => stringDecrypter.Decrypt((uint)args[0]));
				DeobfuscatedFile.StringDecryptersAdded();
			}
			else
				FreePEImage();

			foreach (var method in mainType.InitMethods)
				AddCctorInitCallToBeRemoved(method);
			AddTypeToBeRemoved(mainType.Type, "Obfuscator type");
			RemoveDuplicateEmbeddedResources();
			RemoveInvalidResources();
		}
Ejemplo n.º 4
0
        public override void deobfuscateBegin()
        {
            base.deobfuscateBegin();

            stringDecrypter = new StringDecrypter(decrypterInfo);
            stringDecrypter.find();
            if (stringDecrypter.Detected) {
                stringDecrypter.initialize(getEncoding(options.StringCodePage));
                staticStringInliner.add(stringDecrypter.Method, (method, args) => stringDecrypter.decrypt((uint)args[0]));
                DeobfuscatedFile.stringDecryptersAdded();
            }

            foreach (var method in mainType.InitMethods)
                addCctorInitCallToBeRemoved(method);
            addTypeToBeRemoved(mainType.Type, "Obfuscator type");
            addModuleReferencesToBeRemoved(mainType.ModuleReferences, "MC runtime module reference");
            removeDuplicateEmbeddedResources();
        }