HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 15.11.2018, 20:13
checkdasound
Постоянный
Регистрация: 12.01.2018
Сообщений: 963
С нами: 4387250

Репутация: 133


По умолчанию

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

Поставь в потоке проверку на загрузку игры
Разве аси лоадер не делает это за меня?

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

VirtualProtect
Не совсем понял, где использовать, ставить флаги на адреса памяти, в которые я записываю значения?
 
Ответить с цитированием

  #2  
Старый 15.11.2018, 22:49
NarutoUA
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами: 6822856

Репутация: 213


По умолчанию

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

Разве аси лоадер не делает это за меня?

Не совсем понял, где использовать, ставить флаги на адреса памяти, в которые я записываю значения?
да, PAGE_READWRITE_EXECUTE
 
Ответить с цитированием

  #3  
Старый 15.11.2018, 19:53
NarutoUA
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами: 6822856

Репутация: 213


По умолчанию

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

Почему при инжекте dll в уже запущенную игру, все работает, а при переименовании в asi, после запуска игры сразу краш.

Цитата:
Сообщение от Спойлер  


Код:





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

bool pStatus = false;

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

void __cdecl func(void *pArg)
{
   *reinterpret_cast(0x004B35A0) = 0x560CEC83;
   *reinterpret_cast(0x004B35A4) = 0xF18B;
   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)
       {
           *reinterpret_cast(0x96916D) = 1; // bullet
           *reinterpret_cast(0xB7CEE6) = 1; // fire
           *(unsigned char*)(CurrentCharPointer + 66) = 0xCC; // all
       } else
           {
               *reinterpret_cast(0x96916D) = 0; // bullet
               *reinterpret_cast(0xB7CEE6) = 0; // fire
               *(unsigned char*)(CurrentCharPointer + 66) = 0; // all
           }
   }
}

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


Цитата:
Сообщение от Спойлер  


Код:





Код:
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0

void AddMessageJumpQ(PCHAR text, UINT time, USHORT flag, bool bPreviousBrief) // Функция показа сообщения на экране.
{
   ((void(__cdecl *)(PCHAR, UINT, USHORT, bool))FUNC_CMessages__AddMessageJumpQ)(text, time, flag, bPreviousBrief);
}


VirtualProtect
 
Ответить с цитированием

  #4  
Старый 16.11.2018, 17:04
checkdasound
Постоянный
Регистрация: 12.01.2018
Сообщений: 963
С нами: 4387250

Репутация: 133


По умолчанию

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

Почему при инжекте dll в уже запущенную игру, все работает, а при переименовании в asi, после запуска игры сразу краш.

Цитата:
Сообщение от Спойлер  


Код:





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

bool pStatus = false;

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

void __cdecl func(void *pArg)
{
   *reinterpret_cast(0x004B35A0) = 0x560CEC83;
   *reinterpret_cast(0x004B35A4) = 0xF18B;
   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)
       {
           *reinterpret_cast(0x96916D) = 1; // bullet
           *reinterpret_cast(0xB7CEE6) = 1; // fire
           *(unsigned char*)(CurrentCharPointer + 66) = 0xCC; // all
       } else
           {
               *reinterpret_cast(0x96916D) = 0; // bullet
               *reinterpret_cast(0xB7CEE6) = 0; // fire
               *(unsigned char*)(CurrentCharPointer + 66) = 0; // all
           }
   }
}

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


Цитата:
Сообщение от Спойлер  


Код:





Код:
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0

void AddMessageJumpQ(PCHAR text, UINT time, USHORT flag, bool bPreviousBrief) // Функция показа сообщения на экране.
{
   ((void(__cdecl *)(PCHAR, UINT, USHORT, bool))FUNC_CMessages__AddMessageJumpQ)(text, time, flag, bPreviousBrief);
}


Вроде поставил 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;
}


 
Ответить с цитированием

  #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.

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

  #6  
Старый 16.11.2018, 17:32
NarutoUA
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами: 6822856

Репутация: 213


По умолчанию

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

Я тебе ответил уже, в начале потока дождись пока игра загрузится.
И протект тут не играет роли, у тебя бы тогда не работало при инжекте в запущенную игру
Клео снимает защиту со всей гта
 
Ответить с цитированием

  #7  
Старый 17.11.2018, 12:22
jenekbueno
Участник форума
Регистрация: 12.10.2014
Сообщений: 156
С нами: 6096955

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

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

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

а ты сам пробовал подключить имгуи к собейту?

я не совсем понимаю в чем дело
 
Ответить с цитированием

  #8  
Старый 17.11.2018, 12:34
Неадекватная сова
Постоянный
Регистрация: 02.06.2018
Сообщений: 342
С нами: 4183567

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

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

заголовки я знаю как подключаются
а ты сам пробовал подключить имгуи к собейту?
я не совсем понимаю в чем дело
Screenshot(http://prntscr.com/ljg94e)
 
Ответить с цитированием

  #9  
Старый 16.11.2018, 03:12
jenekbueno
Участник форума
Регистрация: 12.10.2014
Сообщений: 156
С нами: 6096955

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

чё не так?

 
Ответить с цитированием

  #10  
Старый 16.11.2018, 16:40
jenekbueno
Участник форума
Регистрация: 12.10.2014
Сообщений: 156
С нами: 6096955

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

Код:





[CODE]
int comp(const int *i, const int *j)
{
return *i - *j;
}

void foo()
{
int var[10]{ 0, 15, 23, 21, 32, 2, 3, 4, 5, 3};
qsort(var, _countof(var), sizeof(int), (int(*) (const void *, const void *)) comp);

for (byte i = NULL; i



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

чё не так?
немогу добавить имгуи в соб, в сф всё норм

@FYP помоги...
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.