Показать сообщение отдельно

  #5  
Старый 16.11.2018, 17:13
CleanLegend
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами: 6908018

Репутация: 213
По умолчанию

Цитата:
Сообщение от checkdasound  

Вроде поставил VirtualProtect, но все равно при переименовании в .asi при входе в игру крашит.
Цитата:
Сообщение от Спойлер  


Код:





Код:
#include 
#include 
#include "main.h"

bool pStatus = false;

unsigned int CurrentCharPointer = *(unsigned int*)0xB6F5F0;

void __cdecl func(void *pArg)
{

   DWORD oldProtect;

   VirtualProtect((void*)(0x004B35A0), 4, PAGE_EXECUTE_READWRITE, &oldProtect);
   *reinterpret_cast(0x004B35A0) = 0x560CEC83;
   VirtualProtect((void*)(0x004B35A0), 4, oldProtect, &oldProtect);

   VirtualProtect((void*)(0x004B35A4), 2, PAGE_EXECUTE_READWRITE, &oldProtect);
   *reinterpret_cast(0x004B35A4) = 0xF18B;
   VirtualProtect((void*)(0x004B35A4), 2, oldProtect, &oldProtect);

   while (true)
   {
       Sleep(50);
       if (GetAsyncKeyState(0x47))
       {
           pStatus = !pStatus;
           if (pStatus == true)
           {
               AddMessageJumpQ("~g~[ON]", 500, NULL, false); // 500 - ms
           }
           else
           {
               AddMessageJumpQ("~r~[OFF]", 500, NULL, false); // 500 - ms
           }
       }
       if (pStatus == true)
       {
           VirtualProtect((void*)(0x96916D), 1, PAGE_EXECUTE_READWRITE, &oldProtect);
           *reinterpret_cast(0x96916D) = 1; // bullet
           VirtualProtect((void*)(0x96916D), 1, oldProtect, &oldProtect);

           VirtualProtect((void*)(0xB7CEE6), 1, PAGE_EXECUTE_READWRITE, &oldProtect);
           *reinterpret_cast(0xB7CEE6) = 1; // fire
           VirtualProtect((void*)(0xB7CEE6), 1, oldProtect, &oldProtect);

           VirtualProtect((void*)(CurrentCharPointer + 66), 1, PAGE_EXECUTE_READWRITE, &oldProtect);
           *(unsigned char*)(CurrentCharPointer + 66) = 0xCC; // all
           VirtualProtect((void*)(CurrentCharPointer + 66), 1, oldProtect, &oldProtect);
       } else
           {
           VirtualProtect((void*)(0x96916D), 1, PAGE_EXECUTE_READWRITE, &oldProtect);
               *reinterpret_cast(0x96916D) = 0; // bullet
               VirtualProtect((void*)(0x96916D), 1, oldProtect, &oldProtect);

               VirtualProtect((void*)(0xB7CEE6), 1, PAGE_EXECUTE_READWRITE, &oldProtect);
               *reinterpret_cast(0xB7CEE6) = 0; // fire
               VirtualProtect((void*)(0xB7CEE6), 1, oldProtect, &oldProtect);

               VirtualProtect((void*)(CurrentCharPointer + 66), 1, PAGE_EXECUTE_READWRITE, &oldProtect);
               *(unsigned char*)(CurrentCharPointer + 66) = 0; // all
               VirtualProtect((void*)(CurrentCharPointer + 66), 1, oldProtect, &oldProtect);
           }
   }
}

BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ PVOID lpvReserved)
{
   if (fdwReason == DLL_PROCESS_ATTACH)
   {
       _beginthread(func, NULL, nullptr);
   }
   return TRUE;
}


Я тебе ответил уже, в начале потока дождись пока игра загрузится.

И протект тут не играет роли, у тебя бы тогда не работало при инжекте в запущенную игру

Цитата:
Сообщение от Jenecheque  

немогу добавить имгуи в соб, в сф всё норм
В собейте используются предкомпилированные заголовки, изучи их и сможешь правильно подключить imgui.

на скрине ошибка связана с этим
 
Ответить с цитированием