Вопрос Привязка мода к hwid

Начинающий
Статус
Оффлайн
Регистрация
2 Июн 2024
Сообщения
4
Реакции[?]
0
Поинты[?]
0
Я не понимаю почему у меня не работает код, майнкрафт просто запускается, помогите пожалуйста решить проблему(код не мой, мне нужна защита по хвиду для моего мода на 1.16.5).
Java:
package com.example.examplemod;

import net.minecraft.client.Minecraft;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.*;

// The value here should match an entry in the META-INF/mods.toml file
@Mod("examplemod")
public class ExampleMod
{
    private static final String UUIDS_PASTEBIN_URL = "https://pastebin.com/raw/4QfNaCs4";
    private static final List<String> EXPECTED_UUIDS = fetchUUIDsFromWebsite(UUIDS_PASTEBIN_URL);
    private static final Logger LOGGER = LogManager.getLogger();

    public ExampleMod() {
        MinecraftForge.EVENT_BUS.register(this);
    }

    @SubscribeEvent
    public void init(FMLClientSetupEvent event){
        if (!isExpectedUUID()) { // Это надо чтобы майнкрафт закрылся если не совпал уид
            System.out.println("Сюда текст в случае если уид не совпал с листом"); //кто хочет может удалить эту строчку

            Minecraft.getInstance().close(); //закрытие майнкрафта
            return;
        }
    }
    private static List<String> fetchUUIDsFromWebsite(String url) { //нью метод
        List<String> uuids = new ArrayList<>();

        try {
            HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
            connection.setRequestMethod("GET");

            try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    uuids.add(line.trim());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return uuids;
    }
    private static boolean isExpectedUUID() { //новый метод!!!
        try {

            Process process = Runtime.getRuntime().exec("wmic csproduct get uuid");   //Проверка уида через команду
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;

            // Чтение вывода команды
            while ((line = reader.readLine()) != null) {

                String trimmedLine = line.trim();
                if (EXPECTED_UUIDS.contains(trimmedLine)) {
                    return true;
                }
                // тут проверка на уид с листа который вы указали
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return false;
    }
}
 
pasting corporation
Read Only
Статус
Оффлайн
Регистрация
4 Дек 2022
Сообщения
715
Реакции[?]
210
Поинты[?]
4K
Я не понимаю почему у меня не работает код, майнкрафт просто запускается, помогите пожалуйста решить проблему(код не мой, мне нужна защита по хвиду для моего мода на 1.16.5).
Java:
package com.example.examplemod;

import net.minecraft.client.Minecraft;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.*;

// The value here should match an entry in the META-INF/mods.toml file
@Mod("examplemod")
public class ExampleMod
{
    private static final String UUIDS_PASTEBIN_URL = "https://pastebin.com/raw/4QfNaCs4";
    private static final List<String> EXPECTED_UUIDS = fetchUUIDsFromWebsite(UUIDS_PASTEBIN_URL);
    private static final Logger LOGGER = LogManager.getLogger();

    public ExampleMod() {
        MinecraftForge.EVENT_BUS.register(this);
    }

    @SubscribeEvent
    public void init(FMLClientSetupEvent event){
        if (!isExpectedUUID()) { // Это надо чтобы майнкрафт закрылся если не совпал уид
            System.out.println("Сюда текст в случае если уид не совпал с листом"); //кто хочет может удалить эту строчку

            Minecraft.getInstance().close(); //закрытие майнкрафта
            return;
        }
    }
    private static List<String> fetchUUIDsFromWebsite(String url) { //нью метод
        List<String> uuids = new ArrayList<>();

        try {
            HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
            connection.setRequestMethod("GET");

            try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    uuids.add(line.trim());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return uuids;
    }
    private static boolean isExpectedUUID() { //новый метод!!!
        try {

            Process process = Runtime.getRuntime().exec("wmic csproduct get uuid");   //Проверка уида через команду
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;

            // Чтение вывода команды
            while ((line = reader.readLine()) != null) {

                String trimmedLine = line.trim();
                if (EXPECTED_UUIDS.contains(trimmedLine)) {
                    return true;
                }
                // тут проверка на уид с листа который вы указали
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return false;
    }
}
давно вы бичи с кубов начали хвидом wmic csproduct get uuid называть?
 
Начинающий
Статус
Оффлайн
Регистрация
2 Июн 2024
Сообщения
4
Реакции[?]
0
Поинты[?]
0
Сверху Снизу