BashkaMen Опубликовано 20 февраля, 2017 Поделиться Опубликовано 20 февраля, 2017 Привет, ребята. Я программирую я давно и тема хакинга была интересна всегда, но никак эта тема мне не поддавалась. В общем со статическими адресами проблем нет, взял->прочитал->вывел - просто! Но решил все же разобраться с указателями, всё таки они на много чаще встречаются. Нашел я адрес на ХП героя в Доте 2, потом нашел указатели, потом отсеял 3 раза, в итоге есть рабочий указатель, СЕ показывает верные значения. У меня есть VAMemory думаю кто-то да знает что это за библиотека. С помощью её я и пытался прочитать значения. Это выдавало 0, потом я наткнулся на статью где сказали что указатели всегда будут 0 и нужно идти по другому. Там использовали указатели (*) я пробовал по их методу - получил тоже самое. Потом я нашел ещё статью где делали так serverBase = getModuleAddress("server.dll", "dota2"); var ptr1 = serverBase + 0x021E2CE0; var ptr2 = ptr1 + 0x0; var ptr3 = ptr2 + 0x128; while (true) { Console.WriteLine(vam.ReadInt32(ptr3)); Thread.Sleep(100); Console.Clear(); } но тут тоже 0. Что я делаю не так? помогите, буду очень благодарен. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 20 февраля, 2017 Поделиться Опубликовано 20 февраля, 2017 Я не знаю ни одного языка программирования, но судя по скриншоту у тебя игра 64-битная и скорее всего не корректно использовать ReadInt32 Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 20 февраля, 2017 Поделиться Опубликовано 20 февраля, 2017 (изменено) 25 минуты назад, BashkaMen сказал: Что я делаю не так? помогите, буду очень благодарен. То что ты складываешь 2 значения, а их надо читать. Покажу на примере C++ Цитата ReadProcessMemory(handle, (pbyte*)serverBase + 0x021E2CE0,&buffer, 4, 0 ) //получаешь 1 уровень базовый адрес [baseaddr + 0x21E2CE0] ReadProcessMemory(handle, (pbyte*)buffer, &buffer 4, 0 ) //получаешь 2 уровень указателя [[baseaddr + 0x21E2CE0] + 0x0] ReadProcessMemory(handle, (pbyte*)buffer + 0x128, &buffer 4, 0 ) //получаешь 3 уровень указателя[[[baseaddr + 0x21E2CE0] + 0x0] + 0x128] Изменено 20 февраля, 2017 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
BashkaMen Опубликовано 20 февраля, 2017 Автор Поделиться Опубликовано 20 февраля, 2017 (изменено) я читал int32 первое значение было огромным но второе уже 0, спасибо что ответил Изменено 20 февраля, 2017 пользователем BashkaMen Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 20 февраля, 2017 Поделиться Опубликовано 20 февраля, 2017 (изменено) 7 минут назад, BashkaMen сказал: я читал int32 первое значение было огромным но второе уже 0, спасибо что ответил первое значение у тебя будет огромным, потому что оно в QDWORD,а ты выводишь наверное int. Изменено 20 февраля, 2017 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
BashkaMen Опубликовано 20 февраля, 2017 Автор Поделиться Опубликовано 20 февраля, 2017 Я на c# там нет DWORD судя по коду ты все считываешь в указатель массив байтов? Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 20 февраля, 2017 Поделиться Опубликовано 20 февраля, 2017 фу блин си шурп Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 20 февраля, 2017 Поделиться Опубликовано 20 февраля, 2017 1 минуту назад, BashkaMen сказал: судя по коду ты все считываешь в указатель массив байтов? Обычный буфер где будет хранится твой адрес. Ссылка на комментарий Поделиться на другие сайты Поделиться
BashkaMen Опубликовано 20 февраля, 2017 Автор Поделиться Опубликовано 20 февраля, 2017 Походу кодеры c++ не знают что такое типизация Без обид, но ведь у буфера есть тип? Ссылка на комментарий Поделиться на другие сайты Поделиться
BashkaMen Опубликовано 20 февраля, 2017 Автор Поделиться Опубликовано 20 февраля, 2017 14 минуты назад, partoftheworlD сказал: Обычный буфер где будет хранится твой адрес. Вывод: 0 Помогите прошу Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 20 февраля, 2017 Поделиться Опубликовано 20 февраля, 2017 9 минут назад, BashkaMen сказал: Помогите прошу посмотри урок Coder как раз по твоей теме указатели и на C#, может поможет. Ссылка на комментарий Поделиться на другие сайты Поделиться
BashkaMen Опубликовано 20 февраля, 2017 Автор Поделиться Опубликовано 20 февраля, 2017 Только что, Garik66 сказал: посмотри урок Coder как раз по твоей теме указатели и на C#, может поможет. как раз смотрю и пишу:D Спасибо, вроде иду к целе!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
BashkaMen Опубликовано 20 февраля, 2017 Автор Поделиться Опубликовано 20 февраля, 2017 Спасибо всем кто ответил. Видос помог, главное правильно прочитать на уровне типов. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения