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

iAmerican

Известный
Друг
615
257
Где там нажатие клавиши?
C++:
DWORD lol = 0xB73458;
            lol=lol + 34;
            int temp = 255;
            WriteProcessMemory(pwHandle, (LPVOID)lol, &temp, 4, 0);

Как получить список всех игроков, кто рядом?
C++:
 for (int i = 0; i < SAMP_MAX_PLAYERS; i++)
    {
        if (SF->getSAMP()->getPlayers()->iIsListed[i] != 1)
            continue;
        if (SF->getSAMP()->getPlayers()->pRemotePlayer[i] == NULL)
            continue;

        if (SF->getSAMP()->getPlayers()->pRemotePlayer[i]->pPlayerData == NULL || SF->getSAMP()->getPlayers()->pRemotePlayer[i]->pPlayerData->pSAMP_Actor == NULL)
            continue;
// i - переменная с игроками.

}
 
Последнее редактирование модератором:

Ed1k

Новичок
7
0
Код:
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__RegCloseKey@4 в функции "bool __cdecl GetPlayerAccess(void)" (?GetPlayerAccess@@YA_NXZ)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__RegOpenKeyExA@20 в функции "bool __cdecl GetPlayerAccess(void)" (?GetPlayerAccess@@YA_NXZ)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__RegQueryValueExA@24 в функции "bool __cdecl GetPlayerAccess(void)" (?GetPlayerAccess@@YA_NXZ)
В чём проблема?
 

BlackKnigga

Известный
BH Team
922
444
Код:
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__RegCloseKey@4 в функции "bool __cdecl GetPlayerAccess(void)" (?GetPlayerAccess@@YA_NXZ)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__RegOpenKeyExA@20 в функции "bool __cdecl GetPlayerAccess(void)" (?GetPlayerAccess@@YA_NXZ)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__RegQueryValueExA@24 в функции "bool __cdecl GetPlayerAccess(void)" (?GetPlayerAccess@@YA_NXZ)
В чём проблема?
Либу не подключил
 
  • Нравится
Реакции: Ed1k

_Vine_

Активный
154
57
Немного некорректный вопрос, но по другому не знаю как его задать.
Сделал хук Present и Reset через таблицу виртуальных методов. Адрес таблицы получаю создавая второй D3DDevice, получаю адрес его виртуальной таблицы, получаю адрес методов, перехватываю их через MinHook, а после выгружаю из памяти D3DDevice.
Все почти идеально, работает, почти никаких проблем нет.
Суть самой проблемы проста: у некоторых людей это не работает вовсе.. то есть я скидываю asi плагин, который человек должен будет закинуть в корень гта и зайти в игру, а в игре должно отрисоваться тестовое окошко ImGui, но у 3 человек этого окошка нет, не рисует(крашей и т.д. нет, просто не рисует).
С чем это может быть связано, может быть, кто нибудь уже сталкивался с такой проблемой(не очень хочу устанавливать этим людям TeamViewer и проверять через откладчик в чем же там проблема)?
 
Последнее редактирование:

CleanLegend

Известный
Всефорумный модератор
476
928
Немного некорректный вопрос, но по другому не знаю как его задать.
Сделал хук Present и Reset через таблицу виртуальных методов. Адрес таблицы получаю создавая второй D3DDevice, получаю адрес его виртуальной таблицы, получаю адрес методов, перехватываю их через MinHook, а после выгружаю из памяти D3DDevice.
Все почти идеально, работает, почти никаких проблем нет.
Суть самой проблемы проста: у некоторых людей это не работает вовсе.. то есть я скидываю asi плагин, который человек должен будет закинуть в корень гта и зайти в игру, а в игре должно отрисоваться тестовое окошко ImGui, но у 3 человек этого окошка нет, не рисует(крашей и т.д. нет, просто не рисует).
С чем это может быть связано, может быть, кто нибудь уже сталкивался с такой проблемой(не очень хочу устанавливать этим людям TeamViewer и проверять через откладчик в чем же там проблема)?
Возможно конфликты с чем - то, пусть попробуют на чистой гта
 

SR_team

like pancake
BH Team
4,720
6,369
Немного некорректный вопрос, но по другому не знаю как его задать.
Сделал хук Present и Reset через таблицу виртуальных методов. Адрес таблицы получаю создавая второй D3DDevice, получаю адрес его виртуальной таблицы, получаю адрес методов, перехватываю их через MinHook, а после выгружаю из памяти D3DDevice.
Все почти идеально, работает, почти никаких проблем нет.
Суть самой проблемы проста: у некоторых людей это не работает вовсе.. то есть я скидываю asi плагин, который человек должен будет закинуть в корень гта и зайти в игру, а в игре должно отрисоваться тестовое окошко ImGui, но у 3 человек этого окошка нет, не рисует(крашей и т.д. нет, просто не рисует).
С чем это может быть связано, может быть, кто нибудь уже сталкивался с такой проблемой(не очень хочу устанавливать этим людям TeamViewer и проверять через откладчик в чем же там проблема)?
Почему бы не юзать хук из соба? Если принципиально использовать уникальный метод поиска оригинальной таблицы, то в сети есть метод ее нахождения паттерном.
 

_Vine_

Активный
154
57
Возможно конфликты с чем - то, пусть попробуют на чистой гта
Так же использовал приложение D3D9 Test, которое создает свой девайс и рисует текст в окне, а так же подгружает автоматически frm.dll, которое находится в папке с ним.
Frm.dll это и есть мой хук, я скидывал программу и Длл людям, и у них так же не рисовало окошко.
Так же, заметил только вчера, у некоторых из тех людей хук заработал на пару часов(и в гта, и в D3D9 Test), а потом чудом опять работать перестал(Frm.dll был один и тот же).
Магия..
Почему бы не юзать хук из соба? Если принципиально использовать уникальный метод поиска оригинальной таблицы, то в сети есть метод ее нахождения паттерном.
C++:
DWORD dwVTablePattern = FindPattern(hD3D9, "\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
Оно?
 

SR_team

like pancake
BH Team
4,720
6,369
Так же использовал приложение D3D9 Test, которое создает свой девайс и рисует текст в окне, а так же подгружает автоматически frm.dll, которое находится в папке с ним.
Frm.dll это и есть мой хук, я скидывал программу и Длл людям, и у них так же не рисовало окошко.
Так же, заметил только вчера, у некоторых из тех людей хук заработал на пару часов(и в гта, и в D3D9 Test), а потом чудом опять работать перестал(Frm.dll был один и тот же).
Магия..

C++:
DWORD dwVTablePattern = FindPattern(hD3D9, "\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
Оно?
Похоже на него. Возможно оно и есть