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

0xff65

Новичок
19
1
Пытаюсь собрать один сурс чита. Установил plugin sdk, скомпил все как надо. При сборки колотит мозги с Sefetyhooks а именно - (Не удается открыть файл включение: expected: No such file or directory), ответили в одной из тем нужно изменить стандарт C++ при компилировании plugin sdk, хотя он и так по умолчанию стоял latest, в чем может быть проблема?
(так же при компилировании использую сборку визуалки 19 года, т.к на 22 ошибок 100+, так же незнаю почему - Directx SDK установлен)
 

vanitydev

Новичок
7
2
I'm trying to build one source of the reader. I installed the plugin sdk, compiled everything as needed. When building, my brain is pounding with Sefetyhooks, namely - (Unable to open the include file: expected: No such file or directory) , they answered in one of the topics that you need to change the C++ standard when compiling the plugin sdk, although it was already the latest by default, what could be the problem?
(I also use the 19th year visual build when compiling, because there are 100+ errors on 22, and I also don’t know why - Directx SDK is installed)
Project->Properties->General->C++ Language Standard->Preview - Features from the Latest C++ Working Draft (/std:c++latest)
 

TokyoQq

Новичок
15
5
как id машины получить через sampapi или plugin sdk
и как из uint16_t сделать cvehicle
 

Receiver

leet-cheats 👑
Модератор
639
949

TokyoQq

Новичок
15
5
Получить откуда? Из CVehicle?

Если твой uint16_t это индекс машины в пуле: https://github.com/BlastHackNet/SAM...b62/src/sampapi/0.3.7-R1/CVehiclePool.cpp#L82
да получить из CVehicle.

Из uint16_t пробовал так делать:
я пробовал так samp::CVehicle* playaVeh = samp::RefNetGame()->GetVehiclePool()->Get(v);
но там были ошибки по типу невозможно приобразовать из samp::CVehicle в CVehicle вот больше кода
C++:
    static void RenderNeonForVehicle(CVehicle *vehicle) {
        CVector Pos = CModelInfo::ms_modelInfoPtrs[vehicle->m_nModelIndex]->m_pColModel->m_boundBox.m_vecMin;
        CVector center = vehicle->TransformFromObjectSpace(CVector(0.0f, 0.0f, 0.0f));
        CVector up = vehicle->TransformFromObjectSpace(CVector(0.0f, 0.0f - Pos.y, 0.0f)) - center;
        CVector right = vehicle->TransformFromObjectSpace(CVector(Pos.x - 0.0f, 0.0f, 0.0f)) - center;
    }
если типо делать в RenderNeonForVehicle samp::CVehicle то пишет что TransformFromObjectSpace ненайден а в CVehicle* playaVeh = samp::RefNetGame()->GetVehiclePool()->Get(v); без samp:: будут ошибки
 

ARMOR

Мне кажется, я всё проебал
Модератор
5,021
7,078
да получить из CVehicle.

Из uint16_t пробовал так делать:
я пробовал так samp::CVehicle* playaVeh = samp::RefNetGame()->GetVehiclePool()->Get(v);
но там были ошибки по типу невозможно приобразовать из samp::CVehicle в CVehicle вот больше кода
C++:
    static void RenderNeonForVehicle(CVehicle *vehicle) {
        CVector Pos = CModelInfo::ms_modelInfoPtrs[vehicle->m_nModelIndex]->m_pColModel->m_boundBox.m_vecMin;
        CVector center = vehicle->TransformFromObjectSpace(CVector(0.0f, 0.0f, 0.0f));
        CVector up = vehicle->TransformFromObjectSpace(CVector(0.0f, 0.0f - Pos.y, 0.0f)) - center;
        CVector right = vehicle->TransformFromObjectSpace(CVector(Pos.x - 0.0f, 0.0f, 0.0f)) - center;
    }
если типо делать в RenderNeonForVehicle samp::CVehicle то пишет что TransformFromObjectSpace ненайден а в CVehicle* playaVeh = samp::RefNetGame()->GetVehiclePool()->Get(v); без samp:: будут ошибки
В samp::CVehicle есть поле m_pGameVehicle, это то что тебе нужно
 

TokyoQq

Новичок
15
5
C++:
samp::RefNetGame()->GetVehiclePool()->Get(v);

может кто-то дать этот код только для plugin sdk
 

Wu_Yu_Le

Новичок
2
0
How can I add the main parts of this code to mod_sta? I have already done everything about the menu. But I don't know how to correctly add a new patch
 

Вложения

  • code.jpg
    code.jpg
    144.9 KB · Просмотры: 45

TokyoQq

Новичок
15
5
кто может помочь с хуком вот срочка из ida
ida pro:
.text:1008D077 68 D4 B2 0E 10  push    offset aSampguiPng ; "sampgui.png"
то есть надо изменить sampgui.png на gui.png чет типо
C++:
patch::RedirectCall(0x100EB2D4, "gui.png");

ida pro:
void __thiscall CDXUTDialog::InitDefaultElements(CDXUTDialog *this)
{
  struct tagRECT rc; // [esp+10h] [ebp-7Ch] BYREF
  CDXUTElement a4; // [esp+20h] [ebp-6Ch] BYREF

  CGrowableArray<int>::SetTexture(this, 0, "sampgui.png");
  CDXUTDialog::InitFont(this);
  CDXUTElement::SetFont(&this->m_CapElement, 1, -1, 5);
  SetRect(&rc, 17, 269, 241, 287);
  CDXUTElement::SetTexture(&this->m_CapElement, 0, &rc, 0xFFFFFFFF);
  this->m_CapElement.TextureColor.States[0] = 0xC80A0A0A;
  this->m_CapElement.FontColor.States[0] = 0xFFD2D2D2;
  CDXUTElement::SetFont(&this->m_CapElement, 1, 0xFFD2D2D2, 4);
  DXUTBlendColor::Blend(&this->m_CapElement.TextureColor, 0, 10.0, 0.69999999);
  DXUTBlendColor::Blend(&this->m_CapElement.FontColor, 0, 10.0, 0.69999999);
  CDXUTElement::SetFont(&a4, 1, -1, 5);
  CDXUTElement::SetFont(&a4, 1, 0xFFBEBEBE, 68);
  a4.FontColor.States[1] = 0xC8C8C8C8;
  CDXUTDialog::SetDefaultElement(this, 1, 0, &a4);
  SetRect(&rc, 0, 0, 136, 54);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 5);
  a4.TextureColor.States[0] = 0xC8FFFFFF;
  a4.TextureColor.States[5] = 0xFF95B0D0;
  a4.TextureColor.States[4] = 0xFFB92228;
  a4.FontColor.States[4] = 0xFFFFFFFF;
  a4.FontColor.States[0] = 0xFFC8C8C8;
  CDXUTDialog::SetDefaultElement(this, 0, 0, &a4);
  SetRect(&rc, 0, 0, 136, 54);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFu);
  a4.TextureColor.States[4] = 0xFFB92228;
  a4.TextureColor.States[5] = 0x3C505050;
  a4.TextureColor.States[3] = 0xC8FFFFFF;
  CDXUTDialog::SetDefaultElement(this, 0, 1, &a4);
  SetRect(&rc, 0, 54, 27, 81);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 4);
  a4.FontColor.States[1] = 0xC8C8C8C8;
  a4.TextureColor.States[0] = 0x96FFFFFF;
  a4.TextureColor.States[3] = 0xC8FFFFFF;
  a4.TextureColor.States[5] = -1;
  CDXUTDialog::SetDefaultElement(this, 2, 0, &a4);
  SetRect(&rc, 27, 54, 54, 81);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 2, 1, &a4);
  SetRect(&rc, 54, 54, 81, 81);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 4);
  a4.FontColor.States[1] = 0xC8C8C8C8;
  a4.TextureColor.States[0] = 0x96FFFFFF;
  a4.TextureColor.States[3] = 0xC8FFFFFF;
  a4.TextureColor.States[5] = -1;
  CDXUTDialog::SetDefaultElement(this, 3, 0, &a4);
  SetRect(&rc, 81, 54, 108, 81);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 3, 1, &a4);
  SetRect(&rc, 7, 81, 247, 123);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 5);
  a4.TextureColor.States[0] = 0xC8FFFFFF;
  a4.TextureColor.States[4] = 0xFFB92228;
  a4.TextureColor.States[3] = 0xFFB92228;
  a4.TextureColor.States[1] = 0x46C8C8C8;
  a4.FontColor.States[4] = 0xFFFFFFFF;
  a4.FontColor.States[5] = 0xFF000000;
  a4.FontColor.States[1] = 0xC8C8C8C8;
  CDXUTDialog::SetDefaultElement(this, 4, 0, &a4);
  SetRect(&rc, 272, 0, 325, 49);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  a4.TextureColor.States[0] = 0xC8FFFFFF;
  a4.TextureColor.States[5] = 0xFF969696;
  a4.TextureColor.States[3] = 0xFF969696;
  a4.TextureColor.States[1] = 0x46FFFFFF;
  CDXUTDialog::SetDefaultElement(this, 4, 1, &a4);
  SetRect(&rc, 7, 123, 241, 265);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 0);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xC8808080, 0);
  CDXUTDialog::SetDefaultElement(this, 4, 2, &a4);
  SetRect(&rc, 7, 266, 241, 289);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 0);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFC8C8C8, 0xC8808080, 0);
  CDXUTDialog::SetDefaultElement(this, 4, 3, &a4);
  SetRect(&rc, 1, 290, 280, 331);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  a4.TextureColor.States[0] = 0x96FFFFFF;
  a4.TextureColor.States[3] = 0xC8FFFFFF;
  a4.TextureColor.States[1] = 0x46FFFFFF;
  CDXUTDialog::SetDefaultElement(this, 5, 0, &a4);
  SetRect(&rc, 54, 54, 81, 81);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xFF95B0D0, 0);
  a4.TextureColor.States[4] = 0xFFF0F0F0;
  a4.TextureColor.States[5] = 0xFFB92228;
  a4.TextureColor.States[3] = 0xFFDCDCDC;
  CDXUTDialog::SetDefaultElement(this, 5, 1, &a4);
  SetRect(&rc, 243, 144, 265, 155);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0);
  CDXUTDialog::SetDefaultElement(this, 9, 0, &a4);
  SetRect(&rc, 243, 124, 265, 144);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0);
  CDXUTDialog::SetDefaultElement(this, 9, 1, &a4);
  SetRect(&rc, 243, 155, 265, 176);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0);
  CDXUTDialog::SetDefaultElement(this, 9, 2, &a4);
  SetRect(&rc, 266, 123, 286, 167);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xFF95B0D0, 0);
  CDXUTDialog::SetDefaultElement(this, 9, 3, &a4);
  CDXUTElement::SetFont(&a4, 0, -16777216, 4);
  SetRect(&rc, 14, 90, 241, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 0, &a4);
  SetRect(&rc, 8, 82, 14, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 1, &a4);
  SetRect(&rc, 14, 82, 241, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 2, &a4);
  SetRect(&rc, 241, 82, 246, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 3, &a4);
  SetRect(&rc, 8, 90, 14, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 4, &a4);
  SetRect(&rc, 241, 90, 246, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 5, &a4);
  SetRect(&rc, 8, 113, 14, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 6, &a4);
  SetRect(&rc, 14, 113, 241, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 7, &a4);
  SetRect(&rc, 241, 113, 246, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 8, &a4);
  CDXUTElement::SetFont(&a4, 0, 0xFF000000, 4);
  SetRect(&rc, 14, 90, 241, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 0, &a4);
  SetRect(&rc, 8, 82, 14, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 1, &a4);
  SetRect(&rc, 14, 82, 241, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 2, &a4);
  SetRect(&rc, 241, 82, 246, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 3, &a4);
  SetRect(&rc, 8, 90, 14, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 4, &a4);
  SetRect(&rc, 241, 90, 246, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 5, &a4);
  SetRect(&rc, 8, 113, 14, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 6, &a4);
  SetRect(&rc, 14, 113, 241, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 7, &a4);
  SetRect(&rc, 241, 113, 246, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 8, &a4);
  SetRect(&rc, 0, 0, 136, 54);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 5);
  CDXUTDialog::SetDefaultElement(this, 7, 9, &a4);
  SetRect(&rc, 13, 124, 241, 265);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 1, -1, 64);
  CDXUTDialog::SetDefaultElement(this, 8, 0, &a4);
  SetRect(&rc, 17, 269, 241, 287);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 1, 0xFFFFFFFF, 64);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xC8808080, 0);
  CDXUTDialog::SetDefaultElement(this, 8, 1, &a4);
}
 

whyega52

Eblang головного мозга
Модератор
2,829
2,738
кто может помочь с хуком вот срочка из ida
ida pro:
.text:1008D077 68 D4 B2 0E 10  push    offset aSampguiPng ; "sampgui.png"
то есть надо изменить sampgui.png на gui.png чет типо
C++:
patch::RedirectCall(0x100EB2D4, "gui.png");

ida pro:
void __thiscall CDXUTDialog::InitDefaultElements(CDXUTDialog *this)
{
  struct tagRECT rc; // [esp+10h] [ebp-7Ch] BYREF
  CDXUTElement a4; // [esp+20h] [ebp-6Ch] BYREF

  CGrowableArray<int>::SetTexture(this, 0, "sampgui.png");
  CDXUTDialog::InitFont(this);
  CDXUTElement::SetFont(&this->m_CapElement, 1, -1, 5);
  SetRect(&rc, 17, 269, 241, 287);
  CDXUTElement::SetTexture(&this->m_CapElement, 0, &rc, 0xFFFFFFFF);
  this->m_CapElement.TextureColor.States[0] = 0xC80A0A0A;
  this->m_CapElement.FontColor.States[0] = 0xFFD2D2D2;
  CDXUTElement::SetFont(&this->m_CapElement, 1, 0xFFD2D2D2, 4);
  DXUTBlendColor::Blend(&this->m_CapElement.TextureColor, 0, 10.0, 0.69999999);
  DXUTBlendColor::Blend(&this->m_CapElement.FontColor, 0, 10.0, 0.69999999);
  CDXUTElement::SetFont(&a4, 1, -1, 5);
  CDXUTElement::SetFont(&a4, 1, 0xFFBEBEBE, 68);
  a4.FontColor.States[1] = 0xC8C8C8C8;
  CDXUTDialog::SetDefaultElement(this, 1, 0, &a4);
  SetRect(&rc, 0, 0, 136, 54);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 5);
  a4.TextureColor.States[0] = 0xC8FFFFFF;
  a4.TextureColor.States[5] = 0xFF95B0D0;
  a4.TextureColor.States[4] = 0xFFB92228;
  a4.FontColor.States[4] = 0xFFFFFFFF;
  a4.FontColor.States[0] = 0xFFC8C8C8;
  CDXUTDialog::SetDefaultElement(this, 0, 0, &a4);
  SetRect(&rc, 0, 0, 136, 54);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFu);
  a4.TextureColor.States[4] = 0xFFB92228;
  a4.TextureColor.States[5] = 0x3C505050;
  a4.TextureColor.States[3] = 0xC8FFFFFF;
  CDXUTDialog::SetDefaultElement(this, 0, 1, &a4);
  SetRect(&rc, 0, 54, 27, 81);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 4);
  a4.FontColor.States[1] = 0xC8C8C8C8;
  a4.TextureColor.States[0] = 0x96FFFFFF;
  a4.TextureColor.States[3] = 0xC8FFFFFF;
  a4.TextureColor.States[5] = -1;
  CDXUTDialog::SetDefaultElement(this, 2, 0, &a4);
  SetRect(&rc, 27, 54, 54, 81);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 2, 1, &a4);
  SetRect(&rc, 54, 54, 81, 81);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 4);
  a4.FontColor.States[1] = 0xC8C8C8C8;
  a4.TextureColor.States[0] = 0x96FFFFFF;
  a4.TextureColor.States[3] = 0xC8FFFFFF;
  a4.TextureColor.States[5] = -1;
  CDXUTDialog::SetDefaultElement(this, 3, 0, &a4);
  SetRect(&rc, 81, 54, 108, 81);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 3, 1, &a4);
  SetRect(&rc, 7, 81, 247, 123);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 5);
  a4.TextureColor.States[0] = 0xC8FFFFFF;
  a4.TextureColor.States[4] = 0xFFB92228;
  a4.TextureColor.States[3] = 0xFFB92228;
  a4.TextureColor.States[1] = 0x46C8C8C8;
  a4.FontColor.States[4] = 0xFFFFFFFF;
  a4.FontColor.States[5] = 0xFF000000;
  a4.FontColor.States[1] = 0xC8C8C8C8;
  CDXUTDialog::SetDefaultElement(this, 4, 0, &a4);
  SetRect(&rc, 272, 0, 325, 49);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  a4.TextureColor.States[0] = 0xC8FFFFFF;
  a4.TextureColor.States[5] = 0xFF969696;
  a4.TextureColor.States[3] = 0xFF969696;
  a4.TextureColor.States[1] = 0x46FFFFFF;
  CDXUTDialog::SetDefaultElement(this, 4, 1, &a4);
  SetRect(&rc, 7, 123, 241, 265);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 0);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xC8808080, 0);
  CDXUTDialog::SetDefaultElement(this, 4, 2, &a4);
  SetRect(&rc, 7, 266, 241, 289);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 0);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFC8C8C8, 0xC8808080, 0);
  CDXUTDialog::SetDefaultElement(this, 4, 3, &a4);
  SetRect(&rc, 1, 290, 280, 331);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  a4.TextureColor.States[0] = 0x96FFFFFF;
  a4.TextureColor.States[3] = 0xC8FFFFFF;
  a4.TextureColor.States[1] = 0x46FFFFFF;
  CDXUTDialog::SetDefaultElement(this, 5, 0, &a4);
  SetRect(&rc, 54, 54, 81, 81);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xFF95B0D0, 0);
  a4.TextureColor.States[4] = 0xFFF0F0F0;
  a4.TextureColor.States[5] = 0xFFB92228;
  a4.TextureColor.States[3] = 0xFFDCDCDC;
  CDXUTDialog::SetDefaultElement(this, 5, 1, &a4);
  SetRect(&rc, 243, 144, 265, 155);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0);
  CDXUTDialog::SetDefaultElement(this, 9, 0, &a4);
  SetRect(&rc, 243, 124, 265, 144);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0);
  CDXUTDialog::SetDefaultElement(this, 9, 1, &a4);
  SetRect(&rc, 243, 155, 265, 176);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0);
  CDXUTDialog::SetDefaultElement(this, 9, 2, &a4);
  SetRect(&rc, 266, 123, 286, 167);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xFF95B0D0, 0);
  CDXUTDialog::SetDefaultElement(this, 9, 3, &a4);
  CDXUTElement::SetFont(&a4, 0, -16777216, 4);
  SetRect(&rc, 14, 90, 241, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 0, &a4);
  SetRect(&rc, 8, 82, 14, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 1, &a4);
  SetRect(&rc, 14, 82, 241, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 2, &a4);
  SetRect(&rc, 241, 82, 246, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 3, &a4);
  SetRect(&rc, 8, 90, 14, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 4, &a4);
  SetRect(&rc, 241, 90, 246, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 5, &a4);
  SetRect(&rc, 8, 113, 14, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 6, &a4);
  SetRect(&rc, 14, 113, 241, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 7, &a4);
  SetRect(&rc, 241, 113, 246, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 6, 8, &a4);
  CDXUTElement::SetFont(&a4, 0, 0xFF000000, 4);
  SetRect(&rc, 14, 90, 241, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 0, &a4);
  SetRect(&rc, 8, 82, 14, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 1, &a4);
  SetRect(&rc, 14, 82, 241, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 2, &a4);
  SetRect(&rc, 241, 82, 246, 90);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 3, &a4);
  SetRect(&rc, 8, 90, 14, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 4, &a4);
  SetRect(&rc, 241, 90, 246, 113);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 5, &a4);
  SetRect(&rc, 8, 113, 14, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 6, &a4);
  SetRect(&rc, 14, 113, 241, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 7, &a4);
  SetRect(&rc, 241, 113, 246, 121);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTDialog::SetDefaultElement(this, 7, 8, &a4);
  SetRect(&rc, 0, 0, 136, 54);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 0, -1, 5);
  CDXUTDialog::SetDefaultElement(this, 7, 9, &a4);
  SetRect(&rc, 13, 124, 241, 265);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 1, -1, 64);
  CDXUTDialog::SetDefaultElement(this, 8, 0, &a4);
  SetRect(&rc, 17, 269, 241, 287);
  CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
  CDXUTElement::SetFont(&a4, 1, 0xFFFFFFFF, 64);
  DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xC8808080, 0);
  CDXUTDialog::SetDefaultElement(this, 8, 1, &a4);
}
умнее будет менять указатель на строку в push:


C++:
auto samp_handle = reinterpret_cast<std::uintptr_t>(GetModuleHandleA("samp.dll"));
patch::SetPointer(samp_handle + 0x8D078, "gui.png");
 

TokyoQq

Новичок
15
5
C++:
#include <windows.h>

typedef BOOL(WINAPI* IsDebuggerPresent_t)();

BOOL WINAPI FakeIsDebuggerPresent()
{
    return FALSE;
}

void HookIAT()
{
    DWORD* pIAT = (DWORD*)0x10035068;
    DWORD oldProtect;

    VirtualProtect(pIAT, sizeof(DWORD), PAGE_EXECUTE_READWRITE, &oldProtect);
    *pIAT = (DWORD)FakeIsDebuggerPresent;
    VirtualProtect(pIAT, sizeof(DWORD), oldProtect, &oldProtect);
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
    if (ul_reason_for_call == DLL_PROCESS_ATTACH)
    {
        HookIAT();
    }
    return TRUE;
}

че делать если при инжекте
eZsNtty.png
 

fuflexxxx

Участник
37
16
C++:
#include <windows.h>

typedef BOOL(WINAPI* IsDebuggerPresent_t)();

BOOL WINAPI FakeIsDebuggerPresent()
{
    return FALSE;
}

void HookIAT()
{
    DWORD* pIAT = (DWORD*)0x10035068;
    DWORD oldProtect;

    VirtualProtect(pIAT, sizeof(DWORD), PAGE_EXECUTE_READWRITE, &oldProtect);
    *pIAT = (DWORD)FakeIsDebuggerPresent;
    VirtualProtect(pIAT, sizeof(DWORD), oldProtect, &oldProtect);
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
    if (ul_reason_for_call == DLL_PROCESS_ATTACH)
    {
        HookIAT();
    }
    return TRUE;
}

че делать если при инжекте
eZsNtty.png
Тип инжекта поменять попробуй. Возможно билдишь длл под архитектуру х64. Возможно ему библиотек не хватает каких-то.