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

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1688201914907.png

что я не так делаю, почему методы в библиотеке detours DetourTransactionBegin() и DetourUpdateThread(GetCurrentThread()) возвращают false, но программа работает нормально, в чем может быть проблема?

UPD: понял разобрался оно всегда будет возвращать false
1688202389467.png
1688202391520.png
 
Последнее редактирование:

why ega

РП игрок
Модератор
2,555
2,248
Хочу наклепать вмп хуков на интерфейс ракпира, есть у кого-то указатель на него? И стоит ли вообще ставить вмт хуки на интерфейс ракпира, а не джамп хуки на методы самого ракпира?
 

reussssya

Новичок
28
8
Можно подробное различие RakPeer и RakClient. Где-то видел, что используя первое можно исполнять больше возможностей
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,731
4,717
Можно подробное различие RakPeer и RakClient. Где-то видел, что используя первое можно исполнять больше возможностей
Второе это типа «интерфейс» к первому, для более конкретного использования(в качестве клиента)
 
  • Нравится
Реакции: why ega и reussssya

why ega

РП игрок
Модератор
2,555
2,248
Можно подробное различие RakPeer и RakClient. Где-то видел, что используя первое можно исполнять больше возможностей
RakClient это обёртка над RakPeer для клиента(в самповском ракнете есть также и RakServer, который уже обёртка для RakPeer на серверной стороне). Большинство действий (исходящие пакеты/РПЦ, входящие пакеты, входящие РПЦ тоже можно, но с ними надо подрочиться), которые тебе могут понадобиться ты сможешь реализовать через RakClient, RakPeer можно использовать в случае, если тебе надо хукать много разных РПЦ (в RakClient, как я понимаю надо создавать на каждый РПЦ свой обработчик) или тебе нужен тотальный контроль над всеми пакетами (допустим если кто-нибудь создаст свой RakClient, он всё равно скорее всего будет юзать RakPeer). Если коротко RakClient - класс, который является абстракцией над RakPeer, но RakPeer также не является самым низкоуровневым классом в ракнете, под ним есть другие классы. Скорее всего ты мало чего поймёшь, не попробовав это на практике, так что вот ссылка на ракнет, который +- такой-же, как в самом сампе: https://github.com/LoleroChitero/RakSAMP/tree/master/raknet
 
  • Нравится
Реакции: Z3roKwq и reussssya

imring

Ride the Lightning
Всефорумный модератор
2,354
2,516
Хочу наклепать вмп хуков на интерфейс ракпира, есть у кого-то указатель на него? И стоит ли вообще ставить вмт хуки на интерфейс ракпира, а не джамп хуки на методы самого ракпира?
можно получить его с, например, RakPeer::HandleRPCPacket (https://github.com/imring/RakHook/blob/master/src/RakHook/rakhook.cpp#L30)
или с RakClientInterface, поскольку он является родительским для RakClient (https://github.com/dashr9230/SA-MP/blob/master/raknet/RakClient.h#L31)
RakClientInterface - sizeof(RakPeer)
1688413469015.png
 
  • Нравится
Реакции: why ega

why ega

РП игрок
Модератор
2,555
2,248
можно получить его с, например, RakPeer::HandleRPCPacket
Чет пробовал доставать его от туда и хукать 13 метод (Send), но шот не воркало, возможно я еблан и запутался в нумерации методов и хукал либо вообще не тот метод, либо тот, который идет без готового битстрима, поэтому завтра попробую ещё раз, спасибо
 

sazzas1978

Известный
125
122
RakClient это обёртка над RakPeer для клиента(в самповском ракнете есть также и RakServer, который уже обёртка для RakPeer на серверной стороне). Большинство действий (исходящие пакеты/РПЦ, входящие пакеты, входящие РПЦ тоже можно, но с ними надо подрочиться), которые тебе могут понадобиться ты сможешь реализовать через RakClient, RakPeer можно использовать в случае, если тебе надо хукать много разных РПЦ (в RakClient, как я понимаю надо создавать на каждый РПЦ свой обработчик) или тебе нужен тотальный контроль над всеми пакетами (допустим если кто-нибудь создаст свой RakClient, он всё равно скорее всего будет юзать RakPeer). Если коротко RakClient - класс, который является абстракцией над RakPeer, но RakPeer также не является самым низкоуровневым классом в ракнете, под ним есть другие классы. Скорее всего ты мало чего поймёшь, не попробовав это на практике, так что вот ссылка на ракнет, который +- такой-же, как в самом сампе: https://github.com/LoleroChitero/RakSAMP/tree/master/raknet
Прикол, что есть достаточное количесто пакетов, и(или) рпс, которые проходят через RakPeer::Send, но не через RakClient::Send, их просто нельзя словить в хуке RakClient::Send, в этом и печалька.
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,731
4,717
Прикол, что есть достаточное количесто пакетов, и(или) рпс, которые проходят через RakPeer::Send, но не через RakClient::Send, их просто нельзя словить в хуке RakClient::Send, в этом и печалька.
потому что в виде пакетов в сампе отправляется только синхра, все остальное это рпц
 
  • Нравится
Реакции: Dmitry Code и Z3roKwq

sazzas1978

Известный
125
122

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,731
4,717
  • Ха-ха
Реакции: Z3roKwq

VanyaBulkin

Новичок
5
2
Как исправить данную ошибку при попытки сборки решения?
1688585527309.png

Вот какие настройки у меня стоят:
1688585402394.png


1688585587769.png
 

Вложения

  • 1688584934869.png
    1688584934869.png
    263.4 KB · Просмотры: 10
  • 1688584955100.png
    1688584955100.png
    263.4 KB · Просмотры: 14

Digger Man

Любитель Linux
Модератор
1,639
1,124
  • Нравится
Реакции: Dmitry Code и Z3roKwq

zheluk!

Новичок
7
0
Мужички ребята, пытаюсь получить CPed игрока по ID, используя plugin SDK + sampAPI, но игра крашиться, помогите пожалуйста, я риально слоупчан

Пробывал 2 варианта:
C++:
CPed* pPed = SAMP::pSAMP->getPlayers()->GetCPedFromPlayerID(ID);

C++:
CPed* pPed = CPools::GetPed(pSAMP->getPlayers()->pRemotePlayer[ID]->pPlayerData->pSAMP_Actor->ulGTAEntityHandle);