【问题标题】:What's wrong with my code? C# Block Cheat-Engine and Other Hack Tools我的代码有什么问题? C# Block Cheat-Engine 和其他黑客工具
【发布时间】:2019-11-19 11:37:50
【问题描述】:

我已经用 C# 编写了代码来检测所有以作弊开头的程序,方法类似于下面的代码块。但是,即使我在运行项目时启动了像 cheatengine 这样的程序,我编写的代码也不会检测到它:( 可能是什么问题?

保存新副本并仅编辑文本

static void Hello(string[] args)
    {

        //Konsol ac         
        Console.WriteLine("Anti Hile");
        for (; ;)
        {
            Console.Write("*");

            foreach (Process clsProcess in Process.GetProcesses())
            {

                if (clsProcess.ProcessName.ToLower().Contains("cheat"))
                {
                    Console.WriteLine("HILE BULUNDU.");
                    Process[] Fivem = Process.GetProcessesByName("Fivem");
                    foreach (Process hope in Fivem)
                    hope.Kill();
                    clsProcess.Kill();
                    break;
                }

                if (clsProcess.ProcessName.ToLower().Contains("cheatengine"))
                {
                    Console.WriteLine("HILE BULUNDU.");
                    Process[] Fivem = Process.GetProcessesByName("Fivem");
                    foreach (Process hope in Fivem)
                    hope.Kill();
                    clsProcess.Kill();
                    break;
                }

                if (clsProcess.ProcessName.ToLower().Contains("inject"))
                {
                    Console.WriteLine("HILE BULUNDU.");
                    Process[] Fivem = Process.GetProcessesByName("Fivem");
                    foreach (Process hope in Fivem)
                        hope.Kill();
                    clsProcess.Kill();
                    break;
                }
                //icinde injector gecen butun uygulamaları bul.
                if (clsProcess.ProcessName.ToLower().Contains("injector"))
                {
                    Console.WriteLine("HILE BULUNDU.");
                    Process[] Fivem = Process.GetProcessesByName("Fivem");
                    foreach (Process hope in Fivem)
                        hope.Kill();
                    clsProcess.Kill();
                    break;
                }

                //icinde lynx gecen butun uygulamaları bul.
                if (clsProcess.ProcessName.ToLower().Contains("lynx"))
                {
                    Console.WriteLine("HILE BULUNDU.");
                    Process[] Fivem = Process.GetProcessesByName("Fivem");
                    foreach (Process hope in Fivem)
                        hope.Kill();
                    clsProcess.Kill();
                    break;
                }
            }
        }
    }

【问题讨论】:

  • 尝试将您的方法名称重命名为“Main”
  • 一旦您处理了名称包含cheat 的所有进程,您就已经处理了名称包含cheatengine 的所有进程,因为cheat 是cheatengine 的子字符串。 inject 和 injector 相同。
  • 您的第二个和第四个if() 语句是多余的。
  • 在代码块的开头,我让他在循环开始之前写“Anti Cheat”,但是当我开始我的项目时,控制台中没有任何消息

标签: c# detection


【解决方案1】:

我不知道作弊引擎,但我了解你的代码。你可以用这个

string[] valueList = new string[] { "inject", "cheatengine", "cheatengine", "cheat" };
static void Hello(string[] args)
{
    string mystring = "Test data";
    if (IsMatch(mystring))
    {
        FindHack();
    }
}

public bool IsMatch(string data)
{
    foreach (var item in valueList)
    {
        if (data.ToLower().Contains(item))
        {
            return true;
        }
    }
    return false;
}

private void FindHack()
{
    Console.WriteLine("HILE BULUNDU.");
    Process[] Fivem = Process.GetProcessesByName("Fivem");
    foreach (Process hope in Fivem)
        hope.Kill();
    clsProcess.Kill();
}

【讨论】:

    猜你喜欢
    • 2017-05-02
    • 1970-01-01
    • 2015-06-26
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    相关资源
    最近更新 更多