Перейти к содержанию
Авторизация  
GlKorol

[Python] Как пройти циклом по структурам игроков, если смещение разное

Рекомендуемые сообщения

Хочу вывести ники всех игроков в cs1.6. Нашел их структуру игроков, адреса от ника до ника: 

Спойлер

{'RealAddress': '05AFFF15'}
{'RealAddress': '05B000FC'}
{'RealAddress': '05B0034C'}
{'RealAddress': '05B0059C'}
{'RealAddress': '05B007EC'}
{'RealAddress': '05B00A3C'}
{'RealAddress': '05B00C8C'}
{'RealAddress': '05B00EDC'}
{'RealAddress': '05B0112C'}
{'RealAddress': '05B0137C'}
{'RealAddress': '05B015CC'}
{'RealAddress': '05B0181C'}
{'RealAddress': '05B01A6C'}
{'RealAddress': '05B01CBC'}
{'RealAddress': '05B01F0C'}
{'RealAddress': '05B0215C'}

 

это их адреса. 05B000FC -  05AFFF15 =  1E7(hex)  или 487 (dec)
                            05B0059C - 05B0034C =  250(hex) или 592 (dec)
Если проходить циклом, по смещением 487(dec), то на ники не выхожу.... Если со смещением 592 - тоже самое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, GlKorol сказал:

Если проходить циклом, по смещением 487(dec), то на ники не выхожу

А самый первый адрес 

{'RealAddress': '05AFFF15'}

это что?

Только он один отличается,

А так - у тебя смещение 250 от игрока к игроку.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Garik66 сказал:

А самый первый адрес 


{'RealAddress': '05AFFF15'}

это что?

Только он один отличается,

А так - у тебя смещение 250 от игрока к игроку.

 

Это самый первый ник(мой)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, GlKorol сказал:

Это самый первый ник(мой)

И тогда вопрос - от какого адреса начинаешь цикл?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, Garik66 сказал:

И тогда вопрос - от какого адреса начинаешь цикл?

 

От своего(05AFFF15 ). Ведь может в этом адресе может быть не только мой ник, а другого игрока. Так  уже было.

Изменено пользователем GlKorol

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, GlKorol сказал:

От своего(05AFFF15 ). Ведь может в этом адресе может быть не только мой ник, а другого игрока. Так на серверах.

Для эксперимента - попробуй сделать цикл от второго адреса - посмотри будут ники?

5 минут назад, GlKorol сказал:

От своего(05AFFF15 ).

ЗЫ: Появилась кое-какая мысль.

Заодно посмотри, а что лежит в этом адресе - 05AFFEAC

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Garik66 сказал:

Для эксперимента - попробуй сделать цикл от второго адреса - посмотри будут ники?

Получилось. Но код вышел не самый красивый(я сразу всё оформил). 
 

arrayUsers = HW + 0x11CFF15
print(read_memory(PROCESS.handle,arrayUsers,'s',lentext=350))
arrayUsers += 0x1e7
print(read_memory(PROCESS.handle,arrayUsers,'s',lentext=350))
for i in range(31):
    arrayUsers += 0x250
    print(read_memory(PROCESS.handle,arrayUsers,'s',lentext=350))

P/s функция readmemory считывает участок памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, GlKorol сказал:

Получилось.

И все таки глянь, может не заметил вот это:

11 минут назад, Garik66 сказал:

Заодно посмотри, а что лежит в этом адресе - 05AFFEAC

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, Garik66 сказал:

И все таки глянь, может не заметил вот это:

 

image.png
Вот. 
Да я не заметил:(
p/s это при игре с ботами, не стал заходить на сервер

Изменено пользователем GlKorol

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, GlKorol сказал:

Вот. 

:D Адрес, который я написал, выше.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, Garik66 сказал:

:D Адрес, который я написал выше.

 

image.png

Хм... На первый взгляд там ничего интересного
Просмотрел полный текст, вот: \bottomcolor\3\cl_dlmax\128\cl_lc\1\cl_lw\1\skin\20338545ea\topcolor\0\cl_updaterate\101\rate\25000\hwp\1\name\GlKorol\*sid\0\model\terrorror

Изменено пользователем GlKorol

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, GlKorol сказал:

На первый взгляд там ничего интересного

Да. Мысль оказалось не верной. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Garik66 сказал:

Да. Мысль оказалось не верной. 

У меня еще один вопрос, не знаете способы определить начало структур игроков. Мне пришлось добавлять максимум ботов, 31, и искать самый маленький адрес. Есть другие способы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, GlKorol сказал:

У меня еще один вопрос, не знаете способы определить начало структур игроков. Мне пришлось добавлять максимум ботов, 31, и искать самый маленький адрес. Есть другие способы?

Поищи на форуме - было уже несколько подобных тем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, GlKorol сказал:

Есть другие способы?

Найти нормальную структуру, а от неё выйти на массив со всеми адресами игроков. Так у тебя будут смещений статичные для всех игроков для определенной характеристики/информации по игроку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
17 часов назад, partoftheworlD сказал:

Найти нормальную структуру, а от неё выйти на массив со всеми адресами игроков. Так у тебя будут смещений статичные для всех игроков для определенной характеристики/информации по игроку.

Что вы подразумеваете под нормальной структурой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 часов назад, GlKorol сказал:

Что вы подразумеваете под нормальной структурой?

Тебе достаточно найти 1 класс, чтобы получить информацию об игроке.
Т.е выходишь на класс CBaseEntity/CBasePlayer, через здоровье, бронь, координаты и т.д, а после ищешь где в этой структуре находится имя игрока. Теперь достаточно найти список игроков и гарантированно, что у всех игроков в этом списке по найденному смещению будет располагаться имя игрока. Плюс на github есть исходники движка gold source, так что нахождение разных смещений будет очень простым.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

×

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

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