Исходник [Usless] Change defuse\plant code

Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В общем, решил по приколу изменить код бомбы,но столкнулся с траблами и крашами и случайно наткнулся на дефуз код.
Объявляйте где хотите (я в пт хуке тестил)
Код:
static auto test = (Utils::PatternScan(GetModuleHandleA("client.dll"), "37 33 35 35 36 30 38"));
if (test)
{   
DWORD old_protect;
unsigned char src[10] = "govno";
VirtualProtect(test, 5, PAGE_EXECUTE_READWRITE, &old_protect);       
memcpy(test, src, 5);
VirtualProtect(test, 5, old_protect, nullptr);
}
result:
1637775718008.png


plant code:
Код:
DWORD oWhoIsGay = 0x0;
bool FASTCALL hookCC4_OnFireEvent(THISPTRREG, CBaseViewModel* pViewModel, const Vector& origin, const QAngle& angles, int event, const char* options)
{
    using Fn = bool(__thiscall*)(PVOID, CBaseViewModel*, const Vector&, const QAngle&, int, const char*);

    if (event != 7001)
    {
      return CRT::Cast<Fn>(oWhoIsGay)(ecx, pViewModel, origin, angles, event, options);
    }

    Win32Console::Print("Do: [%s] - %s\n", __FUNCTION__, options);

    static char Buffer[] = "Loginov Gay";

    int nLen = CRT::StrLen(options);
    CRT::MemCpy(CRT::Cast<PVOID>(options), Buffer, nLen);
    Win32Console::Print("After: [%s] - %s\n", __FUNCTION__, options);
    return CRT::Cast<Fn>(oLoginovGay)(ecx, pViewModel, origin, angles, event, options);
  }
credits
d4rkd3n1337

my bad, я долбоеб,кторый забыл про регистры и что есть такая хуйня как инлайн.
 
Последнее редактирование:
f3mb0y
Участник
Статус
Оффлайн
Регистрация
14 Фев 2017
Сообщения
625
Реакции[?]
291
Поинты[?]
1K
Реверсер молодец, учим хуки, 2 класс

C++:
DWORD oWhoIsGay = 0x0;
bool FASTCALL hookCC4_OnFireEvent(THISPTRREG, CBaseViewModel* pViewModel, const Vector& origin, const QAngle& angles, int event, const char* options)
{
    using Fn = bool(__thiscall*)(PVOID, CBaseViewModel*, const Vector&, const QAngle&, int, const char*);

    if (event != 7001)
    {
      return CRT::Cast<Fn>(oWhoIsGay)(ecx, pViewModel, origin, angles, event, options);
    }

    Win32Console::Print("Do: [%s] - %s\n", __FUNCTION__, options);

    static char Buffer[] = "Loginov Gay";

    int nLen = CRT::StrLen(options);
    CRT::MemCpy(CRT::Cast<PVOID>(options), Buffer, nLen);
    Win32Console::Print("After: [%s] - %s\n", __FUNCTION__, options);
    return CRT::Cast<Fn>(oLoginovGay)(ecx, pViewModel, origin, angles, event, options); 
  }
 
Легенда форума
Статус
Оффлайн
Регистрация
16 Сен 2018
Сообщения
4,004
Реакции[?]
1,947
Поинты[?]
7K
А куда этот код вставлять?
Куда хочешь туда и вставляй по сути своей, главное что бы паттерскан и все остальное что там используется были объявлены. Но лучше не надо говнокодить и хоть немного, но выучить плюсы
 
Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу