Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 内存读取双值作为c中的作弊引擎#_C#_Memory_Double - Fatal编程技术网

C# 内存读取双值作为c中的作弊引擎#

C# 内存读取双值作为c中的作弊引擎#,c#,memory,double,C#,Memory,Double,我不擅长代码编写和C#编程。 我编写了一个简单的应用程序,使用ZeraPain脚本ReadProcessMemory()读取进程内存。 使用4字节和8字节的值工作正常。 这个应用程序的另一个功能是可以读取字符串,但我真的需要读取双值,我在网上找不到任何东西。 有人能帮我吗? 这是应用程序的打印屏幕 这是课程(由ZERAPAIN编写) 这是剧本 private void timer1_Tick(object sender, EventArgs e) { try

我不擅长代码编写和C#编程。 我编写了一个简单的应用程序,使用ZeraPain脚本ReadProcessMemory()读取进程内存。 使用4字节和8字节的值工作正常。 这个应用程序的另一个功能是可以读取字符串,但我真的需要读取双值,我在网上找不到任何东西。 有人能帮我吗? 这是应用程序的打印屏幕

这是课程(由ZERAPAIN编写)

这是剧本

private void timer1_Tick(object sender, EventArgs e)
    {
        try
        {
            Memory mem = new Memory(processnameTB.Text);
            uint address = Convert.ToUInt32(AddressTB.Text, 16);
            if (checkBox1.Checked == true)
            {
                try
                {
                    int byt = Convert.ToInt32(bytesnumberTB.Text);
                    string str = mem.ReadString(address, byt);
                    stringvalue.Text = str;
                }
                catch
                {
                    timer1.Enabled = false;
                }
            }
            if (checkBox2.Checked == true)
            {
                try
                {
                    int byt = Convert.ToInt32(bytesnumberTB.Text);
                    double pointer = mem.ReadPointer(address,byt);
                    pointervalue.Text = pointer.ToString();
                }
                catch
                {
                    timer1.Enabled = false;
                }
            }

        }
        catch (Exception ex)
        {
            timer1.Enabled = false;
            MessageBox.Show(ex.Message, "Error");
        }
    }

如果有一个表示双精度的字节数组,则可以使用BitConverter.ToDouble()将这些字节转换为双精度

ToDouble方法将索引startIndex到startIndex+7的字节转换为双精度值。数组中字节的顺序必须反映计算机系统架构的终结性;有关更多信息,请参阅BitConverter类主题的备注部分


是什么让你认为你的应用程序的打印屏幕对这里的任何人都有用?lolok我现在就发布代码。。。
private void timer1_Tick(object sender, EventArgs e)
    {
        try
        {
            Memory mem = new Memory(processnameTB.Text);
            uint address = Convert.ToUInt32(AddressTB.Text, 16);
            if (checkBox1.Checked == true)
            {
                try
                {
                    int byt = Convert.ToInt32(bytesnumberTB.Text);
                    string str = mem.ReadString(address, byt);
                    stringvalue.Text = str;
                }
                catch
                {
                    timer1.Enabled = false;
                }
            }
            if (checkBox2.Checked == true)
            {
                try
                {
                    int byt = Convert.ToInt32(bytesnumberTB.Text);
                    double pointer = mem.ReadPointer(address,byt);
                    pointervalue.Text = pointer.ToString();
                }
                catch
                {
                    timer1.Enabled = false;
                }
            }

        }
        catch (Exception ex)
        {
            timer1.Enabled = false;
            MessageBox.Show(ex.Message, "Error");
        }
    }