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

#Rin

Известный
Всефорумный модератор
1,214
1,036
впервые пишу на таком языке что-либо. вот сделал ctrl c + ctrl v вх для ксго. Не подскажите, почему не работает и как вообще его компилить, чтобы был .exe?

C++:
using System;
using System.Colletions.Genric;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;

namespace GlowESP
{
    class GlowESP
    {
        static void Main()
        {
            try
            {
                Process csgo = Process.GetProcessesByName("csgo")[0];
                mem = new Memory("csgo");

                foreach(ProcessModule Module in csgo.Modules)
                {
                    if (Module.ModuleName == "client_panorama.dll");
                    client_dll = (int)Module.BaseAddress
                }
                Console.WriteLine("lol atiz");
            }
            catch
            {
                Console.WriteLine("Error");
            }
            while (true)


            int LocalPlyer = mem.Read<int>(client_dll + Offsets.dwLocalPlyer);
                int PlayerTeam = mem.Read<int>(LocalPlayer + Offsets.m_iTeamNum);

                for (int i = 0; i < 64; i++)
                {
                    int EnityList = mem.Read<int>(client_dll + Offsets.dwEnityList + i * 0x10);
                    int EnityTeam = mem.Read<int>(EnityList + Offsets.m_iTeamNum);
                    if (EnityTeam != 0 && EnityTeam != PlayerTeam)
                    {
                        int GlowInedx = mem.Read<int>(EnityList + Offsets.m_iGlowIndex);
                        DrawEnity(GlowIndex, 0, 0, 255);
                    }
                    else if (EnityTeam != 0 && EnityTeam == PlayerTeam)
                    {
                        int GlowInedx = mem.Read<int>(EnityList + Offsets.m_iGlowIndex);
                        DrawEnity(GlowIndex, 255, 0, 0);
                    }
                }
        }
        static void DrawEnity(int GlowIndex, int red, int green, int blue)
        {
            int GlowObject = mem.Read<int>(client_dll + Offsets.dwGlowObjectManager);
            mem.Write(GlowObject + (GlowIndex * 0x38) + 4, red / 100f);
            mem.Write(GlowObject + (GlowIndex * 0x38) + 8, green / 100f);
            mem.Write(GlowObject + (GlowIndex * 0x38) + 12, blue / 100f);
            mem.Write(GlowObject + (GlowIndex * 0x38) + 0x10, 255 / 100f);
            mem.Write(GlowObject + (GlowIndex * 0x38) + 0x24, true);
            mem.Write(GlowObject + (GlowIndex * 0x38) + 0x25, false);

        }
    }
    class Offsets
    {
            public const Int32 m_ArmorValue = 0xB270;
            public const Int32 m_Collision = 0x318;
            public const Int32 m_CollisionGroup = 0x470;
            public const Int32 m_Local = 0x2FAC;
            public const Int32 m_MoveType = 0x258;
            public const Int32 m_OriginalOwnerXuidHigh = 0x31A4;
            public const Int32 m_OriginalOwnerXuidLow = 0x31A0;
            public const Int32 m_aimPunchAngle = 0x301C;
            public const Int32 m_aimPunchAngleVel = 0x3028;
            public const Int32 m_bGunGameImmunity = 0x38C0;
            public const Int32 m_bHasDefuser = 0xB280;
            public const Int32 m_bHasHelmet = 0xB264;
            public const Int32 m_bInReload = 0x3275;
            public const Int32 m_bIsDefusing = 0x38B4;
            public const Int32 m_bIsScoped = 0x38AA;
            public const Int32 m_bSpotted = 0x939;
            public const Int32 m_bSpottedByMask = 0x97C;
            public const Int32 m_clrRender = 0x70;
            public const Int32 m_dwBoneMatrix = 0x2698;
            public const Int32 m_fAccuracyPenalty = 0x32E0;
            public const Int32 m_fFlags = 0x100;
            public const Int32 m_flC4Blow = 0x2980;
            public const Int32 m_flDefuseCountDown = 0x2998;
            public const Int32 m_flDefuseLength = 0x2994;
            public const Int32 m_flFallbackWear = 0x31B0;
            public const Int32 m_flFlashDuration = 0xA32C;
            public const Int32 m_flFlashMaxAlpha = 0xA328;
            public const Int32 m_flNextPrimaryAttack = 0x3208;
            public const Int32 m_flTimerLength = 0x2984;
            public const Int32 m_hActiveWeapon = 0x2EE8;
            public const Int32 m_hMyWeapons = 0x2DE8;
            public const Int32 m_hObserverTarget = 0x3360;
            public const Int32 m_hOwner = 0x29BC;
            public const Int32 m_hOwnerEntity = 0x148;
            public const Int32 m_iAccountID = 0x2FB8;
            public const Int32 m_iClip1 = 0x3234;
            public const Int32 m_iCompetitiveRanking = 0x1A84;
            public const Int32 m_iCompetitiveWins = 0x1B88;
            public const Int32 m_iCrosshairId = 0xB2DC;
            public const Int32 m_iEntityQuality = 0x2F9C;
            public const Int32 m_iFOVStart = 0x31D8;
            public const Int32 m_iGlowIndex = 0xA344;
            public const Int32 m_iHealth = 0xFC;
            public const Int32 m_iItemDefinitionIndex = 0x2F9A;
            public const Int32 m_iItemIDHigh = 0x2FB0;
            public const Int32 m_iObserverMode = 0x334C;
            public const Int32 m_iShotsFired = 0xA2E0;
            public const Int32 m_iState = 0x3228;
            public const Int32 m_iTeamNum = 0xF0;
            public const Int32 m_lifeState = 0x25B;
            public const Int32 m_nFallbackPaintKit = 0x31A8;
            public const Int32 m_nFallbackSeed = 0x31AC;
            public const Int32 m_nFallbackStatTrak = 0x31B4;
            public const Int32 m_nForceBone = 0x267C;
            public const Int32 m_nTickBase = 0x3404;
            public const Int32 m_rgflCoordinateFrame = 0x440;
            public const Int32 m_szCustomName = 0x302C;
            public const Int32 m_szLastPlaceName = 0x3588;
            public const Int32 m_thirdPersonViewAngles = 0x31C8;
            public const Int32 m_vecOrigin = 0x134;
            public const Int32 m_vecVelocity = 0x110;
            public const Int32 m_vecViewOffset = 0x104;
            public const Int32 m_viewPunchAngle = 0x3010;
            public const Int32 clientstate_choked_commands = 0x4CB0;
            public const Int32 clientstate_delta_ticks = 0x174;
            public const Int32 clientstate_last_outgoing_command = 0x4CAC;
            public const Int32 clientstate_net_channel = 0x9C;
            public const Int32 convar_name_hash_table = 0x2F0F8;
            public const Int32 dwClientState = 0x589B34;
            public const Int32 dwClientState_GetLocalPlayer = 0x180;
            public const Int32 dwClientState_IsHLTV = 0x4CC8;
            public const Int32 dwClientState_Map = 0x28C;
            public const Int32 dwClientState_MapDirectory = 0x188;
            public const Int32 dwClientState_MaxPlayer = 0x310;
            public const Int32 dwClientState_PlayerInfo = 0x5240;
            public const Int32 dwClientState_State = 0x108;
            public const Int32 dwClientState_ViewAngles = 0x4D10;
            public const Int32 dwEntityList = 0x4C41704;
            public const Int32 dwForceAttack = 0x3082DEC;
            public const Int32 dwForceAttack2 = 0x3082DF8;
            public const Int32 dwForceBackward = 0x3082E40;
            public const Int32 dwForceForward = 0x3082E4C;
            public const Int32 dwForceJump = 0x50E444C;
            public const Int32 dwForceLeft = 0x3082DC8;
            public const Int32 dwForceRight = 0x3082DBC;
            public const Int32 dwGameDir = 0x627C70;
            public const Int32 dwGameRulesProxy = 0x5156794;
            public const Int32 dwGetAllClasses = 0xC8653C;
            public const Int32 dwGlobalVars = 0x589838;
            public const Int32 dwGlowObjectManager = 0x51809B0;
            public const Int32 dwInput = 0x508C3C0;
            public const Int32 dwInterfaceLinkList = 0x85CC34;
            public const Int32 dwLocalPlayer = 0xC648AC;
            public const Int32 dwMouseEnable = 0xC6A278;
            public const Int32 dwMouseEnablePtr = 0xC6A248;
            public const Int32 dwPlayerResource = 0x308117C;
            public const Int32 dwRadarBase = 0x50763EC;
            public const Int32 dwSensitivity = 0xC6A114;
            public const Int32 dwSensitivityPtr = 0xC6A0E8;
            public const Int32 dwSetClanTag = 0x88BD0;
            public const Int32 dwViewMatrix = 0x4C33134;
            public const Int32 dwWeaponTable = 0x508CE5C;
            public const Int32 dwWeaponTableIndex = 0x322C;
            public const Int32 dwYawPtr = 0xC69ED8;
            public const Int32 dwZoomSensitivityRatioPtr = 0xC6EF98;
            public const Int32 dwbSendPackets = 0xD120A;
            public const Int32 dwppDirect3DDevice9 = 0xA3F20;
            public const Int32 interface_engine_cvar = 0x3E9EC;
            public const Int32 m_pStudioHdr = 0x293C;
            public const Int32 m_pitchClassPtr = 0x5076698;
            public const Int32 m_yawClassPtr = 0xC69ED8;
        }
}
Это вообще C#. MVS установи там и компиль.
 
  • Нравится
Реакции: atizoff

MILLKISI

Новичок
13
0
"Записываешь 6 инструкций NOP (0x90) по адресу 0x747483"
Как сделать это на языке Assembler? Ибо при попытке сделать через memset, игра просто висит 5 секунд в процессах и исчезает.
C++:
VirtualProtect((PVOID)ADDR_BYPASS_VIDS_USA10, 6, PAGE_EXECUTE_READWRITE, &ds);
memset((PVOID)ADDR_BYPASS_VIDS_USA10, 0x90, 6);
Но если тут все правильно, а он зависает, то получается, лучше на Assembler, вопрос, как это сделать? Ибо с этим язык в жизни не сталкивался
 

SiTrak

Известный
193
251
C++:
void CALLBACK pogoda(string param)
{
    if (param.empty()) return;
    int    i = stoi(param);
    float sas = SF->getSAMP()->getPlayers()->pRemotePlayer[i]->pPlayerData->fActorHealth;
    SF->getSAMP()->getChat()->AddChatMessage(0xF70000, "HP - %f ", sas );
   

    };
хочу получать свой хп, ошибки?)
 

SR_team

like pancake
BH Team
4,720
6,371
Ибо с этим язык в жизни не сталкивался
Я окончательно запуталась
Ты там ночью пол сменило?
с assembler я еще в жизни не встречалась.
зачем тогда спрашиваешь как это сделать в асм?
 
  • Нравится
Реакции: sаnеk

SR_team

like pancake
BH Team
4,720
6,371
C++:
void CALLBACK pogoda(string param)
{
    if (param.empty()) return;
    int    i = stoi(param);
    float sas = SF->getSAMP()->getPlayers()->pRemotePlayer[i]->pPlayerData->fActorHealth;
    SF->getSAMP()->getChat()->AddChatMessage(0xF70000, "HP - %f ", sas );
  

    };
хочу получать свой хп, ошибки?)
ты локал плеер, а не ремот. ремот все кроме тебя
 
  • Нравится
Реакции: SiTrak

Rjx13

Известный
Проверенный
224
160
C++:
void CALLBACK pogoda(string param)
{
    if (param.empty()) return;
    int    i = stoi(param);
    float sas = SF->getSAMP()->getPlayers()->pRemotePlayer[i]->pPlayerData->fActorHealth;
    SF->getSAMP()->getChat()->AddChatMessage(0xF70000, "HP - %f ", sas );
  

    };
хочу получать свой хп, ошибки?)
Код:
int sas = PEDSELF->GetHealth();
SF->getSAMP()->getChat()->AddChatMessage(0xF70000, "HP - %d", sas );
 
  • Нравится
Реакции: SiTrak

MILLKISI

Новичок
13
0
Что может быть не так? GTA не воспринимает изменения памяти, делала вроде бы все правильно.
C++:
#include "stdafx.h"
#include <iostream>

#include "SA SDK/install.h"

#define adress_game_started                        0xBA6831
#define adress_menu                                0xBA67A4
#define adress_game_start                        0xBA677B
#define adress_game_state                        0xC8D4C0

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason)
    {
        case DLL_PROCESS_ATTACH:
        {
            SA->SALibrary->w_VirtualProtect(0x866CD8, 5);

            *(BYTE*)adress_game_state = 5;
            *(BYTE*)adress_game_started = 1;
            *(BYTE*)adress_menu = 0;
            *(BYTE*)adress_game_start = 0;
        }
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
 

Rjx13

Известный
Проверенный
224
160
Что может быть не так? GTA не воспринимает изменения памяти, делала вроде бы все правильно.
C++:
#include "stdafx.h"
#include <iostream>

#include "SA SDK/install.h"

#define adress_game_started                        0xBA6831
#define adress_menu                                0xBA67A4
#define adress_game_start                        0xBA677B
#define adress_game_state                        0xC8D4C0

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason)
    {
        case DLL_PROCESS_ATTACH:
        {
            SA->SALibrary->w_VirtualProtect(0x866CD8, 5);

            *(BYTE*)adress_game_state = 5;
            *(BYTE*)adress_game_started = 1;
            *(BYTE*)adress_menu = 0;
            *(BYTE*)adress_game_start = 0;
        }
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}

Какой смысл от этого, если ты даже не пишешь ничего в этот адрес?
Код:
SA->SALibrary->w_VirtualProtect(0x866CD8, 5);

Попробуй поставить VirtualProtect на:
Код:
#define adress_game_started                        0xBA6831
#define adress_menu                                0xBA67A4
#define adress_game_start                        0xBA677B
#define adress_game_state                        0xC8D4C0
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Подскажите почему крашит
C++:
static char* test[2];
                  
ImGui::InputText(u8"№1", test[0], sizeof(test[0]));
ImGui::InputText(u8"№2", test[1], sizeof(test[1]));
 

MILLKISI

Новичок
13
0
Какой смысл от этого, если ты даже не пишешь ничего в этот адрес?
Код:
SA->SALibrary->w_VirtualProtect(0x866CD8, 5);

Попробуй поставить VirtualProtect на:
Код:
#define adress_game_started                        0xBA6831
#define adress_menu                                0xBA67A4
#define adress_game_start                        0xBA677B
#define adress_game_state                        0xC8D4C0

К сожалению ничего не изменилось.
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Почему при записи русских символов - иероглифы ?
C++:
static char test[512][512];
ImGui::InputText( "#1", test[0], _countof(test[0]) );