Вопрос Какие значения принимает m_iTaggedAsVisibleByTeam

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
2 Авг 2024
Сообщения
2
Реакции
0
Не могу найти в Cheat Engine значение которое принимает переменная m_iTaggedAsVisibleByTeam на официальном сервере.
 
Последнее редактирование:
What is the official server?
and what are you trying to do ? are u trying to create VBE or something ?
 
Не могу найти в Cheat Engine значение которое принимает переменная m_iTaggedAsVisibleByTeam на официальном сервере.
в чистой немодифицированной доте m_iTaggedAsVisibleByTeam принимает "интересные" значения только на несколько миллисекунд и потом быстро затирается. либо патчишь этот функционал(детектится) либо работаешь в пределах этих нескольких миллисекунд(хуки коллбеки и тд) либо можешь десериализатор модифицировать(затирание по захардкоженному оффсету, а запись в нетвар по динамическому оффсету который можно поменять если захотеть)
 
сейчас её вроде убрали опять? покрайней мере пробовал искать с помощью чит енджина и нихера. само значение не обновляется, 4 всегда
 
сейчас её вроде убрали опять? покрайней мере пробовал искать с помощью чит енджина и нихера. само значение не обновляется, 4 всегда
ты читал пост который ровно над твоим? ты не найдешь ее чит енджином никак(в чистой доте)
в демке вроде все еще она работает в пабе не тестил(но наверно тоже работает)
тем более нахуя ее "искать"
Код:
Expand Collapse Copy
int32 m_iTaggedAsVisibleByTeam(offset 0xbbc, size 0x4, align 0x4)
 
ты читал пост который ровно над твоим? ты не найдешь ее чит енджином никак(в чистой доте)
в демке вроде все еще она работает в пабе не тестил(но наверно тоже работает)
тем более нахуя ее "искать"
Код:
Expand Collapse Copy
int32 m_iTaggedAsVisibleByTeam(offset 0xbbc, size 0x4, align 0x4)
да я знаю что оно быстро меняется, я забыл дописать что я просто поставил бп на ent find нашел своего героя нашел оффсет 0xbbc, поставил хард бп и никаких действий не присходит

upd. все норм, работает досихпор. как и по прежнему нужно не нопать само хеширование (shl xx,xx) а кодницию прыжка менять
 
Последнее редактирование:
кстати если че там в предметах героя уже идёт отсчёт не от 0x20 раньше (оффсет m_Inventory) а 0x24 ибо на 0х20 лежит какой шо шлак 4 байта
 
кстати если че там в предметах героя уже идёт отсчёт не от 0x20 раньше (оффсет m_Inventory) а 0x24 ибо на 0х20 лежит какой шо шлак 4 байта
C++:
Expand Collapse Copy
    C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hItems(offset 0x20, size 0x68, align 0x4)
        ^MNetworkEnable
        ^MNetworkChangeCallback "OnInventoryChanged"
там размер первые 4 байта. дальше идёт интернал буффер на 100 байт(0x68 - 4). возможно это просто массив с внутренним(в самой структурке а не на отдельном указателе) буффером фиксированного максимального размера(ну т.е. макс 25 итемов(100/sizeof(CHandle) = 25) но может быть их и меньше(но не больше)). при чём сам C_NetworkUtlVectorBase в других местах это обычный динамический массив(size 0x18), так что либо это не C_NetworkUtlVectorBase либо там какойто темплейтный параметр незадокументированный в шеме
 
да я знаю что оно быстро меняется, я забыл дописать что я просто поставил бп на ent find нашел своего героя нашел оффсет 0xbbc, поставил хард бп и никаких действий не присходит

upd. все норм, работает досихпор. как и по прежнему нужно не нопать само хеширование (shl xx,xx) а кодницию прыжка менять
shl это шифт лефт. сдвиг влево <<, т.е. умножение на 2 в степени (размер сдвига). используется часто с так называемыми флагс-енумами(которым m_iTaggedAsVisibleByTeam и является)(в флагс-енумах значения кодируются отдельными битами и могут сочетаться друг с другом, тебя может видеть и редиант и дайр одновременно и еще нейтралы и еще кто-нибудь и все это независимо друг от друга потому что там каждый байт за разную тиму отвечает, это не 32-битное число это группа из 32(ну точнее меньше она просто выровнена до 32) независимых однобитовых чисел). m_iTaggedAsVisibleByTeam имеет тип как DOTATeam_t только в двоичном эквиваленте. при затирании то самое "4" это просто редиант(третий бит(1<<2, DOTA_TEAM_GOODGUYS = 2)). за дайр у тебя там в "8" затираться будет(четвертый бит(1<<3, DOTA_TEAM_BADGUYS = 3)). т.е. тебе просто выставляет значение "тебя видит твоя тима и больше никто"
хеширование в свою очередь это использование некой функции f(x) (а обычно еще и целого алгоритма который еще доп действия делает поверх этого, типа паддинг и т.д.) на некой последовательности битов заключающееся обычно в рекуррентном мутировании(каждое следующее вычисляется на основе предыдущего вычисления(и ввода) начиная с некого изначального) некого блока/счётчика/состояния(оно потом и возвращается после всех мутаций) в целях ослепления(спрятать x и использовать только f(x) из которого сам x достать сложно) или сжатия(без дальнейшего разжатия)(x может быть большой, f(x) маленький(просто повторяющийся для неких разных x(коллизия), но неконтроллируемо и непредсказуемо)). если например сравнивать две строки, а тем более одну строку сразу с несколькими(заведомо известными), можно сделать просто хеш строки1 и сравнивать с (заранее подсчитанными) хешем строки2, хешем строки3 и так далее и сравнивать в итоге просто 4-байтовые или еще сколько-нибудь-байтовые числа что естественно будет быстрее чем сравнивать каждый символ везде(особенно если мы например про файлы говорим которые мегабайты и гигабайты весят, проще превратить всё это дерьмо в какое-нибудь маленькое число и сравнить его с другим (заранее подсчитанным) числом). мой client.dll имеет SHA256 хеш 4468E021061E524F9E8E6223E0041D6A2CB30EF5BDE786C6248395DFAF318F74, если у тебя такой же(в powershell.exe команда get-filehash -Algorithm SHA256 "blablabla\client.dll") то это значит(99.99999% вероятность условно, может просто совпадение но это супер маловероятно) что они у нас одинаковые. я не знаю каждый байт твоей клиент.длл и ты не знаешь каждый байт моей но если мы значем что f(a) == f(b) то (если мы конечно доверяем этой f и это не просто случайное маловероятное совпадение) можем сделать вывод что они равны, если нет значит не равны.
 
Последнее редактирование:
Назад
Сверху Снизу