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

HPB

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

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

  • Посещение

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

  1. HPB

    баз. адрес

    почему тогда в СЕ смотрю там "Play.exe"+012F4EB0 получается совсем не 16F4EB0 такое чуство что в этом случае каламбур какойто открыл солитёр игра стандартная на пк нашёл адрес "счёта(0097810)" нашёл указатель с 1 смещением (0x30) вооот потом посмотрел базовый адрес через СЕ =00400000 сам указатель ="sol.exe"+00007170 ->00977E0 00977E0 +30 = 0097810 (адрес "счёта" получается что "sol.exe" не 00400000 что же в этом случае делать?
  2. HPB

    баз. адрес

    а каким образом можно это сделать более удобным способос добишь посредством программ на с++ или шарпе опять ARM4Nd0 вашим спосбом вышел на 00400000 или я может что не понимаю "Play.exe"+012F4EB0 -простое алгебраическое сложение? после чего получиться адрес или получившийся адрес укажет на какойто адрес?
  3. HPB

    баз. адрес

    как прочитать адрес "Play.exe" скажу ,что базовый адрес 400000 не срабатывает ....
  4. 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" .. закройте тему я нашёл изъян в таком способе выхода на адрес : ) но если у кого то будет рабочий способ то прошу вас всё равно выложить
  5. Address op pointer ->hitman2.exe+0021E45C BaseAddress->0040000 и как теперь быть? как мне выйти на адрес Give the new address :051BE746 .....после нахождение выдать пользователю его в TextBoxe
  6. ну я бы не стал бы обращаться на форум если бы знал как это сделать да я мало знаю c# а по вашему мнению я совсем ничего не знаю.. просто я изучаю её по школьной системе и ничего такого вот ещё не было ,думаю и не будет
  7. чёрт такое чуство что вы не понимаете что я хотел бы от функциональности программы
  8. я не копировал код у меня был сначала один который я делал по гайду так скажем ..затем здесь мне посоветовали придержаться такого метода
  9. просто есть план выполнения найти адрес: на который указывает указатель +смещение + базу 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 такое чувство что я прочитал значение
  10. а каким способом я могу конвиртировать Стринг в 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 вегда меняется цирф..я так и не пойму я вышел на значение адреса или на "АДРЕС" я хочу вывести адрес
  11. ну как всегда. понятно что я мало знаю.. 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 отличается совсем от того что находиться в СЕ и я не смогу через другую программу вставив этот полученный результат подключиться к процессу и найти адрес
  12. а если тыкнуть носом ну подскажите пожалуйста чтоб я забыл всё это как страшный сон.. и вас не мучил и себя
  13. а что для вывода прочитанного адрес нужно? какой метод единственное что я знаю похоже на Read это ReadBytes/ReadChars (как то писал программку с обменом сообщения ..и эти методы высчитывали N кол-во байтов)
  14. 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(); } } блин хороший вариант но без базы
  15. вот зашёл в игру я ...именно такой же базовый адрес "00400000" и что дальше? как это всё будет примерно выглядеть в шарпе? Address op pointer ->hitman2.exe+0021E45C BaseAddress->0040000 и как теперь быть? http://forum.gamehac...B5%D1%81%D1%83/ что то я не пойму
  16. я только что нашел блог kenga случайно и да я до сих пор не смог прочитать указатель.. выйти на действительный нужный мне адрес поэтому и обратился к вам..так как не знал как справиться у меня есть 2 программы 1. исполняемая (тобишь ты ввёл адрес и всё она покатила тебе там делать сама что надо) 2. именно нужно найти вот этот адрес чтобы именно в первую и вставить код кенга очень массивный это ж сколько будет моя програмка хоть и в Кб но всё равно .... Coder помоги ещё разок только чтоб уж до меня дошло до конца : ( ну не получается у меня я уже по разному перепробовал... объясни на примеру игры Hitman - Silent Assassin как и что куда записать "как говориться последнее китайское после которого я пойму" как я разобрался указатель 0021E45C прибовляем 30 получаем 0012СС54 + 96 получаем 064EE746(конечный адрес..) как мне его найти посредством c# разсусольте пожалуйста ..буду вам благодарен мне не нужно найти значение а именно "конечный адрес" который в себе содержал указатель
  17. ну я же не настолько ничтожен http://kekekeng.blog.../2012/05/c.html классов нет
  18. всё таки с вторы параметром что то не так гуглю. JuGGerNaunT а почему у меня его вариант выдавал другой адрес или это был вовсе не адрес?
  19. к сож. учу немец но тут ничего сложного не было... вы правы мне нужно : int basepointer = 0x011А0EA0; int offsets = 30; int level = 1; ? (int basepointer = 0x011А0EA0,int level = 1, Int32[] offsets = 0x30)
  20. где basepointer-указатель? offsets-офсет смещения ? так или не так или это так сложно или я такой тугодум ааа ужасно как же это действует на мозг
  21. я и хотел это сказать не правильно выразился... я знаю что указатель "указывает на другой адрес" тобишь обычный jmp а в чём моя проблема?
  22. я знаю что указатель это адрес в памяти и если я буду на него ссылаться то он должен "jmp" как бы на другой адрес + относительное смещение минимальное знание о указатели и представление где работаю а вы все такие "профи" ....сразу бы закопали ваша б воля "на ошибках учатся" я читал ни одну книгу и всегда мало что ясно, пока не попробуешь это сам.! ,а..когда сталкиваешь то на практике совсем все иначе
×
×
  • Создать...

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

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