// Token: 0x0600010D RID: 269 RVA: 0x000098A4 File Offset: 0x00007AA4
        private static void BeginModule(ConfuserContext context)
        {
            context.Logger.InfoFormat("Processing module '{0}'...", new object[]
            {
                context.CurrentModule.Name
            });
            context.CurrentModuleWriterListener = new ModuleWriterListener();
            context.CurrentModuleWriterListener.OnWriterEvent += delegate(object sender, ModuleWriterListenerEventArgs e)
            {
                context.CheckCancellation();
            };
            context.CurrentModuleWriterOptions = new ModuleWriterOptions(context.CurrentModule, context.CurrentModuleWriterListener);
            if (!context.CurrentModule.IsILOnly)
            {
                context.RequestNative();
            }
            StrongNameKey snKey = context.Annotations.Get <StrongNameKey>(context.CurrentModule, Marker.SNKey, null);

            context.CurrentModuleWriterOptions.InitializeStrongNameSigning(context.CurrentModule, snKey);
            foreach (TypeDef type in context.CurrentModule.GetTypes())
            {
                foreach (MethodDef method in type.Methods)
                {
                    if (method.Body != null)
                    {
                        method.Body.Instructions.SimplifyMacros(method.Body.Variables, method.Parameters);
                    }
                }
            }
        }
Example #2
0
        static void BeginModule(ConfuserContext context)
        {
            context.Logger.InfoFormat("Processing module '{0}'...", context.CurrentModule.Name);

            context.CurrentModuleWriterOptions              = new ModuleWriterOptions(context.CurrentModule);
            context.CurrentModuleWriterOptions.WriterEvent += (sender, e) => context.CheckCancellation();
            CopyPEHeaders(context.CurrentModuleWriterOptions.PEHeadersOptions, context.CurrentModule);

            if (!context.CurrentModule.IsILOnly || context.CurrentModule.VTableFixups != null)
            {
                context.RequestNative();
            }

            var snKey       = context.Annotations.Get <StrongNameKey>(context.CurrentModule, Marker.SNKey);
            var snPubKey    = context.Annotations.Get <StrongNamePublicKey>(context.CurrentModule, Marker.SNPubKey);
            var snSigKey    = context.Annotations.Get <StrongNameKey>(context.CurrentModule, Marker.SNSigKey);
            var snSigPubKey = context.Annotations.Get <StrongNamePublicKey>(context.CurrentModule, Marker.SNSigPubKey);

            var snDelaySig = context.Annotations.Get <bool>(context.CurrentModule, Marker.SNDelaySig, false);

            context.CurrentModuleWriterOptions.DelaySign = snDelaySig;

            if (snKey != null && snPubKey != null && snSigKey != null && snSigPubKey != null)
            {
                context.CurrentModuleWriterOptions.InitializeEnhancedStrongNameSigning(context.CurrentModule, snSigKey, snSigPubKey, snKey, snPubKey);
            }
            else if (snSigPubKey != null && snSigKey != null)
            {
                context.CurrentModuleWriterOptions.InitializeEnhancedStrongNameSigning(context.CurrentModule, snSigKey, snSigPubKey);
            }
            else
            {
                context.CurrentModuleWriterOptions.InitializeStrongNameSigning(context.CurrentModule, snKey);
            }

            if (snDelaySig)
            {
                context.CurrentModuleWriterOptions.StrongNamePublicKey = snPubKey;
                context.CurrentModuleWriterOptions.StrongNameKey       = null;
            }

            foreach (TypeDef type in context.CurrentModule.GetTypes())
            {
                foreach (MethodDef method in type.Methods)
                {
                    if (method.Body != null)
                    {
                        method.Body.Instructions.SimplifyMacros(method.Body.Variables, method.Parameters);
                    }
                }
            }
        }
Example #3
0
        static void BeginModule(ConfuserContext context)
        {
            context.Logger.InfoFormat("Processing module '{0}'...", context.CurrentModule.Name);

            context.CurrentModuleWriterListener = new ModuleWriterListener();
            context.CurrentModuleWriterListener.OnWriterEvent += (sender, e) => context.CheckCancellation();
            context.CurrentModuleWriterOptions = new ModuleWriterOptions(context.CurrentModule, context.CurrentModuleWriterListener);

            if (!context.CurrentModule.IsILOnly)
                context.RequestNative();

            var snKey = context.Annotations.Get<StrongNameKey>(context.CurrentModule, Marker.SNKey);
            context.CurrentModuleWriterOptions.InitializeStrongNameSigning(context.CurrentModule, snKey);

            foreach (TypeDef type in context.CurrentModule.GetTypes())
                foreach (MethodDef method in type.Methods) {
                    if (method.Body != null) {
                        method.Body.Instructions.SimplifyMacros(method.Body.Variables, method.Parameters);
                    }
                }
        }