Гость GomTech Опубликовано 21 июля, 2020 Поделиться Опубликовано 21 июля, 2020 (изменено) Привет парни, хотел написать на С# под игру DawnOfMan чит на рост популяции, но столкнулся с проблемой, надеюсь кто-то поможет. нашел указатель на значение =1C51594B1E0 Спойлер потом в программе когда запонляю ф-цию ловлю ошибку System.OverflowException: "Переполнение в результате выполнения арифметической операции." на это строчке : WriteProcessMemory(handle, (IntPtr)popaddress, PopulationBytes, PopulationSize, out dummy); Вот код: Спойлер //WriteProcessMemory [DllImport("kernel32.dll", SetLastError = true)] public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [MarshalAs(UnmanagedType.AsAny)] object lpBuffer, int dwSize, out IntPtr lpNumberOfBytesWritten); private void WriteBytes() { var popaddress = 0x1C51594B1E0; byte[] PopulationBytes = { 0x40, 0x00, 0x00, 0x00 }; //64 population var PopulationSize = 4; IntPtr dummy = new IntPtr(); IntPtr handle = OpenProcess(ProcessAccessFlags.All, false, GetProcess("DawnOfMan")); WriteProcessMemory(handle, (IntPtr)popaddress, PopulationBytes, PopulationSize, out dummy); CloseHandle(handle); } по этому гайду делал Что я сделал не так? Изменено 21 июля, 2020 пользователем GomTech Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения