Другое С/С++ Вопрос - Ответ

ЯedЯuM

Malware Maker
242
302
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
От FYP собейт для 0.3.7 на некоторых все в порядке, на некоторых нет, возможно дело обстоит с повторным удалением уже удаленных объектов? Как думаете?
Ты туго догоняешь я не пойму? Давай свой код а там и посмотрим, я не слышал чтобы на бх заходили победители битвы экстрасенсов.
 

JakeBat

Известный
12
0
Форматирование кода
////
#define SAMP_FUNC_RESTARTGAME 0xA060
/////
if (KEYCOMBO_PRESSED(set.key_rejoin))
{
disconnect(0);
restartGame();

cheat_state_text("Реконнект через %d секунд...", set.rejoin_delay / 1000);
cheat_state->_generic.rejoinTick = GetTickCount();
}
/////////////////////////
void restartGame()
{
if (g_SAMP == NULL)
return;

((void(__thiscall *) (void *)) (g_dwSAMP_Addr + SAMP_FUNC_RESTARTGAME)) (g_SAMP);
}
//////////
uint32_t samp_dll = getSampAddress();
g_dwSAMP_Addr = (uint32_t) samp_dll;
uint32_t getSampAddress()
{
if (set.run_mode == RUNMODE_SINGLEPLAYER)
return 0x0;

uint32_t samp_dll;
if (set.run_mode == RUNMODE_SAMP)
{
if (set.wine_compatibility)
{
samp_dll = (uint32_t) LoadLibrary(SAMP_DLL);
}
else
{
samp_dll = (uint32_t) dll_baseptr_get(SAMP_DLL);
}
}
return samp_dll;
}
////////

 

_=Gigant=_

Известный
144
221
how to convert this ?

Screenshot-1.jpg
 

jenekbueno

Известный
157
69
привет.
как заполнить 1 пиксель на экране определённым цветом методами рендера ( mod_sa, sf api) ?
 

Неадекватная сова

Известный
Проверенный
208
147

_=Gigant=_

Известный
144
221
whats wrong with this it should show text depending on time pass but it shows nothing....

static DWORD dwShowTick;

dwShowTick = GetTickCount ();

if (GetTickCount () - dwShowTick == 10000)
{
addMessage("10 sec");
}
else if (GetTickCount () - dwShowTick == 20000) // i also puted > 20000 but still not working
{
addMessage("20 sec");
}
 
Последнее редактирование:

-raymond-

Известный
110
9
как узнать ид игрока который отправил пакет?

C++:
bool CALLBACK incomingData(stRakNetHookParams *params)
{
    if (params->packetId == PacketEnumeration::ID_BULLET_SYNC)
    {
        stBulletData data;
        memset(&data, 0, sizeof(stBulletData)); // обнуляем
        byte packet;
        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(packet); // читаем ID пакета
        params->bitStream->Read((PCHAR)&data, sizeof(stBulletData)); // читаем отправляемые данные
        SF->getSAMP()->getChat()->AddChatMessage(0xDFFFFF, "sTargetID: %d", data.sTargetID);
    };
    return true;
};
 

ALF

Известный
Проверенный
320
539
как узнать ид игрока который отправил пакет?

C++:
bool CALLBACK incomingData(stRakNetHookParams *params)
{
    if (params->packetId == PacketEnumeration::ID_BULLET_SYNC)
    {
        stBulletData data;
        memset(&data, 0, sizeof(stBulletData)); // обнуляем
        byte packet;
        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(packet); // читаем ID пакета
        params->bitStream->Read((PCHAR)&data, sizeof(stBulletData)); // читаем отправляемые данные
        SF->getSAMP()->getChat()->AddChatMessage(0xDFFFFF, "sTargetID: %d", data.sTargetID);
    };
    return true;
};
C++:
bool CALLBACK incomingData(stRakNetHookParams *params)
{
    if (params->packetId == PacketEnumeration::ID_BULLET_SYNC)
    {
        stBulletData data = { 0 };
       
        WORD id;

        params->bitStream->ResetReadPointer();
        params->bitStream->IgnoreBits(8);
        params->bitStream->Read(id);
        params->bitStream->Read((PCHAR)&data, sizeof(stBulletData));
       
        SF->getSAMP()->getChat()->AddChatMessage(0xDFFFFF, "ID: %d", id);
    }
    return true;
}
 

Musaigen

abobusnik
Проверенный
1,607
1,365
Влияет ли на работоспособность RakNet Хука ResetReadPointer()?
 

checkdasound

Известный
Проверенный
963
410
Как можно сделать активацию чит-кодом помимо проверки на несколько нажатых клавиш?
 

checkdasound

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

Код:
#include <windows.h>
#include <process.h>
#include "main.h"

bool pStatus = false;

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

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

CleanLegend

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

Код:
#include <windows.h>
#include <process.h>
#include "main.h"

bool pStatus = false;

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

void __cdecl func(void *pArg)
{
   *reinterpret_cast<DWORD*>(0x004B35A0) = 0x560CEC83;
   *reinterpret_cast<WORD*>(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<BYTE*>(0x96916D) = 1; // bullet
           *reinterpret_cast<BYTE*>(0xB7CEE6) = 1; // fire
           *(unsigned char*)(CurrentCharPointer + 66) = 0xCC; // all
       } else
           {
               *reinterpret_cast<BYTE*>(0x96916D) = 0; // bullet
               *reinterpret_cast<BYTE*>(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);
}
Поставь в потоке проверку на загрузку игры
 

NarutoUA

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

Код:
#include <windows.h>
#include <process.h>
#include "main.h"

bool pStatus = false;

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

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