0

我对编码比较陌生。我想为游戏 Assault Cube 创建一个训练器。我已经实现了一个“无限弹药”选项,它工作得很好,现在我想做一个上帝模式(无限健康)选项。它不起作用,我不明白为什么。我已经从游戏中获取了正确的偏移量(用作弊引擎检查),我用弹药做的所有事情也和健康一起做,并添加了应该被冻结的新健康值。程序有问题吗?这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Memory;

namespace AssaultHack
{
    public partial class Form1 : Form
    {

        Mem meme = new Mem();
        public static string RifleAmmo = "ac_client.exe+0x00109B74,150";
        public static string PlayerHealth = "ac_client.exe+0x0010A280,338,34,98,8";

        public Form1()
        {
            InitializeComponent();
        }

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            int PID = meme.GetProcIdFromName("ac_client");
            if(PID > 0)
            {
                meme.OpenProcess(PID);
                Thread WA = new Thread(writeAmmo) { IsBackground = true };
                Thread PH = new Thread(godMode) { IsBackground = true };
                PH.Start();
                WA.Start();
            }
        }

        private void writeAmmo()
        {
            while(true)
            {
                if (checkBox1.Checked)
                {
                    meme.WriteMemory(RifleAmmo, "int", "99999");
                    Thread.Sleep(2);
                }
                Thread.Sleep(2);
            }    
        }

        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void godMode()
        {
            while(true)
            {
                if (checkBox2.Checked)
                {
                    meme.WriteMemory(PlayerHealth, "int", "99999");
                    Thread.Sleep(2);
                }
                Thread.Sleep(2);
            }
        }
    }
}

4

1 回答 1

0

在所有游戏中都有两种类型的 var:
1.netvars:这种类型的 var 由服务器的主机管理,只有当您是服务器的主机时才能更改它们(在这种情况下,您可以更改所有玩家变量)或者如果您利用了服务器中的发送套接字
2.localvars:这种类型的变量在本地存储和管理在您的游戏数据中,您可以随时更改此变量,例如:视野/视图矩阵/角度。
在您的情况下,突击立方体的 health/shield/xyz/score/ammo 是 netvars,只有当您是主机时才能更改它们。但是您可以反向设计游戏以找到可以帮助您创建诸如飞行/等漏洞利用的东西...

于 2021-06-19T07:48:33.163 回答