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

soviet

Участник
34
6
Есть .asi, нужно чтобы он заменил другой файл .asi в папке с игрой на свой, как такое реализовать на С++?
 

rraggerr

проверенный какой-то
1,626
847
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Есть .asi, нужно чтобы он заменил другой файл .asi в папке с игрой на свой, как такое реализовать на С++?
никак, после загрузки, пока аси не выгрузится, его нельзя будет заменить
 

CleanLegend

Известный
Всефорумный модератор
476
929
Есть .asi, нужно чтобы он заменил другой файл .asi в папке с игрой на свой, как такое реализовать на С++?
Выделить виртуальную память,заполнить ее твоей функцией, получить адреса функций и параметры, запустить поток и передать аргументы в виде структуры(адреса функций и параметры для них)
Получить адрес функции вызова опкода и вызвать её
и какой ид клавиши N ?
Клавиши N/Y проверяются через currentweaponid
 
  • Нравится
Реакции: Akionka

soviet

Участник
34
6
Выделить виртуальную память,заполнить ее твоей функцией, получить адреса функций и параметры, запустить поток и передать аргументы в виде структуры(адреса функций и параметры для них)
а теперь, если можно, в код...
 

CleanLegend

Известный
Всефорумный модератор
476
929
@CleanLegend делал гайд по выгрузке
тут есть пример https://blast.hk/threads/34101/
для библиотеки вызываешь FreeLibrary прям из нее,перед этим нужно еще снять хуки
хорошо, а есть какая-то функция чтобы предотвратить загрузку другого .asi ?
Загрузка dll происходит через WinAPI функцию LoadLibrary, хукаешь ее и не даешь загружаться
 
  • Нравится
Реакции: Cake_ и soviet

Cake_

Известный
Проверенный
263
313
  • Нравится
Реакции: Azller Lollison

Receiver

🥩 Передай meat, всё в скип, я в темпе
Проверенный
597
819
С твоим "не ебу как сделать", ты ничего не добьешься. Хукай пакет ID_PLAYER_SYNC выводя в чат параметр stKeys
при нажатии на N - 0, при нажатии на пробел - 32

C++:
bool CALLBACK outcomingData(stRakNetHookParams *params)
{
    if (params->packetId == PacketEnumeration::ID_PLAYER_SYNC)
    {
        stOnFootData data; // определяем объект, в который сохраним отправляемые данные
        memset(&data, 0, sizeof(stOnFootData)); // обнуляем его
        byte packet;

        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(packet); // читаем ID пакета
        params->bitStream->Read((PCHAR)&data, sizeof(stOnFootData)); // читаем отправляемые данные
        params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения

        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 255, 0), "nazhata klavisha: %d", data.sKeys); // выводим хуйню на экран
    };

    return true; // успешно завершаем отправку пакета
};
 

_Vine_

Активный
154
57
при нажатии на N - 0, при нажатии на пробел - 32

C++:
bool CALLBACK outcomingData(stRakNetHookParams *params)
{
    if (params->packetId == PacketEnumeration::ID_PLAYER_SYNC)
    {
        stOnFootData data; // определяем объект, в который сохраним отправляемые данные
        memset(&data, 0, sizeof(stOnFootData)); // обнуляем его
        byte packet;

        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(packet); // читаем ID пакета
        params->bitStream->Read((PCHAR)&data, sizeof(stOnFootData)); // читаем отправляемые данные
        params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения

        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 255, 0), "nazhata klavisha: %d", data.sKeys); // выводим хуйню на экран
    };

    return true; // успешно завершаем отправку пакета
};
Нажатия клавиш N и Y передаются через элемент byteCurrentWeapon, номер клавиши N - 128
 

R G T X

Потрачен
17
13
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
С чего начинать делать софты для SAMPA?
 

0xFF

Известный
68
18
У кого-нибудь есть адреса, чтобы узнать ид педа в которого выстрельнул с оружия?
(для одиночки нужно, не samp)