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

JuGGerNaunT

Стажёры
  • Постов

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

  • Посещение

  • Победитель дней

    1

JuGGerNaunT стал победителем дня 4 сентября 2012

JuGGerNaunT имел наиболее популярный контент!

Репутация

1 Навыки не прокачены

Информация

  • Пол
    Не определился
  1. Проблема в том, что функцию FPSText() нужно не в if(){} вызывать, а постоянно.
  2. Просто забыл дописать Int32 MyValue = VAM.ReadInt32((IntPtr)ValueAddress); Про числа: 0x30 - это шеснатитеричная система счисления(смещения с CE записаны имеено в ней). 30 - (без 0x перед числом) это десятичная СС.
  3. Int32 BaseAddress = 0x00400000; Int32 MyOffset = 0x0021E45C; IntPtr MainPointer = (IntPtr)(BaseAddress + MyOffset + 30); Int32 DestAddress = VAM.ReadInt32(MainPointer);//это пункт A IntPtr MinorPointer = (IntPtr)(DestAddress + 0x96); Int32 ValueAddress = VAM.ReadInt32(MinorPointer) ;//это пункт B Int32 MyValue = VAM.ReadInt32(ValueAddress);//это пункт C textBox1.Text = Convert.ToString(MyValue);
  4. Вот тут у тебя и ошибка. an2.exe + 0021E45C - это адрес от начала базы. an2.exe - это база. 0021E45C - смещение от нее. Чему равна база? Как ее найти через vamemory я не знаю, но это и не очень обязательно. Ее можно глянуть для конкретной игры в окне Enumerate Dlls(чтобы туда попасть нужно с окне Memory view выбрать View->Enumerates Dll's and Symbols). Обведенное - это значение базы. В этом списке тебе надо искать an2.exe. Т.е. в указанном выше примере получается: Указатель 0021E45C прибовляем 00400000(это база твоей игры, она может отличаться) и 30. Получаем 0012СС54 + 96 получаем 064EE746(конечный адрес) PS предвижу что это все равно ктонить скажет: да, база игры может меняться, поэтому правильно будет ее находить в программе с помощью специальной функции. Но т.к. на практике это редкий случай, то для начала достаточно подставлять ее вручную.
  5. Ты просто не правильно разобрался, что куда указывает. Открой значение из своей таблицы, которое содержит указатель. Там где написано "твой указатель", подставляешь в строку Int32 DestAddress = VAM.ReadInt32((IntPtr)твой_указатель); А в textbox записываешь не это значение, а пересчитаное. В итоге получаешь: Int32 DestAddress = VAM.ReadInt32((IntPtr)твой_указатель); Int32 MyValue = VAM.ReadInt32(((IntPtr)DestAddress) + 30); textBox1.Text = Convert.ToString(MyValue);
  6. Int32 Jordan = Convert.ToInt32(textBox1.Text, 16); //читаешь значение с формы Int32 DestAddress = VAM.ReadInt32((IntPtr)Jordan); //читаешь содержимое указателя(он содержит адрес) Int32 MyValue = VAM.ReadInt32(((IntPtr)DestAddress) + 30); //читаешь само значение Ну вот такой вариант может работать. Последняя строчка может изменяться в зависимости от того, какое значение у тебя итоговое: если float, то последняя строка будет Single MyValue = VAM.ReadFloat(((IntPtr)DestAddress) + 30);
  7. JuGGerNaunT

    Timmy Trainme

    Зачем там такие выкрунтасы? Есть статический адрес 0x00403279, уменьшаем значение - число становится больше, увеличиваем - меньше.
  8. Адресс инструкции записи в значение - TrainME.exe+135C(можно занопить), проверка но целостность - TrainME.exe+1250(просто перепрыгиваем проверку)
  9. Не много. Не имеет никакого значения сколько памяти ты выделяешь, если она меньше 4Кб(ну или какой у кого размер страницы).
×
×
  • Создать...

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

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