示例#1
0
        internal InjectionProperties(string targetProcessName, byte[] dllBytes)
        {
            DllBytes = dllBytes;

            SyscallManager = new SyscallManager();

            RemoteProcess = new ProcessInstance(targetProcessName, SyscallManager);

            MemoryManager = new RemoteMemoryManager(RemoteProcess.Handle, SyscallManager);

            PeParser = new PeParser(DllBytes);
        }
示例#2
0
        internal InjectionProperties(string targetProcessName, string dllPath)
        {
            DllPath = dllPath;

            SyscallManager = new SyscallManager();

            RemoteProcess = new ProcessInstance(targetProcessName, SyscallManager);

            MemoryManager = new RemoteMemoryManager(RemoteProcess.Handle, SyscallManager);

            PeParser = new PeParser(dllPath);
        }
示例#3
0
        internal PropertyWrapper(string targetProcessName, string dllPath)
        {
            DllPath = dllPath;

            SyscallManager = new SyscallManager();

            TargetProcess = new ProcessInstance(targetProcessName, SyscallManager);

            MemoryManager = new MemoryManager(TargetProcess.Handle, SyscallManager);

            PeParser = new PortableExecutableParser(DllPath);
        }
示例#4
0
        internal PropertyWrapper(int targetProcessId, byte[] dllBytes)
        {
            DllBytes = dllBytes;

            SyscallManager = new SyscallManager();

            TargetProcess = new ProcessInstance(targetProcessId, SyscallManager);

            MemoryManager = new MemoryManager(TargetProcess.Handle, SyscallManager);

            PeParser = new PortableExecutableParser(DllBytes);
        }
示例#5
0
        internal ProcessInstance(string targetProcessName, SyscallManager syscallManager)
        {
            Process = GetTargetProcess(targetProcessName);

            _syscallManager = syscallManager;

            Handle = OpenProcessHandle();

            IsWow64 = GetProcessArchitecture();

            _memoryManager = new MemoryManager(Handle, _syscallManager);

            _peInstances = new Dictionary <string, PeInstance>();

            Modules = new List <ModuleInstance>();

            GetProcessModules();
        }
示例#6
0
        internal ProcessInstance(string targetProcessName, SyscallManager syscallManager)
        {
            Modules = new List <ModuleInstance>();

            _peInstanceCache = new Dictionary <string, PeInstance>();

            TargetProcess = GetTargetProcess(targetProcessName);

            _syscallManager = syscallManager;

            Handle = OpenProcessHandle();

            IsWow64 = GetProcessArchitecture();

            _memoryManager = new RemoteMemoryManager(Handle, _syscallManager);

            EnableDebuggerPrivileges();

            Modules.AddRange(GetProcessModules());
        }
示例#7
0
        internal MemoryManager(SafeProcessHandle processHandle, SyscallManager syscallManager)
        {
            _processHandle = processHandle;

            _syscallManager = syscallManager;
        }