Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка System.OverflowException: "Переполнение в результате выполнения арифметической операции."

Beksultan Hanski Ученик (121), на голосовании 8 месяцев назад
Пишу панель с читами на winforms c#
как ни как я тут новичек в кодинге и это мой первый проект не судите строго
Дела такие я когда нажимаю на кнопку а он крашится ну типо я запускаю в откладке и у меня вылазит ошибка Переполнение в результате выполнения арифметической операции
вот код кнопки
и пожалуйста можете помочь с этим проблемой я с ним уже неделю мучаюсь

 private async void button1_Click(object sender, EventArgs e) 
{
string search = "7A 4B D1 08";
string replace = "4A 4C BF 48";
bool k = false;
if (Process.GetProcessesByName("HD-Player").Length == 0)
{
int num = (int)MessageBox.Show("Откройте эмулятор!");
Console.Beep(200, 300);
}
else
{
this.memory.OpenProcess("HD-Player");
IEnumerable wl = await this.memory.AoBScan(search, true);
if (wl.Any())
{
foreach (long address in wl)
{
this.memory.WriteMemory(address.ToString("X"), "bytes", replace);
}
k = true;
}
if (k)
{
int num = (int)MessageBox.Show("Активировано!");
Console.Beep(600, 300);
}
else
{
int num1 = (int)MessageBox.Show("Деактивировано!");
}
}
}
Голосование за лучший ответ
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (264395) 9 месяцев назад
Исправлен асинхрон и добавлен вывод ошибок. Может прояснит, но не исправит.. Где-то выход за пределы ожидаемых ресурсов.

 using System; 
using System.Linq;
using System.Diagnostics;
using System.Threading.Tasks;

public class YourClass
{
private async Task ScanAndReplace()
{
string search = "7A 4B D1 08";
string replace = "4A 4C BF 48";

if (Process.GetProcessesByName("HD-Player").Length == 0)
{
Console.Beep(200, 300);
Console.WriteLine("Откройте эмулятор!");
return false;
}

try
{
MemorySharp memory = new MemorySharp("HD-Player");
var wl = await memory.AoBScan(search, true);
if (wl.Any())
{
foreach (long address in wl)
{
memory.WriteMemory(address.ToString("X"), "bytes", replace);
}
Console.Beep(600, 300);
Console.WriteLine("Активировано!");
return true;
}
else
{
Console.WriteLine("Деактивировано!");
return false;
}
}
catch (Exception ex)
{
Console.WriteLine($"Ошибка: {ex.Message}");
return false;
}
}

public async Task MainMethod()
{
await ScanAndReplace();
}
}
Похожие вопросы