Вопрос Inject, вопросы новичка.

Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
779
Реакции[?]
331
Поинты[?]
63K
Раз уж пошло такое дело, тоже задам глупый вопрос. Хочу тут одну штуку сделать.
В popup_accept_match, как известно, добавляется onload="DOTAPlayAcceptMatch()".
Так вот я хочу сюда навесить свою функцию, но так, чтобы и автопринималка осталась.
Вроде очевидно, что нужно сделать что-то типа onload="MyAwesomeFunc()" и ниже
JavaScript:
<script>
    function MyAwesomeFunc() {
    // Делаю свои дела и
    DOTAPlayAcceptMatch()
    }
</script>
Но тогда я получаю DOTAPlayAcceptMatch is not defined. ЧЯДНТ?
PopupAcceptMatch onload="myfunc() DOTAPlayAcceptMatch()" попробуй. либо "myfunc();DOTAPlayAcceptMatch();" либо какой-нибудь "(function(){my_code})();DOTAPlayAcceptMatch()" если там такой синтаксис поддерживается
сам не пробовал, но в оригинале строка есть там так же несколько функций вызывается в одном коллбеке, поэтому должно работать
<Panel id="ButtonContainer">
<Button id="Button0" class="LargeButton" onactivate="DOTAPlayAcceptMatch() AddStyle( PopupAcceptDeclineMatchPanel, Accepted ) AddStyle( PopupReadyUpPlayersPanel, Accepted )">
<Label text="#dota_accept_match_accept_button" />
</Button>
<Panel class="DeclineContainer">
<Panel class="InfoIcon" onmouseover="UIShowTextTooltip( #dota_accept_match_decline_info )" onmouseout="UIHideTextTooltip()"/>
<Button id="Button1" onactivate="DOTAPlayDeclineMatch()">
<Label text="#dota_accept_match_decline" />
</Button>
</Panel>
</Panel>
 
Последнее редактирование:
Shitcode lord 💩
Забаненный
Статус
Оффлайн
Регистрация
25 Ноя 2020
Сообщения
272
Реакции[?]
84
Поинты[?]
8K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Nah, две функции навесить не получилось -- тогда вообще кнопка принятия ломается, лол.
Но получилось повесить не на сам PopupAcceptMatch, а ниже. Типа такого:
JavaScript:
<PopupAcceptMatch class="PopupPanelEffects Hidden" popupbackground="dim" defaultfocus="Button0" hittest="false" onload="DOTAPlayAcceptMatch()">
<DOTAScenePanel id="ModelUIAccept" map="backgrounds/accept_popup_test" camera="shot_camera" hittest="false" particleonly="true" onload="MyFunc()"/>
Осталось только бота для Вк дописать, чтобы он уведомлял о найденной игре. Ну так чисто, по приколу :^)
 
Новичок
Статус
Оффлайн
Регистрация
1 Янв 2021
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Nah, две функции навесить не получилось -- тогда вообще кнопка принятия ломается, лол.
Но получилось повесить не на сам PopupAcceptMatch, а ниже. Типа такого:
JavaScript:
<PopupAcceptMatch class="PopupPanelEffects Hidden" popupbackground="dim" defaultfocus="Button0" hittest="false" onload="DOTAPlayAcceptMatch()">
<DOTAScenePanel id="ModelUIAccept" map="backgrounds/accept_popup_test" camera="shot_camera" hittest="false" particleonly="true" onload="MyFunc()"/>
Осталось только бота для Вк дописать, чтобы он уведомлял о найденной игре. Ну так чисто, по приколу :^)
Попробуй так

function MyFunc(DOTAPlayAcceptMatch){
DOTAPlayAcceptMatch()
//свой код
}

а на элементе
onload="MyFunc(DOTAPlayAcceptMatch)"
 
Начинающий
Статус
Оффлайн
Регистрация
11 Янв 2020
Сообщения
13
Реакции[?]
2
Поинты[?]
0
Радар хака как такового на доту нет(только на виспа), есть приколы по типу, где и кто фармят споты в лесу, кто и где скилы юзает, вообщем полного радар хака тебе никто не даст. Ну на сегодняшний день)
 
Главный Администратор Интернета
Забаненный
Статус
Оффлайн
Регистрация
12 Окт 2019
Сообщения
469
Реакции[?]
89
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Эмм ору людей не трави пжпжпжпж
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
779
Реакции[?]
331
Поинты[?]
63K
сига та же(44 89 4c 24 ?? 44 89 44 24 ?? 55 53 56 57 41 55 41 56 41 57 48 8d ac 24)
оффсеты
+0x5a4
+0x50e
 
Shitcode lord 💩
Забаненный
Статус
Оффлайн
Регистрация
25 Ноя 2020
Сообщения
272
Реакции[?]
84
Поинты[?]
8K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Чет не получается у меня одна штука, может кто подскажет.
Играюсь тут с редактирование памяти (решил отказаться от js\панорамы), вроде даже что-то получается.
Нашел и могу менять, скажем, cl_weather или dota_use_particle_fow. А вот с dota_camera_distance и r_farz не выходит.
Значение из памяти читается, если я через консоль доты меняю -- получаю новое.
А вот изменить не могу. Я так понимаю, оно в память пишется, но не читается.
Да, по хорошему, мне бы через ClientCmd (?) слать эти команды, но я для такого пока слишком тупой.
Я вообще на шарпе пишу, юзая
Пожалуйста, авторизуйтесь для просмотра ссылки.
XD
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
779
Реакции[?]
331
Поинты[?]
63K
Чет не получается у меня одна штука, может кто подскажет.
Играюсь тут с редактирование памяти (решил отказаться от js\панорамы), вроде даже что-то получается.
Нашел и могу менять, скажем, cl_weather или dota_use_particle_fow. А вот с dota_camera_distance и r_farz не выходит.
Значение из памяти читается, если я через консоль доты меняю -- получаю новое.
А вот изменить не могу. Я так понимаю, оно в память пишется, но не читается.
Да, по хорошему, мне бы через ClientCmd (?) слать эти команды, но я для такого пока слишком тупой.
Я вообще на шарпе пишу, юзая
Пожалуйста, авторизуйтесь для просмотра ссылки.
XD
у конваров есть коллбеки на изменение, поэтому ничего и не происходит при изменении квара не через VEngineCvar007.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
либо VEngineCvar007->FindCommand("r_farz")->SetValue("20000")
либо через ClientCMD(
Пожалуйста, авторизуйтесь для просмотра ссылки.
наверн)(правда нахуя когда квары есть)
альтернативно именно камера
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Shitcode lord 💩
Забаненный
Статус
Оффлайн
Регистрация
25 Ноя 2020
Сообщения
272
Реакции[?]
84
Поинты[?]
8K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ого. Спасибо! Может, из этого действительно что-то да получится. Энивей, главное -- интересно :З
 
Новичок
Статус
Оффлайн
Регистрация
27 Янв 2021
Сообщения
2
Реакции[?]
0
Поинты[?]
0
Подскажите пожалуйста новые значения для байт патча там сига поменялась
 
Shitcode lord 💩
Забаненный
Статус
Оффлайн
Регистрация
25 Ноя 2020
Сообщения
272
Реакции[?]
84
Поинты[?]
8K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Shitcode lord 💩
Забаненный
Статус
Оффлайн
Регистрация
25 Ноя 2020
Сообщения
272
Реакции[?]
84
Поинты[?]
8K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну а вообще, ищи в IDA текст "Can't change replicated ConVar %s from".
Жми на вот эту красную стрелочку.

1611762387782.png

Там выше (4 снизу) нужная функция, тебе нужен jz (0x74), меняй его на jmp (0xeb).
Можешь нажать на нужный бай, потом в верхнем меню Jump => Jump to offset, и скопировать то, что оно тебе выдаст.
Это и есть тот самый оффсет. А еще лучше, заюзай
Пожалуйста, авторизуйтесь для просмотра ссылки.
, он тебе сигу сделает.

1611762458920.png
 
Новичок
Статус
Оффлайн
Регистрация
27 Янв 2021
Сообщения
2
Реакции[?]
0
Поинты[?]
0
Shitcode lord 💩
Забаненный
Статус
Оффлайн
Регистрация
25 Ноя 2020
Сообщения
272
Реакции[?]
84
Поинты[?]
8K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Спасибо, но как я понял в твоей программе не разблокируется св_читс чтобы дать конечному пользователю свободу ввода команд в консоль, а это единственное что мне нужно :pensive:
А зачем, если я меняю конвары напрямую? Так просто открой CE, подключись к доте, зайди в локальное лобби, введи что-то типа sv_cheats 228322.
Найди, отсей. Вот тебе и статичный указатель. До следующей обновы либы будет работать. А хочешь -- сделай сигу,вообще кайф будет.
Можешь, например,
Пожалуйста, авторизуйтесь для просмотра ссылки.
использовать для этого.

Ну и вообще, я же описал, как sv_cheats анлокнуть. Даже двумя способами.
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
779
Реакции[?]
331
Поинты[?]
63K
Подскажите пожалуйста новые значения для байт патча там сига поменялась
два хрефа в engine2.dll есть, вариантов патча дофига и больше можешь их стакать как резерв.
примерный псевдокод:
C++:
CInputService::ProcessCommand(..., command ,...)
    ...
    IsValid(command)
    no->
        ConMsg("Unknown command or convar '%s'!\n")
        return
    IsCommand(command)
    yes->
        IsCheatCommand(command)//cl_ent_find и подобные наверно не помню уже
        yes->
            Host_IsSinglePlayerGame()
            yes->
                ExecuteCommand(command)
                return
            no->
                CanCheat()
                yes->
                    ExecuteCommand(command)
                    return
                no->
                    IsPlayingDemo()
                    yes->
                        ExecuteCommand(command)
                        return
                    no->
                        ConMsg("SV: Cheat command '%s' ignored.\n")
                        return
        no->
            ExecuteCommand(command)
            return
    no->
        IsConvarCheatProtected(command)//dota_camera_distance etc.
        yes->
            Host_IsSinglePlayerGame()
            ->yes
                SetConvarValue(blablabla)
                return
            ->no
                CanCheat()
                ->yes
                    SetConvarValue(blablabla)
                    return
                ->no
                    IsPlayingDemo()
                    ->yes
                        SetConvarValue(blablabla)
                        return
                    ->no
                        ConMsg("SV: Convar '%s' is cheat protected, change ignored.\n")
                        return
        IsConvarReplicated(command)//sv_cheats и т.д.
        yes->
            CNetworkClientService::IsConnected()
            ->yes
                CNetworkClientService::DisconnectGameQueued()
                ->yes
                    SetConvarValue(blablabla)
                    return
                ->no
                    IsPlayingDemo()
                    ->yes
                        SetConvarValue(blablabla)
                        return
                    ->no
                        ConMsg("Can't change replicated ConVar %s from console of client, only server operator can change its value\n")
                        return
            ->no
                SetConvarValue(blablabla)
                return
        no->
            SetConvarValue(blablabla)
            return
как видишь мест где можно пропатчить невероятно много.
для сведения:
CanCheat() - стоит ли в настройках лобби галочка "включить читы"
Host_IsSinglePlayerGame() - не мультиплеер игра(хз, мб это типо режим опробовать героя или что-то такое не тестил)
IsPlayingDemo() - когда смотришь за чужой(или своей) игрой можно менять дистанцию камеры и прочую хрень.
IsConnected() - находишься ли ты на сервере или сидишь вне матча в дешборде(в главном меню)
DisconnectGameQueued() - уже выходишь с сервера в дешборд
более читаемый псевдокод:
C++:
If(IsCommand(command))
    if(CanCheat() || Host_IsSinglePlayerGame() || IsPlayingDemo())
        ExecuteCommand(command)
    else ConMsg("blablabla cheat command ignored"); return;
else
    If(IsCheatProtected(command))
        if(CanCheat() || Host_IsSinglePlayerGame() || IsPlayingDemo())
            SetConvarValue(blablabla)
        else ConMsg("blablabla cheat protected cvar"); return;
    else
        if(IsReplicated(command))
            if(!IsConnected() || DisconnectGameQueued() || IsPlayingDemo())
                SetConvarValue(blablabla)
            else ConMsg("blablabla replicated");return;
в итоге либо делаешь сигу на CInputService::ProcessCommand и юзаешь оффсеты от нее, либо делаешь сиги конкретно на нужные тебе прыжки, либо патчишь/хукаешь какие-либо из функций
 
Последнее редактирование:
Shitcode lord 💩
Забаненный
Статус
Оффлайн
Регистрация
25 Ноя 2020
Сообщения
272
Реакции[?]
84
Поинты[?]
8K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Разобрался.
/del
 
Последнее редактирование:
Сверху Снизу