JuGGerNaunT Опубликовано 18 сентября, 2012 Поделиться Опубликовано 18 сентября, 2012 Int32 BaseAddress = 0x00400000;Int32 MyOffset = 0x0021E45C;IntPtr MainPointer = (IntPtr)(BaseAddress + MyOffset + 30);Int32 DestAddress = VAM.ReadInt32(MainPointer);//это пункт AIntPtr MinorPointer = (IntPtr)(DestAddress + 0x96); Int32 ValueAddress = VAM.ReadInt32(MinorPointer) ;//это пункт BInt32 MyValue = VAM.ReadInt32(ValueAddress);//это пункт CtextBox1.Text = Convert.ToString(MyValue); Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 18 сентября, 2012 Автор Поделиться Опубликовано 18 сентября, 2012 Int32 MyValue = VAM.ReadInt32(ValueAddress);//это пункт Cне возможно преобразованиеProcess[] aProcesses = Process.GetProcessesByName("hitman2");if (aProcesses.Length != 0){oMemory.ReadProcess = aProcesses[0];oMemory.Open();int iStep2_Address = Addr.ToDec("21E45C"); без 00 в началеint[] iStep2_Offsets = { 0x30, 0x96 };int bytesWritten;byte[] bValue_To_Write = BitConverter.GetBytes(1000); string sWritten_Address = oMemory.PointerWrite((IntPtr)iStep2_Address, bValue_To_Write, iStep2_Offsets, out bytesWritten);if (bytesWritten == bValue_To_Write.Length)MessageBox.Show("Wrote 1000 to " + sWritten_Address + "!");elseMessageBox.Show("There was an error writing 1000 to " + sWritten_Address + ".");oMemory.CloseHandle();}}блин хороший вариант но без базы Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 18 сентября, 2012 Поделиться Опубликовано 18 сентября, 2012 Int32 BaseAddress = 0x00400000;Int32 MyOffset = 0x0021E45C;IntPtr MainPointer = (IntPtr)(BaseAddress + MyOffset + 30);Int32 DestAddress = VAM.ReadInt32(MainPointer);//это пункт AIntPtr MinorPointer = (IntPtr)(DestAddress + 0x96);Int32 ValueAddress = VAM.ReadInt32(MinorPointer) ;//это пункт BInt32 MyValue = VAM.ReadInt32(ValueAddress);//это пункт CtextBox1.Text = Convert.ToString(MyValue);Только что я писал о том, что нельзя адрес типизировать как int32 перменной ValueAddress. Метод ReadInt32 не подходит для чтения адреса. Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 18 сентября, 2012 Автор Поделиться Опубликовано 18 сентября, 2012 а что для вывода прочитанного адрес нужно? какой методединственное что я знаю похоже на Read это ReadBytes/ReadChars (как то писал программку с обменом сообщения ..и эти методы высчитывали N кол-во байтов) Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 18 сентября, 2012 Поделиться Опубликовано 18 сентября, 2012 а что для вывода прочитанного адрес нужно? какой методединственное что я знаю похоже на Read это ReadBytes/ReadChars (как то писал программку с обменом сообщения ..и эти методы высчитывали N кол-во байтов)О боги. Иди смотри уроки кенга по C# может быть поймёшь.Также неплохо бы всё-таки прочитать об указателях на ВИКИ и поизучать WinAPI на MSDN. Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 18 сентября, 2012 Автор Поделиться Опубликовано 18 сентября, 2012 а если тыкнуть носомну подскажите пожалуйста чтоб я забыл всё это как страшный сон..и вас не мучил и себя Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 18 сентября, 2012 Поделиться Опубликовано 18 сентября, 2012 а если тыкнуть носомну подскажите пожалуйста чтоб я забыл всё это как страшный сон..и вас не мучил и себяПроще объяснить просто невозможно) Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 18 сентября, 2012 Автор Поделиться Опубликовано 18 сентября, 2012 ну как всегда. понятно что я мало знаю..CoderVAM = new VAMemory("hitman2"); Int32 BaseAddress = 0x00400000;//это база её можно найти через Се во вкладки Memory View -View-Enumerate DLL Int32 MyOffset = 0x0021E45C;//указатель IntPtr MainPointer = (IntPtr)(BaseAddress + MyOffset + 0x30);//смещение не знаю как использовать либо 30 либо 0x30 Int32 DestAddress = VAM.ReadInt32(MainPointer);//это пункт A IntPtr MinorPointer = (IntPtr)(DestAddress + 0x96);//второе смещение Int32 ValueAddress = VAM.ReadInt32(MinorPointer);//это пункт B textBox1.Text = Convert.ToString(MinorPointer);так будет верно или нет? и как мне перевести в другую систему так ка int отличается совсем от того что находиться в СЕ и я не смогу через другую программу вставив этот полученный результат подключиться к процессу и найти адресCoder если знаешь почему не хочешь помочь? на ошибках лучше всё запоминается ..да и вспомни как сам начинал всё было легко?скажи..и что всё всё в книгах было ??я думаю что нетОт Администратора:Уважаемый пользователь, прошу Вас воспользоваться такой фишкой как спойлеры [spoiler=Hidden]Скрытый текст[/spoiler]//Kvazimado Ссылка на комментарий Поделиться на другие сайты Поделиться
JuGGerNaunT Опубликовано 18 сентября, 2012 Поделиться Опубликовано 18 сентября, 2012 Int32 MyValue = VAM.ReadInt32(ValueAddress);//это пункт Cневозможно преобразованиеПросто забыл дописать Int32 MyValue = VAM.ReadInt32((IntPtr)ValueAddress);Про числа: 0x30 - это шеснатитеричная система счисления(смещения с CE записаны имеено в ней). 30 - (без 0x перед числом) это десятичная СС. Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 19 сентября, 2012 Автор Поделиться Опубликовано 19 сентября, 2012 а каким способом я могу конвиртировать Стринг в 16чную систему?когда 2 смещения было ещё хоть как то ясно а для одного смещения я правильно сделал?VAM = new VAMemory("hitman2"); Int32 BaseAddress = 0x00400000;//это база её можно найти через Се во вкладки Memory View -View-Enumerate DLL Int32 MyOffset = 0x021FDEA0;//указатель IntPtr MainPointer = (IntPtr)(BaseAddress + MyOffset); Int32 DestAddress = VAM.ReadInt32(MainPointer);//это пункт A IntPtr MinorPointer = (IntPtr)(DestAddress + 0x30); Int32 ValueAddress = VAM.ReadInt32(MinorPointer);//это пункт B Int32 MyValue = VAM.ReadInt32((IntPtr)ValueAddress);//это пункт C textBox1.Text = Convert.ToString(0x0+ValueAddress); MessageBox.Show("адрес-----" + ValueAddress);в итоге жму на кнопку и в textBoxe вегда меняется цирф..я так и не пойму я вышел на значение адреса или на "АДРЕС" я хочу вывести адрес Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 19 сентября, 2012 Поделиться Опубликовано 19 сентября, 2012 а каким способом я могу конвиртировать Стринг в 16чную систему?Слушай, ты задаешь вопросы, которые не относятся к взлому игр, но относятся к программированию на определенном языке. Вопросы по программированию можно задать в определенной ветке форума, но сомневаюсь, что кто-то станет отвечать на вопрос, на который можно легко найти ответ в гугле. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 19 сентября, 2012 Поделиться Опубликовано 19 сентября, 2012 HPB, не стоит сводить весь свет к VaMemory. Поисковиком можно и нужно пользоваться. Там найдёшь кучу примеров на C# и среди них код по чтению указателей. И ещё запись и чтение указателей в трейнере не лучший вариант. Более предпочтительнее исправление кода игры - чаще всего это проще, чем искать указатели в играх. Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 20 сентября, 2012 Автор Поделиться Опубликовано 20 сентября, 2012 просто есть план выполнения найти адрес: на который указывает указатель +смещение + базуusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Diagnostics;using System.Runtime.InteropServices;using System.Globalization;using System.Threading;namespace Half{ public partial class Form1 : Form { VAMemory VAM; public Form1() { InitializeComponent(); VAM = new VAMemory("hitman"); Int32 BaseAddress = 0x00400000;//это база её можно найти через Се во вкладки Memory View -View-Enumerate DLL Int32 MyOffset = 0x012DF0F0;//указатель IntPtr MainPointer = (IntPtr)(BaseAddress + MyOffset); Int32 DestAddress = VAM.ReadInt32(MainPointer); IntPtr MinorPointer = (IntPtr)(DestAddress + 0x30); Int32 ValueAddress = VAM.ReadInt32(MinorPointer);//это пункт B Int32 MyValue = VAM.ReadInt32((IntPtr)DestAddress); textBox1.Text = "0x" + Convert.ToString(MyValue, 16); private void textBox1_TextChanged(object sender, EventArgs e) { textBox1.Text = textBox1.Text.ToUpper(); }но что за шняга ...этот код последовательно выполняясь выведет мне АДРЕС или что то другое?если адрес который содержит в себе "указатель" то почему он постоянно Статический даже когда я перезапускаю игру он не DMA такое чувство что я прочитал значение Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 20 сентября, 2012 Поделиться Опубликовано 20 сентября, 2012 но что за шняга ...этот код последовательно выполняясь выведет мне АДРЕС или что то другое?Ты копипастишь код не зная, что он делает. Слушайся советам, используй поисковик и научись хоть что-нибудь в С#'е. Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 20 сентября, 2012 Автор Поделиться Опубликовано 20 сентября, 2012 я не копировал код у меня был сначала один который я делал по гайду так скажем ..затем здесь мне посоветовали придержаться такого метода Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 20 сентября, 2012 Поделиться Опубликовано 20 сентября, 2012 я не копировал код у меня был сначала один который я делал по гайду так скажем ..затем здесь мне посоветовали придержаться такого методаЗнаний у тебя 0, вывод = copy + paste.Я тебе сказал, что и как делать. Посмотри, может разберёшься. Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 21 сентября, 2012 Автор Поделиться Опубликовано 21 сентября, 2012 чёрт такое чуство что вы не понимаете что я хотел бы от функциональности программы Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 21 сентября, 2012 Поделиться Опубликовано 21 сентября, 2012 чёрт такое чуство что вы не понимаете что я хотел бы от функциональности программыУ меня такое чувство, что ты не полноценный какой-то. Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 21 сентября, 2012 Автор Поделиться Опубликовано 21 сентября, 2012 ну я бы не стал бы обращаться на форум если бы знал как это сделатьда я мало знаю c# а по вашему мнению я совсем ничего не знаю..просто я изучаю её по школьной системе и ничего такого вот ещё не было ,думаю и не будет Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 22 сентября, 2012 Автор Поделиться Опубликовано 22 сентября, 2012 пожалуйста помогите : ( Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 22 сентября, 2012 Поделиться Опубликовано 22 сентября, 2012 Так ты объясни максимально подробно, что именно ты хочешь, и чем именно тебе помочь. Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 22 сентября, 2012 Автор Поделиться Опубликовано 22 сентября, 2012 Address op pointer ->hitman2.exe+0021E45CBaseAddress->0040000и как теперь быть?как мне выйти на адрес Give the new address :051BE746 .....после нахождение выдать пользователю его в TextBoxe Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 22 сентября, 2012 Поделиться Опубликовано 22 сентября, 2012 Читаешь hitman2.exe+21E45С, к считанному адресу делаешь + 0x30, далее читаешь из адреса что получился.Повторяешь шаг 1. Ссылка на комментарий Поделиться на другие сайты Поделиться
HPB Опубликовано 22 сентября, 2012 Автор Поделиться Опубликовано 22 сентября, 2012 VAM = new VAMemory("Play.exe"); Int32 Sme = 0x30; Int32 BaseAddress = 0x00400000;//это база её можно найти через Се во вкладки Memory View -View-Enumerate DLL Int32 MyOffset = 0x0FFD4F20;//указатель IntPtr MainPointer = (IntPtr)(BaseAddress + MyOffset); Int32 DestAddress = VAM.ReadInt32(MainPointer); IntPtr MinorPointer = (IntPtr)(DestAddress + Sme); Int32 ValueAddress = VAM.ReadInt32(MinorPointer); Int32 MyValue = VAM.ReadInt32((IntPtr)ValueAddress); textBox1.Text = Convert.ToString(MyValue);в текстбоксе "0"может всё из за того что тип "float"..закройте тему я нашёл изъян в таком способе выхода на адрес : )но если у кого то будет рабочий способ то прошу вас всё равно выложить Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения