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

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так на скрине показывает до 0x407FFF строки, т,е это начало кода. в гта их больше
Я надеюсь ты не сравниваешь то что тебе показывает в ида? В запущеном виде часть памяти будет распределятся динамически, остальная часть кода разбросана по дллкам.
И советую дебагер всегда от админ прав запускать.
 
  • Нравится
Реакции: leak.

CleanLegend

Известный
Всефорумный модератор
476
929

leak.

Известный
37
4
Я надеюсь ты не сравниваешь то что тебе показывает в ида? В запущеном виде часть памяти будет распределятся динамически, остальная часть кода разбросана по дллкам.
И советую дебагер всегда от админ прав запускать.

закинул в папку дебагера плагины с гтихаба, теперь все адреса находят. большое спасибо)
 
  • Нравится
Реакции: ЯedЯuM

Stiopko

Известный
Проверенный
307
218
как полностью выгрузить плагин с помощью pfree

Есть дочерний поток. После того как он закончил свою работу. Я хочу его выгрузить плагин. Но загрузить не могу потому что плагин еще использует gta_sa

C++:
void ThreadEmulPressAlt()
{
    static BitStream bsOnfootSync;
    static stOnFootData ofSync;

    while (state) {
        if (!IsDriving(SF->getSAMP()->getPlayers()->sLocalPlayerID)) {
            std::this_thread::sleep_for(std::chrono::milliseconds(curTimeOut));
            memset(&ofSync, 0, sizeof(stOnFootData));
            ofSync = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData;

            ofSync.stSampKeys.keys_unknown__walkSlow = 1;

            bsOnfootSync.ResetWritePointer();
            bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);
            bsOnfootSync.Write((PCHAR)&ofSync, sizeof(stOnFootData));

            SF->getRakNet()->SendPacket(&bsOnfootSync);

            ofSync.stSampKeys.keys_unknown__walkSlow = 0;
            bsOnfootSync.ResetWritePointer();
            bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);
            bsOnfootSync.Write((PCHAR)&ofSync, sizeof(stOnFootData));

            SF->getRakNet()->SendPacket(&bsOnfootSync);

            g_mutex.lock();
            paramsCurSession.speeds.speedSend++;
            g_mutex.unlock();
        }
    }
}

Вызов

C++:
thd = new std::thread(ThreadEmulPressAlt);
 
Последнее редактирование:

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
как полностью выгрузить плагин с помощью pfree

Есть дочерний поток. После того как он закончил свою работу. Я хочу его выгрузить плагин. Но загрузить не могу потому что плагин еще использует gta_sa

C++:
void ThreadEmulPressAlt()
{
    static BitStream bsOnfootSync;
    static stOnFootData ofSync;

    while (state) {
        if (!IsDriving(SF->getSAMP()->getPlayers()->sLocalPlayerID)) {
            std::this_thread::sleep_for(std::chrono::milliseconds(curTimeOut));
            memset(&ofSync, 0, sizeof(stOnFootData));
            ofSync = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData;

            ofSync.stSampKeys.keys_unknown__walkSlow = 1;

            bsOnfootSync.ResetWritePointer();
            bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);
            bsOnfootSync.Write((PCHAR)&ofSync, sizeof(stOnFootData));

            SF->getRakNet()->SendPacket(&bsOnfootSync);

            ofSync.stSampKeys.keys_unknown__walkSlow = 0;
            bsOnfootSync.ResetWritePointer();
            bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);
            bsOnfootSync.Write((PCHAR)&ofSync, sizeof(stOnFootData));

            SF->getRakNet()->SendPacket(&bsOnfootSync);

            g_mutex.lock();
            paramsCurSession.speeds.speedSend++;
            g_mutex.unlock();
        }
    }
}

Вызов

C++:
thd = new std::thread(ThreadEmulPressAlt);
ExitThread в потоке юзай
 

Stiopko

Известный
Проверенный
307
218
ExitThread в потоке юзай

не работает

C++:
void ThreadEmulPressAlt()
{
    static BitStream bsOnfootSync;
    static stOnFootData ofSync;

    while (paramsCurSession.state) {
        if (!IsDriving(SF->getSAMP()->getPlayers()->sLocalPlayerID)) {
            std::this_thread::sleep_for(std::chrono::milliseconds(paramsCurSession.curTimeOut));
            memset(&ofSync, 0, sizeof(stOnFootData));
            ofSync = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData;

            ofSync.stSampKeys.keys_unknown__walkSlow = 1;

            bsOnfootSync.ResetWritePointer();
            bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);
            bsOnfootSync.Write((PCHAR)&ofSync, sizeof(stOnFootData));

            SF->getRakNet()->SendPacket(&bsOnfootSync);

            ofSync.stSampKeys.keys_unknown__walkSlow = 0;
            bsOnfootSync.ResetWritePointer();
            bsOnfootSync.Write((BYTE)ID_PLAYER_SYNC);
            bsOnfootSync.Write((PCHAR)&ofSync, sizeof(stOnFootData));

            SF->getRakNet()->SendPacket(&bsOnfootSync);

            g_mutex.lock();
            paramsCurSession.speeds.speedSend++;
            g_mutex.unlock();
        }
    }
    ExitThread(0);
}
 
Последнее редактирование:

Revalto

Известный
532
225
Gradient function:

Код:
void RenderWindowBackground(int x, int y, int size_x, int size_y, int alpha)
    {
        D3DCOLOR first_color = D3DCOLOR_ARGB(ini.color.bgnd_first.alpha, ini.color.bgnd_first.red, ini.color.bgnd_first.green, ini.color.bgnd_first.blue);
        D3DCOLOR second_color = D3DCOLOR_ARGB(ini.color.bgnd_second.alpha, ini.color.bgnd_second.red, ini.color.bgnd_second.green, ini.color.bgnd_second.blue);
        if (alpha) {
            first_color = D3DCOLOR_ARGB(alpha, ini.color.bgnd_first.red, ini.color.bgnd_first.green, ini.color.bgnd_first.blue);
            second_color = D3DCOLOR_ARGB(alpha, ini.color.bgnd_second.red, ini.color.bgnd_second.green, ini.color.bgnd_second.blue);
        }
        pD3DHook->pRender->D3DGradient(x, y, size_x, size_y, first_color, second_color);
    }
Use:
Код:
ImGui::RenderWindowBackground(ImGui::GetWindowPos().x, ImGui::GetWindowPos().y, ImGui::GetWindowSize().x, ImGui::GetWindowSize().y);
 
  • Нравится
Реакции: _=Gigant=_

JakeBat

Известный
12
0
Господа, вылетает иногда GTA при Shift+0 , я так понял нужно дополнительное обнуление каких-либо данных, кто-то же все-таки сталкивался с данной проблемой, Как поправить?
 

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Господа, вылетает иногда GTA при Shift+0 , я так понял нужно дополнительное обнуление каких-либо данных, кто-то же все-таки сталкивался с данной проблемой, Как поправить?
Для начала дать нам свой говнокод на анализ
 

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
От 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=_

Известный
134
191
how to convert this ?

Screenshot-1.jpg
 

jenekbueno

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