Тема: c# inject
Показать сообщение отдельно
Непрочитано 18.07.2018, 02:09   #2
Забанен за кидаловo/обман/развод

Автор темы (Топик Стартер) Re: c# inject

Вроде нашел пример, но теперь такая ошибка
Код:
System.ComponentModel.Win32Exception: "32-разрядные процессы не могут получить доступ к 64-разрядному процессу."
вот код
 
        private void Start_Click(object sender, RoutedEventArgs e)
        {
            Process.Start("BlackDesert64.exe", "Kirito," + "135635");
            Thread.Sleep(1500);
            string strDLLName = "steam_api64.dll";
            int processId = GetProcessId("BlackDesert64");
            if (processId >= 0)
            {
                InjectDLL(OpenProcess(2035711U, 1, processId), strDLLName);
                Thread.Sleep(500);
                Process[] processesByName = Process.GetProcessesByName("BlackDesert64");
                int processHandle = OpenProcess(0x1F0FFF, false, processesByName[0].Id);
                ReadProcessMemory(processesByName[0].MainModule.BaseAddress.ToInt64() + 43055736L, 11, processHandle);
                string hex = ConvertStringToHex("127.0.0.1");
                WriteProcessMemory(processesByName[0].MainModule.BaseAddress.ToInt64() + 43055736L, StringToByteArray(hex), processHandle);
            }
        }
 
Code: C#
 
        [DllImport("kernel32.dll")]
        public static extern bool ReadProcessMemory(int hProcess, long lpBaseAddress, byte[] buffer, int size, int lpNumberOfBytesRead);
 
Code: C#

Последний раз редактировалось Boris2105; 18.07.2018 в 02:18. Причина: ReadProcessMemory
Boris2105 вне форума Ответить с цитированием