Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
ГайдНовые сигнатуры, индексы и оффсеты под обновления
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.
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.
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.
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 и потом еще анрег всякой стимовской хуйни
CDOTAGCClientSystem::Shutdown(2 индекс виртуальная функция IGameSystem::Shutdown)
"cache_%u_%u.soc" хреф
можешь просто сделать так чтобы она не вызывалась/ничего не делала/внутри вырезать аккуратно вызов сейва/либо сам сейв кеша уебать
внутри нее по-моему вызов SaveSerializedSOCache и потом еще анрег всякой стимовской хуйни
Та я уже нашёл заново, там просто почему-то сигмейкер генил такую же сигу, но по ней же не мог найти. Лично я тупо даю функции вызваться и сам удаляю эти файлы.
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.
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.
Та я уже нашёл заново, там просто почему-то сигмейкер генил такую же сигу, но по ней же не мог найти. Лично я тупо даю функции вызваться и сам удаляю эти файлы.
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) поэтому по сиге место уже не найдешь пока не выключишь бп)
возможно у тебя брейкпоинт включенный на этой функции в дебаггере стоял, поэтому и функцию по сиге ты не мог найти(брейкпоинт дефолтный осуществляется байтпатчем оригинальной инструкции на инструкцию int3(которая при выполнении исключение кидает которое дебаггер потом ловит и обрабатывает и останавливает тебе приложуху), и дебаггер потом визуально скрывает эту int3 и показывает оригинал как будто он ничего не патчил, но на самом деле в памяти там будет другая инструкция(байт 0xCC) поэтому по сиге место уже не найдешь пока не выключишь бп)
Я давно таких ошибок не делаю, дебаггер-то запущен не был)))))
SigMaker в обоих случаях(генерация и поиск) один, в IDA. Я пока прост взял сигу на сегмент функции и по оффсету выхожу на Save
Ну лично я в хуке PrepareUnitOrder выводил pos->x, кликал в лобби куда то и не двигая мышкой сворачивал дотку, в CE искал этот "x" ну и там внизу такая херня зеленая типа client.dll + чиселки, посмотрел что читает этот адрес: movsd xmm0,[rax+00004104], вот в rax лежит dotainput а 0x4104 оффсет, отсуда такая шляпа reinterpret_cast<Vector*>(uintptr_t(DOTAInput) + 0x4104)
об этом где то вульф писал я не помню точно где я вот по его гайду это и сделал
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)
Есть у кого-то актуальные оффсеты CEconItem? Чет я люто фейлюсь на ребилде Equip'a и мне кажется вот именно с этим классом.
В частности меня интересует выделенный сегмент, если верить сурсам и некоторым постам, там должны находится вложенные структуры такого вида:
Есть у кого-то актуальные оффсеты CEconItem? Чет я люто фейлюсь на ребилде Equip'a и мне кажется вот именно с этим классом.
В частности меня интересует выделенный сегмент, если верить сурсам и некоторым постам, там должны находится вложенные структуры такого вида: Посмотреть вложение 278240 Посмотреть вложение 278239
А ты возьми любую функу из вмт CEconItem класса поставь бп на начало и сделай любое действие с любой шмоткой со своего инвентаря (одеть,снять) и смотри что меняется и там будет твой m_bInUse и там уже делай дедукцию
А ты возьми любую функу из вмт CEconItem класса поставь бп на начало и сделай любое действие с любой шмоткой со своего инвентаря (одеть,снять) и смотри что меняется и там будет твой m_bInUse и там уже делай дедукцию
Так и делал, но чего-то убедительного пока не нашел.
Кажется я нашел, что-то похожее на оригинальный Equip(он был заинлайнин в другую функцию?), попробую чекнуть через него.
Так и делал, но чего-то убедительного пока не нашел.
Кажется я нашел, что-то похожее на оригинальный Equip(он был заинлайнин в другую функцию?), попробую чекнуть через него.