Offset in Prozess kopieren

02/02/2014 04:56 Fusselchön#1
Hi, ich möchte in einen Process eine alte exe "schreiben" nur ich steh gerade auf dem schlauch.

Code:
class Program
    {

        [DllImport("kernel32.dll")]
        public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);

        [DllImport("kernel32.dll", SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool CloseHandle(IntPtr hObject);
        [DllImport("kernel32.dll", SetLastError = true)]
        static extern bool WriteProcessMemory(int hProcess, int lpBaseAddress,
          byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesWritten);
        static void Main(string[] args)
        {
            string filename = "MeineExeDieInDenProzessSoll";
            Byte[] gamebuffer = System.IO.File.ReadAllBytes(filename);
            Process[] procs = Process.GetProcessesByName("MeinProzess");

nur hier steh ich gerade auf dem schlauch xD
ich habe schon versucht mit dem writeprocessmemory zu arbeiten, woran ich aber gescheitert bin..
02/02/2014 11:13 th0rex#2
Solltest uns vielleicht schon mitteilen wieso du daran gescheitert bist. Außerdem wieso möchtest du bitte in einen Prozess eine .exe schreiben ? Ergibt für mich wenig Sinn.
02/02/2014 15:02 tolio#3
Ich bin mir auch nicht ganz sicher was du genau machen willst. wenn du eine exe in einen anderen prozess schreiben und dort ausführen willst google nach runPE
02/02/2014 17:20 Fusselchön#4
Was ich machen will, ich besitze eine ältere exe eines programms, welche weitere funktionen als die aktuelle besitzt. Was ich machen möchte (Forum/Regerge) ist die alte exe zu laden und i.wie versuchen sie in die neuere reinzustecken. Das Problem is es wird am start überprüft ob es die richtige exe ist, also einfach ersetzen funktioniert leider nicht..
02/02/2014 18:48 qkuh#5
Das geht nicht :'o