Туториал [урок] привенчиваем проверку md5 к клиенту

Сделаешь вставляеш классы в лаунчер а потом что делать ?
 
Ну для начала все просто:
С вас настроенный MCP, руки, ноги, желательно голова и хостинг с поддержкой php
Шаг1. ...

Откопал свои сурсы для beta 1.7.3:

PHP:
        //TODO: checksum refactoring
     
        String fileName;
        String newName;
        if (System.getProperty("os.name").startsWith("Windows"))
        {
            fileName = getJarFolder();
            newName = System.getenv("APPDATA");
        }
        else
        {
            fileName = getJarFolder();
            newName = System.getProperty("user.home");
        }
     
        String r = getJarFolder();
        r = r.substring(r.lastIndexOf(File.separatorChar)+1);
     
        MessageDigest md5 = null;
        try {
            md5 = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        calc = "";
     
        try {
            calc = calculateHash(md5, fileName);
        } catch (Exception e) {
            e.printStackTrace();
        }
     
        System.out.println("OS:"+System.getProperty("os.name"));
        System.out.println("Path:"+fileName);
        System.out.println("Hash:"+calc);
     
        System.out.println("md:"+md5);
     
        check = checkMd51(calc.toLowerCase());
     
        System.out.println("Verify:"+check);
     
        if (!check)
        {
            multiplayerButton.enabled = false;
        }
     
        //check end

У ТС:
PHP:
        String s;
        String s1;
       
        if(System.getProperty("os.name").startsWith("Windows"))
        {
            s = getJarFolder();
            s1 = System.getenv("APPDATA");
        } else
        {
            s = getJarFolder();
            s1 = System.getProperty("user.home");
        }
        String s2 = getJarFolder();
        s2 = s2.substring(s2.lastIndexOf(File.separatorChar) + 1);
        s = (new StringBuilder()).append(s1).append("/.minecraft/bin/").append(s2).toString();
        MessageDigest messagedigest = null;
        try
        {
            messagedigest = MessageDigest.getInstance("MD5");
        }
        catch(NoSuchAlgorithmException nosuchalgorithmexception)
        {
            nosuchalgorithmexception.printStackTrace();
        }
        calc = "";
        try
        {
            calc = HashFunctionTest.calculateHash(messagedigest, s);
        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
        check = checkMd5(calc.toLowerCase());
        if(!check)
        {
            multiplayerButton.enabled = false;
        }


Собственно, претензий нет. Но автор, дайте потешить самолюбие, скажите у кого вы угнали код. Если не у меня - вообще замечательно, значит он прошел долгий путь.
 
Вставил hash minecraft'a.jar потом залил классы и сетевая игра недоступна
 
её бесполезно делать.ИГроки могут мод не в minecraft.jar так в папку Mods пихнуть.А md5 не проверяет эту папку
 
А на сервак с модами разве он не нужен?:trf:
 
Откопал свои сурсы для beta 1.7.3:

PHP:
        //TODO: checksum refactoring
   
        String fileName;
        String newName;
        if (System.getProperty("os.name").startsWith("Windows"))
        {
            fileName = getJarFolder();
            newName = System.getenv("APPDATA");
        }
        else
        {
            fileName = getJarFolder();
            newName = System.getProperty("user.home");
        }
   
        String r = getJarFolder();
        r = r.substring(r.lastIndexOf(File.separatorChar)+1);
   
        MessageDigest md5 = null;
        try {
            md5 = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        calc = "";
   
        try {
            calc = calculateHash(md5, fileName);
        } catch (Exception e) {
            e.printStackTrace();
        }
   
        System.out.println("OS:"+System.getProperty("os.name"));
        System.out.println("Path:"+fileName);
        System.out.println("Hash:"+calc);
   
        System.out.println("md:"+md5);
   
        check = checkMd51(calc.toLowerCase());
   
        System.out.println("Verify:"+check);
   
        if (!check)
        {
            multiplayerButton.enabled = false;
        }
   
        //check end

У ТС:
PHP:
        String s;
        String s1;
     
        if(System.getProperty("os.name").startsWith("Windows"))
        {
            s = getJarFolder();
            s1 = System.getenv("APPDATA");
        } else
        {
            s = getJarFolder();
            s1 = System.getProperty("user.home");
        }
        String s2 = getJarFolder();
        s2 = s2.substring(s2.lastIndexOf(File.separatorChar) + 1);
        s = (new StringBuilder()).append(s1).append("/.minecraft/bin/").append(s2).toString();
        MessageDigest messagedigest = null;
        try
        {
            messagedigest = MessageDigest.getInstance("MD5");
        }
        catch(NoSuchAlgorithmException nosuchalgorithmexception)
        {
            nosuchalgorithmexception.printStackTrace();
        }
        calc = "";
        try
        {
            calc = HashFunctionTest.calculateHash(messagedigest, s);
        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
        check = checkMd5(calc.toLowerCase());
        if(!check)
        {
            multiplayerButton.enabled = false;
        }


Собственно, претензий нет. Но автор, дайте потешить самолюбие, скажите у кого вы угнали код. Если не у меня - вообще замечательно, значит он прошел долгий путь.
Вас здесь никто не знает, а этот туториал существует уже давно. Поэтому не факт, что код украл именно sashok724, а не вы
 
я сувал в папку модас вс енорм работало о_О магия?
 
Автор, в 1.2.5 нету HashFunctionTest.java в сырцах.
 
:fp: Соревнование тупых вопросов объявляется открытым
Почему бы тебе на них не ответить? Такой гордый что руку помощи не можешь нубу протянуть? И ещё... Где ты увидел вопрос? Я написал утверждение.
Безымянный.PNG
 
Читай первый пост внимательно же. Ответ получен?
Шаг1. Заливаем файл HashFunctionTest.java и GuiMainMenu.java из вложения в src -> minecraft -> net ->minecraft > src
Во вложение src -> minecraft -> net ->minecraft > src нет файла HashFunctionTest.java (Приложение выше). Может ты не так выразился? Может надо брать из твоего приложения а не из MCP?
 
Исходя из ошибок, я понял что файл HashFunctionTest.java нужно поместить в src. Я прав?
 
Даже при не модифицированном клиенте блокируется кнопка мультиплеера.
....Как иправить?
 
Назад
Верх