Извлечь DLL из внешнего процесса в C # - PullRequest
0 голосов
/ 08 ноября 2018

Итак. Я прошу прощения за запрос источника, но после попытки сделать это на некоторое время я потерян для идей и спрашиваю, как в мире вы можете извлечь DLL из внешнего процесса в C #. Так что любая помощь будет высоко ценится. Некоторые из методов, которые я попробовал, являются удаленными потоками, определяющими весь адрес. Кстати, вот мой код ввода, если это помогает.

public static void Eject(string moduleName)
{
    Process[] ProcessList = System.Diagnostics.Process.GetProcessesByName(gamename);
    if (ProcessList.Length > 0)
    {
        Process MYPROCESS = ProcessList[0];
        IntPtr BaseAddress = IntPtr.Zero;
        foreach (System.Diagnostics.ProcessModule Module in MYPROCESS.Modules)
        {
            if (Module.ModuleName.Contains(moduleName))
                BaseAddress = Module.BaseAddress;
        }
        if (BaseAddress != IntPtr.Zero)
        {
            IntPtr libaddy = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
            CreateRemoteThread(procHandle, IntPtr.Zero, 0, libaddy, BaseAddress, 0, IntPtr.Zero);
        }
    }
}
...