{$FANTOMCODER .cs}
Известный
- 210
- 53
Так же, как и любое значение из памяти, через reinterpret_cast, наверно.как на плюсах подменить структуру из памяти, на свою?
Так же, как и любое значение из памяти, через reinterpret_cast, наверно.
#pragma pack(push, 1)
struct CAR_MOD_INFO
{
int test;
} mTest[24];
#pragma pack(pop)
*reinterpret_cast<uintptr_tr*>(0xABCFFF + 0xAB) = *reinterpret_cast<uintptr_t*>(&mTest[1]);
Попробуй такпытался таким способом, безуспешноКод:#pragma pack(push, 1) struct CAR_MOD_INFO { int test; } mTest[24]; #pragma pack(pop) *reinterpret_cast<uintptr_tr*>(0xABCFFF + 0xAB) = *reinterpret_cast<uintptr_t*>(&mTest[1]);
*reinterpret_cast<CAR_MOD_INFO**>(addr) = &mTest[1];Лучше опиши всю задачу, что тебе надо сделатьпытался таким способом, безуспешноКод:#pragma pack(push, 1) struct CAR_MOD_INFO { int test; } mTest[24]; #pragma pack(pop) *reinterpret_cast<uintptr_tr*>(0xABCFFF + 0xAB) = *reinterpret_cast<uintptr_t*>(&mTest[1]);
В структуре хранится переменная типа char, но она позволяет хранить значения до 255, я подумал а почему бы не заменить на свою структуру с int и все будет заебумба))Лучше опиши всю задачу, что тебе надо сделать
не работаетПопробуй так*reinterpret_cast<CAR_MOD_INFO**>(addr) = &mTest[1];
не будет, оффсеты сместятсяя подумал а почему бы не заменить на свою структуру с int и все будет заебумба))
Проверь защиту страницы памяти по этому адресу.В структуре хранится переменная типа char, но она позволяет хранить значения до 255, я подумал а почему бы не заменить на свою структуру с int и все будет заебумба))
Просмотрев в IDA где используется данная структура, на работоспособность никак не должна повлиять
не работает
#define SAMP_CHAT_INFO_OFFSET 0x26E8C8
#define SAMP_FUNC_ADDTOCHATWND 0x67460
SAMPBase *pSAMP;
void mainThread(void *pvParams)
{
if (pSAMP)
{
while (!pSAMP->tryInit())
Sleep(100);
while (!pSAMP->isInited)
continue;
strcpy(pSAMP->getInfo()->m_szHostAddress, "217.106.106.86");
pSAMP->getInfo()->m_nPort = 7024;
}
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
switch (dwReasonForCall)
{
case DLL_PROCESS_ATTACH:
{
pSAMP = new SAMPBase(GetModuleHandle("samp.dll"));
_beginthread(mainThread, NULL, NULL);
break;
}
}
return TRUE;
}
Конструктор CNetGame, но после его вызова, а не доДайте адрес, который вызывается, когда самп полностю проинициализировался (структуры там всякие и т.д.), если есть
кусок кода который ты показал просто прелестен, идеален. но может всё же покажешь как хукаешь, какая версия самп, ну или на крайний случай дашь хоть какуе-то информацию, кроме того как ты читаешь непонятно еще правильный ли битстрим.кроче хук 36 rpc create 3d text выводит в чат херню всякую
Посмотреть вложение 113869