Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Туториал Ручная обфускация строк в лаунчере sashok724 и в других java приложениях. Используем object.

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем EvilEnginer, 2 авг 2014.

Статус темы:
Закрыта.
  1. Автор темы
    EvilEnginer

    EvilEnginer Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    EvilEnginer
    [​IMG]
    Здравствуйте господа. Немного порывшись на GitHub'e я наткнулся на очень интересный пост. В нём пользователь shamanland рассказывает, как он с генерировал байт-массив из псевдослучайных чисел из строки. Я применил его способ на распространённом лаунчере sashok724 и, добившись успеха, решил поделиться с общественностью.

    Плюсы этого способа:
    1) Бесплатность (не нужно возиться со всякими Stringer'ами и Zelix'ами)
    2) Никакой поиск WinRar и HexEditor тут не поможет ибо строк нет.
    3) Если сверху на лаунчер грамотно повесить proguard, то взломать такое становится достаточно тяжко.
    4) Простота использования.

    Минусы этого способа:
    1) Достаточно долго. Кто знает может кто нибудь, кому понравится этот способ, напишет gui для автоматической обфускации строк в скомпилированном jar файле.
    2) Слегка падает производительность лаунчера.

    Собственно все что нам потребуется это:
    1) Консоль Linux либо Windows
    2) Скомпилированный файл obf.class либо obf.java для тех кто любит компилить сам.
    3) Исходники любого лаунчера на java либо плагина я буду использовать исходники сашка.
    4) Среда программирования java я использую Eclipse.

    По порядку:
    1) Скачиваем файл obf.class кидаем его в любую папку затем нажимаем в этой папке кнопку
    Shift + Right click и нажимаем Открыть окно команд окно не закрываем
    2) Открываем Eclipse и исходники сашка в нём. Ставим кодировку UTF-8 и открываем файл Settings.java В качестве примера я обфуcцирую заголовок лаунчера в этом файле
    3) Видим строку:
    Код:
    public static final String  title                 = "Launcher";
    Заменим это строку на:
    Код:
    public static final Object  title                 = objtitle;
    Выше этой строки строки вставляем:
    Код:
    static Object objtitle = 
    4) В открытом окне команд пишем
    Код:
    java obf Launcher
    Launcher, это та строка, которую мы хотим обфуcцировать
    и если всё сделали правильно то на выходе мы получим
    [​IMG]
    Нажимаем правой кнопкой мыши в этом окне и выбираем команду Пометить и копируем всё что внутри красного прямоугольника.
    5) То что скопировали вставляем после static Object objtitle =
    6) Осталось только исправить ошибки, сделать всё в одну строку либо в столбик, и написать ";" в конце строки. Собственно вот и всё :).

    Таким же способом вручную можно обфуцировать и другие строки в исходниках как сашка, так и других лаунчеров.

    В общем всем спасибо за внимание. Прошу поставить мне лойс если это гайд оказался для вас полезным.
     
    Последнее редактирование: 6 авг 2014
  2. Хостинг MineCraft
    <
  3. Автор темы
    EvilEnginer

    EvilEnginer Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    EvilEnginer
  4. J1Mmy

    J1Mmy Старожил Пользователь

    Баллы:
    103
    Выглядит не плохо. Лойс.
     
  5. gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    А какой смысл? Чтобы получить строку, я могу декомпилировать лаунчер, взять этот код и вывести его с помощью System.out.println().
    P.S. После такой обфускации снижение производительности гарантировано.
     
  6. Автор темы
    EvilEnginer

    EvilEnginer Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    EvilEnginer
    Ну тут как бы сначала нужно найти этот кусок кода. Если например использовать китайские иероглифы, при обфускации штатным Proguard, в качестве имен классов, далеко не факт что вообще декомпилировать выйдет. А вот производительность да слегка может упасть. В любом случае в качестве альтернативы уже взломанному stringer'y с mmoru подойдёт).
     
  7. zuma2

    zuma2 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    sytems.admin
    Имя в Minecraft:
    zuma2
    :lol:еще стрингером приправить.
     
  8. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    А вот тут ты обломаешься ибо там уже интовые и пофиг на стрингер.[DOUBLEPOST=1410290745,1410290571][/DOUBLEPOST]+ эту фигдю можно будет легко дернуть принтом дописав пару строчек в байткоде.
    В стрингере там проверяется констант пул, имя метода, имя класса. А тут я смогу внедрить любой байткод и программа (лаунчер) решит что так и положено и спринтит все что нужно:D.
     
Статус темы:
Закрыта.

Поделиться этой страницей