

HPB
Пользователи-
Постов
31 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент HPB
-
почему тогда в СЕ смотрю там "Play.exe"+012F4EB0 получается совсем не 16F4EB0 такое чуство что в этом случае каламбур какойто открыл солитёр игра стандартная на пк нашёл адрес "счёта(0097810)" нашёл указатель с 1 смещением (0x30) вооот потом посмотрел базовый адрес через СЕ =00400000 сам указатель ="sol.exe"+00007170 ->00977E0 00977E0 +30 = 0097810 (адрес "счёта" получается что "sol.exe" не 00400000 что же в этом случае делать?
-
а каким образом можно это сделать более удобным способос добишь посредством программ на с++ или шарпе опять ARM4Nd0 вашим спосбом вышел на 00400000 или я может что не понимаю "Play.exe"+012F4EB0 -простое алгебраическое сложение? после чего получиться адрес или получившийся адрес укажет на какойто адрес?
-
как прочитать адрес "Play.exe" скажу ,что базовый адрес 400000 не срабатывает ....
-
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" .. закройте тему я нашёл изъян в таком способе выхода на адрес : ) но если у кого то будет рабочий способ то прошу вас всё равно выложить
-
Address op pointer ->hitman2.exe+0021E45C BaseAddress->0040000 и как теперь быть? как мне выйти на адрес Give the new address :051BE746 .....после нахождение выдать пользователю его в TextBoxe
-
пожалуйста помогите : (
-
ну я бы не стал бы обращаться на форум если бы знал как это сделать да я мало знаю c# а по вашему мнению я совсем ничего не знаю.. просто я изучаю её по школьной системе и ничего такого вот ещё не было ,думаю и не будет
-
чёрт такое чуство что вы не понимаете что я хотел бы от функциональности программы
-
я не копировал код у меня был сначала один который я делал по гайду так скажем ..затем здесь мне посоветовали придержаться такого метода
-
просто есть план выполнения найти адрес: на который указывает указатель +смещение + базу 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 такое чувство что я прочитал значение
-
а каким способом я могу конвиртировать Стринг в 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 вегда меняется цирф..я так и не пойму я вышел на значение адреса или на "АДРЕС" я хочу вывести адрес
-
ну как всегда. понятно что я мало знаю.. Coder VAM = 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 отличается совсем от того что находиться в СЕ и я не смогу через другую программу вставив этот полученный результат подключиться к процессу и найти адрес
-
а если тыкнуть носом ну подскажите пожалуйста чтоб я забыл всё это как страшный сон.. и вас не мучил и себя
-
а что для вывода прочитанного адрес нужно? какой метод единственное что я знаю похоже на Read это ReadBytes/ReadChars (как то писал программку с обменом сообщения ..и эти методы высчитывали N кол-во байтов)
-
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 + "!"); else MessageBox.Show("There was an error writing 1000 to " + sWritten_Address + "."); oMemory.CloseHandle(); } } блин хороший вариант но без базы
-
вот зашёл в игру я ...именно такой же базовый адрес "00400000" и что дальше? как это всё будет примерно выглядеть в шарпе? Address op pointer ->hitman2.exe+0021E45C BaseAddress->0040000 и как теперь быть? http://forum.gamehac...B5%D1%81%D1%83/ что то я не пойму
-
я только что нашел блог kenga случайно и да я до сих пор не смог прочитать указатель.. выйти на действительный нужный мне адрес поэтому и обратился к вам..так как не знал как справиться у меня есть 2 программы 1. исполняемая (тобишь ты ввёл адрес и всё она покатила тебе там делать сама что надо) 2. именно нужно найти вот этот адрес чтобы именно в первую и вставить код кенга очень массивный это ж сколько будет моя програмка хоть и в Кб но всё равно .... Coder помоги ещё разок только чтоб уж до меня дошло до конца : ( ну не получается у меня я уже по разному перепробовал... объясни на примеру игры Hitman - Silent Assassin как и что куда записать "как говориться последнее китайское после которого я пойму" как я разобрался указатель 0021E45C прибовляем 30 получаем 0012СС54 + 96 получаем 064EE746(конечный адрес..) как мне его найти посредством c# разсусольте пожалуйста ..буду вам благодарен мне не нужно найти значение а именно "конечный адрес" который в себе содержал указатель
-
ну я же не настолько ничтожен http://kekekeng.blog.../2012/05/c.html классов нет
-
я не убийца просто ну не знаю я
-
всё таки с вторы параметром что то не так гуглю. JuGGerNaunT а почему у меня его вариант выдавал другой адрес или это был вовсе не адрес?
-
к сож. учу немец но тут ничего сложного не было... вы правы мне нужно : int basepointer = 0x011А0EA0; int offsets = 30; int level = 1; ? (int basepointer = 0x011А0EA0,int level = 1, Int32[] offsets = 0x30)
-
где basepointer-указатель? offsets-офсет смещения ? так или не так или это так сложно или я такой тугодум ааа ужасно как же это действует на мозг
-
я и хотел это сказать не правильно выразился... я знаю что указатель "указывает на другой адрес" тобишь обычный jmp а в чём моя проблема?
-
я знаю что указатель это адрес в памяти и если я буду на него ссылаться то он должен "jmp" как бы на другой адрес + относительное смещение минимальное знание о указатели и представление где работаю а вы все такие "профи" ....сразу бы закопали ваша б воля "на ошибках учатся" я читал ни одну книгу и всегда мало что ясно, пока не попробуешь это сам.! ,а..когда сталкиваешь то на практике совсем все иначе