Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.08.2016
Сообщений: 105
1

Как работает чит?

01.08.2019, 15:23. Просмотров 1745. Ответов 3
Метки c# (Все метки)

Всем привет,в общем не нашел куда запихнуть данный вопрос,касающийся Unity,C#.
Мне всегда было интересно как работают читы под Rust(Игра на Unity с ядром c#),и вот я начал находить исходники одного чита под Rust:
Bootstraper.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System.IO;
using UnityEngine;
 
namespace Uberhatchet.BasicTrick
{
    public class Bootstraper
    {
        public static void Init()
        {
            GameObject gObject = new GameObject();
            GameObject.DontDestroyOnLoad(gObject);
            gObject.AddComponent<WorkerESP>();
        }
    }
}
WorkerESP.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using UnityEngine;
 
namespace Uberhatchet.BasicTrick
{
    public class WorkerESP : MonoBehaviour
    {
        private void FixedUpdate()
        {
            if (LocalPlayer.Entity != null && MainMenuSystem.isOpen == false)
            {
                for (var i = 0; i < BasePlayer.VisiblePlayerList.Count; i++)
                {
                    BasePlayer player = BasePlayer.VisiblePlayerList[i];
                    if (player.health > 0 && player != LocalPlayer.Entity)
                    {
                        float distance = player.Distance(LocalPlayer.Entity);
                        if (distance < 350)
                        {
                            Vector3 ddrawPosition = new Vector3(player.transform.position.x, player.transform.position.y - (distance / 75), player.transform.position.z);
                            DDraw.Text(player.displayName, ddrawPosition, player.IsSleeping() ? Color.red : Color.green, Time.fixedDeltaTime);
                        }
                    }
                }
            }
        }
    }
}
Это пример простого чита(он щас не работает).
Так вот я не понимаю как этот чит делает зависимости с самой игрой,или создает взаимодействие,начинает работать с классами самой игры.
Есть еще один исходник чита но там очень много кода,и что примечательно почти во всех классах чита идет наследование от класса Unity "MonoBehaviour".Я знаю как читы работают с сигнатурами,инжектятся в память игры,но тут не понимаю как это все работает.Кто может,объясните пожалуйста или покидайте ресурсов для чтения,потому что в интернете об этом нигде не говорится.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.08.2019, 15:23
Ответы с готовыми решениями:

Как создать чит на делфи
Сразу хочу сказать что делаю в добрых целях и только ради познания как это делается Помогите...

Как создать чит для игры?
Всем привет. Я хотел спросить как создать трейнер на C#. При запуске эта программа должна проверять...

Чит для Css: как обратится к client.dll
В Css есть файл client.dll , который отвечает за клиентские опции. Когда на прицеле появляется...

Как написать анти-чит отслеживающий вмешательство в процесс?
Привет всем знаю оч хорошо C# как написать dll чтобы отслеживала процесс который влезет в...

3
737 / 585 / 203
Регистрация: 06.08.2015
Сообщений: 2,428
03.08.2019, 13:23 2
Это чистый шарп. MonoBehaviour - класс для поведения объекта. Сначала враппер получает доступ к lvmm кода игры и там запускает этот код, будто он скомпилирован вместе со всей игрой. Точно так же на всех unity играх работает. Risk of rain 2, Enter the Gungeon, Moonlighter. dnSpy тебе покажет весь код игры, за исключением ScriptableObject (или я плохо искал, скорее всего) в файле xxx_Data\Managed\Assembly-CSharp.dll
1
0 / 0 / 0
Регистрация: 07.08.2016
Сообщений: 105
03.08.2019, 15:47  [ТС] 3
Cr0c, так вот как сделать это wrapper?lvmm это что?как заинжектить код в игру?и отслеживает ли это античит?

Добавлено через 8 минут
Cr0c, или в любом случае придется пересобирать Assembly-CSharp.dll и т п ,и там прописывать вызов функции своего чита?нельзя никак инжектить код не редактируя исх код.Например посмотреть по какому адресу вызывается какая нибудь незначительная функция перехватывать ее как нибудь и вызывать свой чит?
0
737 / 585 / 203
Регистрация: 06.08.2015
Сообщений: 2,428
03.08.2019, 17:41 4
javay, смотри как сделан mod loader в Risk of rain 2. Там как раз такой враппер для загрузки модов и используется. Можно с гита скачать исходники.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2019, 17:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Injection EXE/DLL или как написать чит/античит
Привет всем. Вот наднях с другом решились взяться за дельце и сделать античит для игрушки.. Но при...

Чит для игры: как сделать автонаведение оружия на противника
Как сделать аим (автонаведение на игрока) для Самп к примеру?

Чит для Point Blank: как ломать пухи не теряя очки?
пожалусто кто нибудь чит для игры в поэн бленк действуйщий и если можно как ломать пухи не потеряв...

Чит VS Античит (как написать безупречный античит без чита)
Всем доброго времени суток господа. Пишу вот я игрульку, и задумался. А ведь не хочется чтобы игру...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.