создал тему с надеждой что люди форума помогут мне .. выкладываю полный код моего проекта только с изменёнными адресами и смещениями суть есть 1 указатель который укажет на другой адрес и если к нему прибавить +30 то выйдем на нужный нам статический адрес namespace WindowsFormsApplication { public partial class Form1 : Form { VAMemory VAM; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { VAM = new VAMemory("Play"); //Имя процесса, без exe // int Jordan = Convert.ToInt32(textBox1.Text, 16); //хотел сделать так чтобы можно было через СЕ найти этот адрес потом вписать в ТекстБОкс где переменная бы содержала этот адрес потом передела в код ниже // label2.Text = (Convert.ToString(VAM.ReadByte((IntPtr)Jordan))); //label2 принимает значение по адрессу 011F0EA0 про 0x********! label2.Text = (Convert.ToString(VAM.ReadByte((IntPtr)0x011F0EA0))); //011F0EA0 адрес указателя textBox1.Text = label2.Text; } private void button2_Click(object sender, EventArgs e)//кнопка включения { timer2.Enabled = true;//вызываю цикл timer2.Interval = int.Parse(textBox2.Text);//задаю интервал таймера , потом сделаю через бегунок там будет прикольней textBox1.Text = label1.Text;//хер знает что тут button2.Visible = false;//убираю кнопку button3.Visible = true;//появляется кнопка выключения /*VAM = new VAMemory("Play"); // Имя процесса, без .exe! VAM.WriteByte((IntPtr)0x011F0EA0, byte.Parse(textBox1.Text.ToString()));//вверху был код чтение значение адреса и затем приравнивание его к Лабелу2 а тот в свою очередь ровнялся ТексБОксу,проблема в том что читалось значение УКАЗАТЕЛЯ а не того адреса на который должен быть указан ,плюс тут смещения нет (а через се написано +30)*/ } private void timer2_Tick(object sender, EventArgs e) { VAM = new VAMemory("play"); // Имя процесса, без .exe!,вот и сам цикл VAM.WriteByte((IntPtr)0x011F0EA0, byte.Parse(textBox1.Text.ToString())); // перезаписываем значение данного адреса со временем указанным в ТекстБоксе Интервала } private void button3_Click(object sender, EventArgs e)//кнопка выкл { timer2.Enabled = false;//вырубаем цикл button3.Visible = false;//убераем данную кнопку button2.Visible = true;//показываем кнопку включения } private void textBox1_TextChanged(object sender, EventArgs e) { //хрень } private void timer1_Tick_1(object sender, EventArgs e)//проверка процесса { System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetProcesses();//запрос процессов try { System.Diagnostics.Process proc = procs.First(p => p.ProcessName == "Play");//диагностика как бы if (proc != null)//тут вот можно ли заместо != использовать ==? { //ну и тут пошли указания если процесс нашёлся button1.Enabled = true; label1.Text = ("значение:"); button2.Visible = true; button3.Visible = true; textBox1.Visible = true; label2.Visible = true; } } catch {//если же нет то button1.Visible = false; button2.Visible = false; button3.Visible = false; textBox1.Visible = false; label2.Visible = false; timer2.Enabled = false; label1.Text = ("ждёмс запуска:"); } // } } } для работы нужно скачать библиотеку VaMemory подключить ссылку и обновить сверху там уже обновлёно прошу помощи как мне имея указатель прочитать адрес на который должен он указать и прибавить лишь одно смещение (+30) и выйти на тот адрес который содержит нужное мне значение .....затем тупо узнать его значение и перезаписывать (в этом коде часть чего я хочу уже имеется) //привёл коменты чтоб было пояснее