Гайд Новые сигнатуры, индексы и оффсеты под обновления

Пользователь
Статус
Оффлайн
Регистрация
8 Апр 2022
Сообщения
671
Реакции[?]
106
Поинты[?]
69K
Да ты заебал
Третий раз уже говоришь
Мы может просто хотим хукнуть функцию и кайфовать
чтобы другие люди видели что делать лишний хук не обязательно когда у тебя хукнут нетчан
 
🤡
Пользователь
Статус
Оффлайн
Регистрация
28 Апр 2014
Сообщения
127
Реакции[?]
163
Поинты[?]
21K
чтобы другие люди видели что делать лишний хук не обязательно когда у тебя хукнут нетчан
У этого метода есть опр. нюансы. Ты изучал внутри как оно работает?
 
Пользователь
Статус
Оффлайн
Регистрация
8 Апр 2022
Сообщения
671
Реакции[?]
106
Поинты[?]
69K
🤡
Пользователь
Статус
Оффлайн
Регистрация
28 Апр 2014
Сообщения
127
Реакции[?]
163
Поинты[?]
21K
Начинающий
Статус
Оффлайн
Регистрация
16 Авг 2022
Сообщения
36
Реакции[?]
4
Поинты[?]
4K
constexpr uint32_t IsInGame = 31;
constexpr uint32_t FrameStageNotify = 31;

PrepareUnitOrders = 4C 89 4C 24 20 44 89 44 24 18 89 54 24 10 48
RunScript = 48 89 5C 24 10 48 89 6C 24 18 56 57 41 54 41 56 41 57 48 81 EC E0
OnAcceptMatch = E8 ? ? ? ? 48 8D 4B 28FF C6
CNetChan::`vftable' = 48 8D 05 ?? ?? ?? ?? 48 89 69 20
CDOTAParticleManagerPtr2x = E8 ? ? ? ? 66 0F 6E FB
 
Начинающий
Статус
Оффлайн
Регистрация
16 Авг 2022
Сообщения
36
Реакции[?]
4
Поинты[?]
4K
Also, any idea why FindDeclaredClass returns null?
Edit: "FindTypeScopeForModule" is updated
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
16 Авг 2022
Сообщения
36
Реакции[?]
4
Поинты[?]
4K
adsadsadadasdasda.jpg

Okay, I saw this from ExistedDim4, and I hope I can help to update the his cheat, because his source code helped me a lot to write my own cheat and learn a bit about dota 2 internal stuff.
I'm going to write whatever I changed to get my cheat work again.

Schema:
        return CallVFunc<13, CSchemaSystemTypeScope*>(module, nullptr);
I saw from IDA that they changed GetScope parameters, it gets a second parameter and checks if it's null or not, if it is, it works like the past.

Signatures:
RegisterConvar: 48 89 5C 24 08 48 89 74 24 10 48 89 7C 24 18 55 41 54 41 55 41 56 41 57 48 8D 6C 24 D1 48 81 EC A0
ProjectileManagerPtr:48 8d 05 ? ? ? ? 48 89 05 ? ? ? ? 48 83 c4 ? c3 cc cc cc cc cc cc cc cc 48 8b 15 ? ? ? ? 48 8d 0d ? ? ? ? e9? ? ? ? cc cc cc cc cc cc cc cc cc cc cc cc cc 48 83 ec
ParticleManagerPtr(2x): E8 ? ? ? ? 66 0F 6E FB
CNetChan::`vftable': 48 8D 05 ?? ?? ?? ?? 48 89 69 20
OnAcceptMatch: E8 ? ? ? ? 48 8D 4B 28FF C6
RunScript: 48 89 5C 24 10 48 89 6C 24 18 56 57 41 54 41 56 41 57 48 81 EC E0
PrepareUnitOrders: 4C 89 4C 24 20 44 89 44 24 18 89 54 24 10 48

CDOTABaseAbility->GetDamage: VirtualFunction<297, int32_t>();
CDOTABaseAbility->GetEffectiveCastRange: VirtualFunction<262, int32_t>(nullptr,nullptr,nullptr);
CDOTABaseNPC::GetAttackRange(): 283
CDOTABaseNPC::GetPhysicalArmor(): 286
CDOTABaseNPC::GetMagicalArmor(): 287
If there's anything else you need that you don't feel like doing yourself, let me know. I hope you continue to improve your cheat so I can learn from you.
 
Ревёрсер среднего звена
Пользователь
Статус
Оффлайн
Регистрация
24 Ноя 2022
Сообщения
303
Реакции[?]
108
Поинты[?]
57K
I hope you continue to improve your cheat so I can learn from you.
Unfortunately, I lost interest + I won't have time for it anyway.
Thank you for your efforts, for some reason I didn't see I could just pass nullptr into GetScope
Will also need to find SaveSerializedSOCache or how that was called. For manabars they just changed the entire function, needs further investigation. mana_shield xref still seems to be on the right track.
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
781
Реакции[?]
331
Поинты[?]
63K
Unfortunately, I lost interest + I won't have time for it anyway.
Thank you for your efforts, for some reason I didn't see I could just pass nullptr into GetScope
Will also need to find SaveSerializedSOCache or how that was called. For manabars they just changed the entire function, needs further investigation. mana_shield xref still seems to be on the right track.
CDOTAGCClientSystem::Shutdown(2 индекс виртуальная функция IGameSystem::Shutdown)
"cache_%u_%u.soc" хреф
можешь просто сделать так чтобы она не вызывалась/ничего не делала/внутри вырезать аккуратно вызов сейва/либо сам сейв кеша уебать
внутри нее по-моему вызов SaveSerializedSOCache и потом еще анрег всякой стимовской хуйни
 
Ревёрсер среднего звена
Пользователь
Статус
Оффлайн
Регистрация
24 Ноя 2022
Сообщения
303
Реакции[?]
108
Поинты[?]
57K
CDOTAGCClientSystem::Shutdown(2 индекс виртуальная функция IGameSystem::Shutdown)
"cache_%u_%u.soc" хреф
можешь просто сделать так чтобы она не вызывалась/ничего не делала/внутри вырезать аккуратно вызов сейва/либо сам сейв кеша уебать
внутри нее по-моему вызов SaveSerializedSOCache и потом еще анрег всякой стимовской хуйни
Та я уже нашёл заново, там просто почему-то сигмейкер генил такую же сигу, но по ней же не мог найти. Лично я тупо даю функции вызваться и сам удаляю эти файлы.
Посмотреть вложение 257818

Okay, I saw this from ExistedDim4, and I hope I can help to update the his cheat, because his source code helped me a lot to write my own cheat and learn a bit about dota 2 internal stuff.
I'm going to write whatever I changed to get my cheat work again.

Schema:
        return CallVFunc<13, CSchemaSystemTypeScope*>(module, nullptr);
I saw from IDA that they changed GetScope parameters, it gets a second parameter and checks if it's null or not, if it is, it works like the past.

Signatures:
RegisterConvar: 48 89 5C 24 08 48 89 74 24 10 48 89 7C 24 18 55 41 54 41 55 41 56 41 57 48 8D 6C 24 D1 48 81 EC A0
ProjectileManagerPtr:48 8d 05 ? ? ? ? 48 89 05 ? ? ? ? 48 83 c4 ? c3 cc cc cc cc cc cc cc cc 48 8b 15 ? ? ? ? 48 8d 0d ? ? ? ? e9? ? ? ? cc cc cc cc cc cc cc cc cc cc cc cc cc 48 83 ec
ParticleManagerPtr(2x): E8 ? ? ? ? 66 0F 6E FB
CNetChan::`vftable': 48 8D 05 ?? ?? ?? ?? 48 89 69 20
OnAcceptMatch: E8 ? ? ? ? 48 8D 4B 28FF C6
RunScript: 48 89 5C 24 10 48 89 6C 24 18 56 57 41 54 41 56 41 57 48 81 EC E0
PrepareUnitOrders: 4C 89 4C 24 20 44 89 44 24 18 89 54 24 10 48

CDOTABaseAbility->GetDamage: VirtualFunction<297, int32_t>();
CDOTABaseAbility->GetEffectiveCastRange: VirtualFunction<262, int32_t>(nullptr,nullptr,nullptr);
CDOTABaseNPC::GetAttackRange(): 283
CDOTABaseNPC::GetPhysicalArmor(): 286
CDOTABaseNPC::GetMagicalArmor(): 287
If there's anything else you need that you don't feel like doing yourself, let me know. I hope you continue to improve your cheat so I can learn from you.
Thanks for vfunc indices and new sigs, saved me a lot of trouble.
You can ignore obsolete stuff like Particle/Projectile Manager and RegisterConVar sigs + RunScript is a vfunc. Not everything that is in signatures.json should be updated, but perhaps I need to keep it clean.
 
Последнее редактирование:
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
781
Реакции[?]
331
Поинты[?]
63K
Та я уже нашёл заново, там просто почему-то сигмейкер генил такую же сигу, но по ней же не мог найти. Лично я тупо даю функции вызваться и сам удаляю эти файлы.

Thanks for vfunc indices and new sigs, saved me a lot of trouble.
You can ignore obsolete stuff like Particle/Projectile Manager and RegisterConVar sigs + RunScript is a vfunc. Not everything that is in signatures.json should be updated, but perhaps I need to keep it clean.
возможно у тебя брейкпоинт включенный на этой функции в дебаггере стоял, поэтому и функцию по сиге ты не мог найти(брейкпоинт дефолтный осуществляется байтпатчем оригинальной инструкции на инструкцию int3(которая при выполнении исключение кидает которое дебаггер потом ловит и обрабатывает и останавливает тебе приложуху), и дебаггер потом визуально скрывает эту int3 и показывает оригинал как будто он ничего не патчил, но на самом деле в памяти там будет другая инструкция(байт 0xCC) поэтому по сиге место уже не найдешь пока не выключишь бп)
 
Ревёрсер среднего звена
Пользователь
Статус
Оффлайн
Регистрация
24 Ноя 2022
Сообщения
303
Реакции[?]
108
Поинты[?]
57K
возможно у тебя брейкпоинт включенный на этой функции в дебаггере стоял, поэтому и функцию по сиге ты не мог найти(брейкпоинт дефолтный осуществляется байтпатчем оригинальной инструкции на инструкцию int3(которая при выполнении исключение кидает которое дебаггер потом ловит и обрабатывает и останавливает тебе приложуху), и дебаггер потом визуально скрывает эту int3 и показывает оригинал как будто он ничего не патчил, но на самом деле в памяти там будет другая инструкция(байт 0xCC) поэтому по сиге место уже не найдешь пока не выключишь бп)
Я давно таких ошибок не делаю, дебаггер-то запущен не был)))))
SigMaker в обоих случаях(генерация и поиск) один, в IDA. Я пока прост взял сигу на сегмент функции и по оффсету выхожу на Save
 
Начинающий
Статус
Оффлайн
Регистрация
2 Янв 2021
Сообщения
3
Реакции[?]
0
Поинты[?]
0
Парни, а как CDOTAInput.CursorPosition получить не подскажете?
Ну лично я в хуке PrepareUnitOrder выводил pos->x, кликал в лобби куда то и не двигая мышкой сворачивал дотку, в CE искал этот "x" ну и там внизу такая херня зеленая типа client.dll + чиселки, посмотрел что читает этот адрес: movsd xmm0,[rax+00004104], вот в rax лежит dotainput а 0x4104 оффсет, отсуда такая шляпа reinterpret_cast<Vector*>(uintptr_t(DOTAInput) + 0x4104)
об этом где то вульф писал я не помню точно где я вот по его гайду это и сделал
 
Начинающий
Статус
Оффлайн
Регистрация
30 Мар 2020
Сообщения
326
Реакции[?]
24
Поинты[?]
12K
CPanoramaUIEngineSource updates offset for Panel List. (if not mistaken the list ptr is now 0x130)
there is something wrong with entity team checking because enemy entity shows as if ally entity :D (might be my bad, just saying)
 
Начинающий
Статус
Оффлайн
Регистрация
4 Апр 2024
Сообщения
28
Реакции[?]
1
Поинты[?]
1K
Есть у кого-то актуальные оффсеты CEconItem? Чет я люто фейлюсь на ребилде Equip'a и мне кажется вот именно с этим классом.
В частности меня интересует выделенный сегмент, если верить сурсам и некоторым постам, там должны находится вложенные структуры такого вида:
1717465790321.png
1717465618692.png
 
Начинающий
Статус
Оффлайн
Регистрация
30 Мар 2020
Сообщения
326
Реакции[?]
24
Поинты[?]
12K
Есть у кого-то актуальные оффсеты CEconItem? Чет я люто фейлюсь на ребилде Equip'a и мне кажется вот именно с этим классом.
В частности меня интересует выделенный сегмент, если верить сурсам и некоторым постам, там должны находится вложенные структуры такого вида:
Посмотреть вложение 278240
Посмотреть вложение 278239
А ты возьми любую функу из вмт CEconItem класса поставь бп на начало и сделай любое действие с любой шмоткой со своего инвентаря (одеть,снять) и смотри что меняется и там будет твой m_bInUse и там уже делай дедукцию
 
Начинающий
Статус
Оффлайн
Регистрация
4 Апр 2024
Сообщения
28
Реакции[?]
1
Поинты[?]
1K
А ты возьми любую функу из вмт CEconItem класса поставь бп на начало и сделай любое действие с любой шмоткой со своего инвентаря (одеть,снять) и смотри что меняется и там будет твой m_bInUse и там уже делай дедукцию
Так и делал, но чего-то убедительного пока не нашел.
Кажется я нашел, что-то похожее на оригинальный Equip(он был заинлайнин в другую функцию?), попробую чекнуть через него.
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
781
Реакции[?]
331
Поинты[?]
63K
Так и делал, но чего-то убедительного пока не нашел.
Кажется я нашел, что-то похожее на оригинальный Equip(он был заинлайнин в другую функцию?), попробую чекнуть через него.
там вроде была функа Dump виртуальная она в консоль итем высирает, поищи вроде 6 индекс была щас не знаю какой(если ее еще не убрали конеш).
 
Сверху Снизу