1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Деобфускация и последующая декомпиляция модов

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем Sirse, 22 сен 2013.

  1. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    В нём нет необходимости. Будет выше качество, если контролировать всё вручную. Мой скрипт, например, не умеет подключать библиотеки на этапе деобфускации, а вручную это вполне возможно (библиотеки нужны, чтобы деобфусцировать обращение к классам из других модов). Да и декомпилятор тут уже устарел, а произвести полную его замену нельзя, так как новый справляется не всегда и иногда приходится делать вставки кода из старого FF (новый обеспечивает высокое качество кода, но некоторые методы не переваривает, а старый обрабатывает всё подряд, но качество низкое).
     
  2. Vencedor

    Vencedor Новичок

    Баллы:
    6
    Имя в Minecraft:
    Vencedor
    кому нет, а мир уже давно перешел на 1.8 Тем более на 1.6.4 остаются древние лаунчеры, либо широкие разработки, которые нельзя перенести на 1.7.10
     
  3. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    1. Не очень хорошо понял, что вы хотите этим сказать, но лучше взять BON и Fernflower и по-отдельности их применять, чтобы иметь возможность лучше контролировать процесс (тем более, что в разных ситуациях нужны разные BON и разные декомпиляторы).
    2. Мне этот скрипт не нужен, мне за него никто не платит, поблагодарят меня лишь два с половиной человека - зачем мне делать скрипт для 1.7.10 и 1.8?
     
  4. igornov

    igornov Участник

    Баллы:
    31
    Подскажите плиз как вручную подключить библиотеки на этапе деобфускации?
     
  5. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Я делаю так:
    java -cp BON.jar immibis.bon.cui.MCPRemap -mcp mcp_1.7.10 -from SRG -to MCP -side UNIVERSAL -jref lib -in <input> -out <output>
     
  6. igornov

    igornov Участник

    Баллы:
    31
    В Lib ложить обыкновенные без какой-либо дополнительной обработки Jar-файлы?
     
  7. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    В lib нужно класть деобфусцированные моды/библиотеки.
     
  8. igornov

    igornov Участник

    Баллы:
    31
    Есть ли способ как точно узнать что мод уже деобфусцирован?
     
  9. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Можно декомпилировать мод и проверить наличие обфусцированных полей, методов и их вызовов.
     
  10. Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Ребят, а если мне плагин нужно деобфускацировать, что мне лучше юзать, и как.
     
  11. Linkinkov

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

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Смотря какой плагин
     
  12. Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Его ProGuardom обфускацировали.
     
  13. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Придётся проводить деобфускацию вручную. Сомневаюсь, что сохранилась хотя бы информация об оригинальных названиях классов.
     
  14. Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Вроде бы как зашифровали не сильно, мой декомпилятор код восстановил, но не все.
     
    Последнее редактирование: 3 май 2017
  15. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    1. Хм, на ProGuard как-то не очень похоже.
    2. Попробуйте декомпилятор, поддерживающий классы Java 8. Может, повезёт, и он сможет сделать из этого лямбды.
     
  16. Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Не подскажешь такой компилятор, у меня какой-то d4j.
     
  17. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Вроде, Fernflower от JetBrains такое умеет.
     
  18. Beatboxer

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

    Баллы:
    123
    Skype:
    beatbox603
    Procyon (GUI) нормально декомпилирует лямбда выражения.
     
  19. Grazy

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

    Баллы:
    76
    Имя в Minecraft:
    Prost
    Нашел онлайн ресурс http://www.javadecompilers.com/ с куча декомпиляторов, я воспользовался Decompiler: CFR (в описании было: поддерживается декомпилятор для Java 8) восстановил вроде бы как и не плохо. Кто знает как мне вот этот код в кирилицу перевести?
    Код:
    \ua755\ua022\u8976\ueeac\ue1b7\ub03c\u8f8c\ude43\u4a9a\u62fd\u0b10\u4c78\u05d2\u6d1a\u7240\u932c\u0c97\ucc63\u4df5\ue057\u76a5\u2902\uf661\u1cd1\ua153\u99f6
    
    Что за обсуфикатор мог сделать с классами вот так?
    [​IMG]
     
    Последнее редактирование: 3 май 2017
  20. Linkinkov

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

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    ꝕꀢ襶뀼辌�䪚拽ଐ䱸ג洚牀錬ಗ챣䷵皥⤂᳑ꅓ駶 хех
     

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