public override void AfterInjectionCallback(MethodDef injectedMethodDef, object obj)
        {
            _dataCreator = new InitializedDataCreator(injectedMethodDef.Module);

            var objArray = obj as object[];

            if (objArray == null)
            {
                throw new NullReferenceException(nameof(objArray));
            }

            var text  = objArray[0] as string;
            var image = objArray[1] as Image;

            var replacedText  = false;
            var replacedImage = false;

            var instructions = injectedMethodDef.Body.Instructions.ToArray();

            for (var instructionIndex = 0; instructionIndex < instructions.Length; instructionIndex++)
            {
                var instruction = instructions[instructionIndex];
                if (!replacedText)
                {
                    replacedText = ReplaceFormText(instruction, text);
                }

                if (!replacedImage)
                {
                    replacedImage = ReplaceImageByteArray(injectedMethodDef, instruction, instructionIndex, image);
                }

                if (replacedText && replacedImage)
                {
                    break;
                }
            }
        }
Exemplo n.º 2
0
 public ConstantsDecrypter(ModuleDefinition module, ResourceDecrypter resourceDecrypter, InitializedDataCreator initializedDataCreator)
 {
     this.module                 = module;
     this.resourceDecrypter      = resourceDecrypter;
     this.initializedDataCreator = initializedDataCreator;
 }
Exemplo n.º 3
0
		public ConstantsDecrypter(ModuleDefMD module, InitializedDataCreator initializedDataCreator) {
			this.module = module;
			this.initializedDataCreator = initializedDataCreator;
		}
Exemplo n.º 4
0
		public ConstantsDecrypter(ModuleDefMD module, ResourceDecrypter resourceDecrypter, InitializedDataCreator initializedDataCreator) {
			this.module = module;
			this.resourceDecrypter = resourceDecrypter;
			this.initializedDataCreator = initializedDataCreator;
		}
Exemplo n.º 5
0
 public ConstantsDecrypter(ModuleDefinition module, InitializedDataCreator initializedDataCreator)
 {
     this.module = module;
     this.initializedDataCreator = initializedDataCreator;
 }
Exemplo n.º 6
0
 public ArrayValueInliner(ModuleDefMD module, InitializedDataCreator initializedDataCreator)
 {
     this.module = module;
     this.initializedDataCreator = initializedDataCreator;
 }
Exemplo n.º 7
0
 public ArrayValueInliner(InitializedDataCreator initializedDataCreator)
 {
     _initializedDataCreator = initializedDataCreator;
 }