Перейти к содержанию

HPB

Пользователи
  • Постов

    31
  • Зарегистрирован

  • Посещение

Весь контент HPB

  1. у меня на месте "твой указатель" написано так "игра"+011D0EA0 + смещение 30 пробовал 2 сопсобами : 1 указывал Int32 MyValue = VAM.ReadInt32(((IntPtr)DestAddress) + 0x30); 2. указывал Int32 MyValue = VAM.ReadInt32(((IntPtr)DestAddress) + 30); в обоих случаях адреса были разные и не совпадали с адресом из СЕ в се был адрес 069D2438 1 раз программа выдала адрес -1119040308 2 раз 1209416877 может их нужно конвертировать? а в каком они виде textBox1.Text = Convert.ToString(MyValue); Convert.ToString я так понимаю что скорее всего в этом загвоздка http://forum.gamehacklab.ru/topic/952-%D0%BF%D0%B8%D1%88%D0%B5%D0%BC-%D1%82%D1%80%D0%B5%D0%B9%D0%BD%D0%B5%D1%80-%D0%BD%D0%B0-vc-2010/ можно и вот так же? но тут столько классов что я путаюсь и не понимаю что же мне конкретно нужно
  2. планы изменилась я всё таки научился делать так чтобы можно было присваивать переменной адрес из ТЕксбокса..... а теперь такой вопрос ....как мне просто использую Метод kenga найти нужный мне адрес зная указатель и смещение! и вывести это всё в текстбокс опять же или в буфер запомнить а дальше я сам покажет только значение УКАЗАТЕЛЯ (но не найдёт тот адрес на который указывает указатель) прошу всё же кто сталкивался с таким случаем как мне выйти на тот адрес который указывает "указатель" с опредлённым "одним" смещением вида "0x30" // 0x - считать как кусок 16чной системы HEX то что там написано 0A а в исходе 30 я просто по разному пытался и забыл исправить когда скринил на скрине: "картинка с СЕ" "картинка с с#" "картинка Откомп. Программы"
  3. создал тему с надеждой что люди форума помогут мне .. выкладываю полный код моего проекта только с изменёнными адресами и смещениями суть есть 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) и выйти на тот адрес который содержит нужное мне значение .....затем тупо узнать его значение и перезаписывать (в этом коде часть чего я хочу уже имеется) //привёл коменты чтоб было пояснее
  4. а что нужно использовать для прочтения значения адреса и перезапись в него.. я просто хочу сделать потипу цикла вызываю таймер и в нём выполняется код который с интервалом 1 мс перезаписывает одно и тоже значение...но это я умею только юзаю библиотеку Vamemory...и к сожелению там адрес должен быть , но с указателем не получается работать....
  5. сила прибыла но вот горе : ( игра закрывается здесь как по мне так плохой метод открытия процесса... у меня есть не большой кодик работы с VaMemory но беда я не знаю как работать там именно с указателем.. а это тема здорово бы мне помогла : VAM = new VAMemory("Game"); // Имя процесса, без .exe! VAM.WriteByte((IntPtr)0x05AАF723, byte.Parse(textBox1.Text.ToString())); // Изменяем значение по адресу 01005194, не забываем про 0x********! вот изменяем значение адреса .значения для изменения берём из ТекстБокса , но проблема адрес является "указателем" но он должен указывать на один адрес и если к нему прибавить +30 то выйдем на главный! есть какиие способы так сделать? потом сделал по другому чтоб можно было вписывать адрес конечный ..но это не удобно нужно зайти через СЕ найти адрес конечный вписать сюда и то тоже не работало : ( VAM = new VAMemory("Game"); //Имя процесса, без Game int Jordan = Convert.ToInt32(textBox1.Text, 16); label2.Text = (Convert.ToString(VAM.ReadByte((IntPtr)Jordan))); //label2 принимает значение по адрессу 011D0EA0 не забываем про 0x********! textBox1.Text = label2.Text;
  6. мог бы кто нибудь кинуть готовый проект просто чтоб работал а то я не пойму
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.