示例#1
0
        private static void Main(string[] args)
        {
            StUtil.IPC.NamedPipes.NamedPipeClient client = new IPC.NamedPipes.NamedPipeClient();
            var conn = client.Connect(new StUtil.IPC.NamedPipes.NamedPipeInitialisation(args.Last()));
            var msg = conn.Receive() as StUtil.Native.Process.InjectionMessage;

            StUtil.Native.Process.RemoteProcess proc = new Process.RemoteProcess(System.Diagnostics.Process.GetProcessById(msg.ProcessId));
            try
            {
                IntPtr val = proc.LoadDotNetModule(msg.File, msg.Type, msg.Method, msg.Args);
                conn.Send(new IPC.ValueMessage<IntPtr>(val));
            }
            catch (Exception ex)
            {
                conn.Send(new IPC.ValueMessage<Exception>(ex));
            }
        }
示例#2
0
        private static void Main(string[] args)
        {
            StUtil.IPC.NamedPipes.NamedPipeClient client = new IPC.NamedPipes.NamedPipeClient();
            var conn = client.Connect(new StUtil.IPC.NamedPipes.NamedPipeInitialisation(args.Last()));
            var msg  = conn.Receive() as StUtil.Native.Process.InjectionMessage;

            StUtil.Native.Process.RemoteProcess proc = new Process.RemoteProcess(System.Diagnostics.Process.GetProcessById(msg.ProcessId));
            try
            {
                IntPtr val = proc.LoadDotNetModule(msg.File, msg.Type, msg.Method, msg.Args);
                conn.Send(new IPC.ValueMessage <IntPtr>(val));
            }
            catch (Exception ex)
            {
                conn.Send(new IPC.ValueMessage <Exception>(ex));
            }
        }