Esempio n. 1
0
        public void CopyMethodToAssembly(AssemblyHandler assemblyHandlerToInject, String typeNameToInject, String methodNameToInject,
                                         String typeNameToCopy, String methodNameToCopy)
        {
            AssemblyDefinition assemblyToInject = assemblyHandlerToInject.GetAssembly();

            Instruction[]    instructions   = this.DecompileMethodAsInstructions(typeNameToCopy, methodNameToCopy, assemblyToInject);
            MethodDefinition methodToInject = assemblyHandlerToInject.FindMethodInAssembly(typeNameToInject, methodNameToInject);

            /* inject the instructions in the main assembly */
            InjectInstructions(methodToInject, instructions);
        }
Esempio n. 2
0
        /* CONSTRUCTOR ***************************************************************************/
        public PayloadCreator(AssemblyHandler assemblyHandlerToInject, String FormParentName, String FormMethodName)
        {
            InitializeComponent();
            assemblyToInject   = assemblyHandlerToInject;
            typeNameToInject   = FormParentName;
            methodNameToInject = FormMethodName;

            if (assemblyToInject.CheckIfMethodIsInjectable(typeNameToInject, methodNameToInject) == false)
            {
                throw new Exception("Can't inject in this method");
            }
        }