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

uhx

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

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

  • Посещение

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

    9

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

  1. Раза 2 смотрел данное видео, но не до конца (лишь про поиск указателей). Щас повнимательней послушаю его... Да и опять же повторюсь, искать базовый адрес + оффсеты первым методом - это самоубийство, ибо их там просто дохрена. А как мне извлечь базовый адрес из какого-либо модуля (dll допустим), с которого начинается все это смещение - я не пойму. Я это вспомнил сразу же после отправки поста, поэтому и добавил "И лишь из-за этого я сделал соответствущий вывод."
  2. Ты реально думаешь, что я лезу в память, не зная основ? Хах. Как по мне, то я достаточно изучил, чтобы хотя бы научиться изменять память (хотя бы с помощью уже имеющихся функций ProcessMemory). Последнее, в чем я разбирался ( не считая этой темы ), то это стеки, очереди. И да: И лишь из-за этого я сделал соответствущий вывод. ЗЫ только недавно начал как-то с памятью разбираться, поэтому не надо сразу посылать куда подальше
  3. Мда... Щас опять приаттачил ольку к процессу, посмотрел базовый адрес - совсем другой... И как быть? Как найти хоть что то статическое? Как мне, блин, уже пройтись по указателям и получить НУЖНЫЙ АДРЕС?! Такой код не пашет #include <iostream> #include <windows.h> using namespace std; int main(){ DWORD baseAddr = 0x038D0000; // Базовый адрес, который меняется ._. HWND hwnd = FindWindow(0,L"S.T.A.L.K.E.R.: Shadow Of Chernobyl"); DWORD pid; int Money=0; GetWindowThreadProcessId(hwnd,&pid); HANDLE phandle = OpenProcess(PROCESS_ALL_ACCESS,0,pid); ReadProcessMemory(phandle, (LPVOID)(baseAddr + 0x0028F96C), &baseAddr, sizeof(DWORD), 0); // + 0x744 + 0x44 + 0x234 ReadProcessMemory(phandle, (LPVOID)(baseAddr + 0x744), &baseAddr, sizeof(DWORD), 0); ReadProcessMemory(phandle, (LPVOID)(baseAddr + 0x44), &baseAddr, sizeof(DWORD), 0); ReadProcessMemory(phandle, (LPVOID)(baseAddr + 0x234), &baseAddr, sizeof(DWORD), 0); ReadProcessMemory(phandle, (LPVOID)baseAddr, &Money, sizeof(Money), 0); cout<<"Value: "<<money<<"\nerrors: "<<getlasterror()<<"\nnew="" value:="" ";="" system("pause="">>void"); } Такой тоже ReadProcessMemory(hProcess, (LPVOID)baseAddr + 0x15AC34, (LPVOID)baseAddr, 4, NULL); ReadProcessMemory(hProcess, (LPVOID)baseAddr + 0x264, (LPVOID)baseAddr, 4, NULL); ReadProcessMemory(hProcess, (LPVOID)baseAddr + 0x0, (LPVOID)baseAddr, 4, NULL); ReadProcessMemory(hProcess, (LPVOID)baseAddr + 0x20, (LPVOID)baseAddr, 4, NULL);
  4. Благодарю! Я раньше немного в олли копался, поэтому думаю проблем возникнуть не должно А еще вопрос один, можно ли всю эту цепочку поместить в одну функцию? Типо ReadProcessMemory(hProcess, (LPVOID)baseAddr + 0x15AC34 + 0x264 + 0x0 + 0x20, (LPVOID)baseAddr, 4, NULL); Внизу что-то очень страшное и неработающее
  5. А можно пример с ReadProcessMemory? Я допустим через поинтер скан нашел какую-то цепочку указателей (их просто дохрена, около 10к... ппц) Но как мне через эту цепочку воздействовать на память то? ЗЫ В *(memory + 4) = 10; // эквивалентно memory[4] = 10;, не? Вообщем К какому адресу мне надо прибавлять 0x264 + 0x0 + 0x20 ? Просто не совсем догоняю... а если честно, то вообще не догоняю))
  6. Здравствуйте! Почитал всякие статейки, посмотрел пару видео, но у меня все же возникли вопросы. 1. Допустим я ищу указатель 3 "уровня"... Но дело в том, что с каждым уровнем их порой не становится меньше, а все так же куча указателей (15-20 шт.) как и при первом поиске... Может есть какой-то более оптимальный поиск? А то разбирать все 15 указателей на "нужный"-"не нужный" при каждом поиске не ахти. ЗЫ и насколько я понял, оффсеты могут измениться, допустим, при обновлении игры (это я на будущее), но, насколько мне известно, есть и более надежные способы для поиска нужного адреса. 2. Может ли кто-нибудь привести пример на C++, как обращаться к памяти через указатели. Как бы найти то я их могу (если их не так много, как я описал выше), а вот как и с чем их есть в С++ не понимаю)
×
×
  • Создать...

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

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