Исходник Onetap v2 addon (csgo 2020)

Пользователь
Статус
Оффлайн
Регистрация
8 Янв 2020
Сообщения
187
Реакции[?]
138
Поинты[?]
20K
В прошлом сообщении я указал неправильный адрес tickbase_shift_amount, теперь даю нормальный + хук для даблтапа.

C++:
using fnSelectShift = bool(__fastcall*)(void* ecx, void* edx);
fnSelectShift oSelectShift = nullptr;
C++:
bool __fastcall hkSelectShift(void* ecx, void* edx)
{
    bool result = oSelectShift(ecx, edx);

    if (g_globals.get_global_var<int>("tickbase_shift_amount") == 12)
        g_globals.get_global_var<int>("tickbase_shift_amount") = 14;

    return result;
}

// in main function after onetap init
oSelectShift = (fnSelectShift)(DWORD)DetourFunction((PBYTE)g_addresses.get_function_address("c_exploits::select_shift"), (PBYTE)hkSelectShift);
C++:
// new tickbase_shift_amount address, max_doubletap_shift not needed
global_variables.push_back( { 0x168034, "tickbase_shift_amount" } );
C++:
address_list.push_back( { reinterpret_cast<void*>(g_onetap.get_onetap_main().current_allocation_address + 0x5F760), "c_exploits::select_shift" } );
 
Забаненный
Статус
Оффлайн
Регистрация
15 Авг 2023
Сообщения
48
Реакции[?]
20
Поинты[?]
19K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В прошлом сообщении я указал неправильный адрес tickbase_shift_amount, теперь даю нормальный + хук для даблтапа.

C++:
using fnSelectShift = bool(__fastcall*)(void* ecx, void* edx);
fnSelectShift oSelectShift = nullptr;
C++:
bool __fastcall hkSelectShift(void* ecx, void* edx)
{
    bool result = oSelectShift(ecx, edx);

    if (g_globals.get_global_var<int>("tickbase_shift_amount") == 12)
        g_globals.get_global_var<int>("tickbase_shift_amount") = 14;

    return result;
}

// in main function after onetap init
oSelectShift = (fnSelectShift)(DWORD)DetourFunction((PBYTE)g_addresses.get_function_address("c_exploits::select_shift"), (PBYTE)hkSelectShift);
C++:
// new tickbase_shift_amount address, max_doubletap_shift not needed
global_variables.push_back( { 0x168034, "tickbase_shift_amount" } );
C++:
address_list.push_back( { reinterpret_cast<void*>(g_onetap.get_onetap_main().current_allocation_address + 0x5F760), "c_exploits::select_shift" } );
это не тикбейз шифт, а next tickbase shift
 
Пользователь
Статус
Оффлайн
Регистрация
8 Янв 2020
Сообщения
187
Реакции[?]
138
Поинты[?]
20K
Изменение текста в меню вантапа в2.

C++:
using fnStringAssign = int* (__thiscall*)(void* ecx, const char* text, std::string::size_type length);
fnStringAssign oStringAssign = nullptr;
C++:
void apply_new_text(const char*& text, std::string::size_type& length, const char* new_text)
{
    text = new_text;
    length = strlen(new_text);
}

int* __fastcall hkStringAssign(void* ecx, void* edx, const char* text, std::string::size_type length)
{
    if (strcmp(text, xorstr_("hitchance")) == 0) // change hitchance text
        apply_new_text(text, length, xorstr_("misschance"));

    if (strcmp(text, xorstr_("minimum accuracy needed to target an enemy")) == 0) // change hitchance tooltip text
        apply_new_text(text, length, xorstr_("fuck you!"));

    return oStringAssign(ecx, text, length);
}

// in main function after onetap init
oStringAssign = (fnStringAssign)(DWORD)DetourFunction((PBYTE)g_addresses.get_function_address("std::string::assign"), (PBYTE)hkStringAssign);
C++:
address_list.push_back( { reinterpret_cast<void*>(g_onetap.get_onetap_main().current_allocation_address + 0x6480), "std::string::assign" } );

1692287667259.png
 
Пользователь
Статус
Оффлайн
Регистрация
8 Янв 2020
Сообщения
187
Реакции[?]
138
Поинты[?]
20K
Изменение цветов в меню вантапа в2.

C++:
using fnDrawGradientRect = int(__thiscall*)(void* ecx, int a1, float a2, float a3, DWORD a4, DWORD a5, DWORD a6, DWORD a7);
fnDrawGradientRect DrawGradientRect = nullptr;
C++:
int __fastcall hkDrawGradientRect(void* ecx, void* edx, int a1, float a2, float a3, DWORD a4, DWORD a5, DWORD a6, DWORD a7)
{
    if (a4 == a5 && a5 == a6 && a6 == a7) // skip gradients
    {
        if (a4 == get_hex_color(45, 48, 55, 255)) // background color
            a4 = a5 = a6 = a7 = get_hex_color(255, 0, 0, 255); // change color to red
    }

    return DrawGradientRect(ecx, a1, a2, a3, a4, a5, a6, a7);
}

// in main function after onetap init
DrawGradientRect = (fnDrawGradientRect)(DWORD)DetourFunction((PBYTE)g_addresses.get_function_address("c_render::draw_gradient_rect"), (PBYTE)hkDrawGradientRect);
C++:
address_list.push_back( { reinterpret_cast<void*>(g_onetap.get_onetap_main().current_allocation_address + 0x112870), xorstr_("c_render::draw_gradient_rect") } );
1692441532654.png
 
Забаненный
Статус
Оффлайн
Регистрация
15 Авг 2023
Сообщения
48
Реакции[?]
20
Поинты[?]
19K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
21 Янв 2022
Сообщения
6
Реакции[?]
5
Поинты[?]
0
Изменение цветов в меню вантапа в2.

C++:
using fnDrawGradientRect = int(__thiscall*)(void* ecx, int a1, float a2, float a3, DWORD a4, DWORD a5, DWORD a6, DWORD a7);
fnDrawGradientRect DrawGradientRect = nullptr;
C++:
int __fastcall hkDrawGradientRect(void* ecx, void* edx, int a1, float a2, float a3, DWORD a4, DWORD a5, DWORD a6, DWORD a7)
{
    if (a4 == a5 && a5 == a6 && a6 == a7) // skip gradients
    {
        if (a4 == get_hex_color(45, 48, 55, 255)) // background color
            a4 = a5 = a6 = a7 = get_hex_color(255, 0, 0, 255); // change color to red
    }

    return DrawGradientRect(ecx, a1, a2, a3, a4, a5, a6, a7);
}

// in main function after onetap init
DrawGradientRect = (fnDrawGradientRect)(DWORD)DetourFunction((PBYTE)g_addresses.get_function_address("c_render::draw_gradient_rect"), (PBYTE)hkDrawGradientRect);
C++:
address_list.push_back( { reinterpret_cast<void*>(g_onetap.get_onetap_main().current_allocation_address + 0x112870), xorstr_("c_render::draw_gradient_rect") } );
Посмотреть вложение 256455
можешь помочь с речарджем дт в вантапе в2?
 
Последнее редактирование:
Сверху Снизу