Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Часть функционала Fabric Mod в DLL (с поддержкой Mixin+MixinExtras)

Ку, накодил за неделю runtime инжектируемые Fabric моды.
Полную статью с гайдом как юзать залью позже (небольшой гайд есть в репе).

Миксины поддерживаются. Accessor и AccessWidener не поддерживаются (пока что).
Дополнительная информация есть в репе.

Первый проект на JNI и на плюсах в принципе, код мб говно.
Некоторые блоки кода (и java и c++) написаны нейронками, но глубоко отредачены, в коде места помечены.

База проекта взята у radioegor146 (jar-to-dll) (noad)
Отдельное спасибо TheXSVV за помощь с JNI

Если будут краши/проблемы - пишите, постараюсь исправить.

Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.
все сломается после изменения одной буквы в любой функции твоего кода, зачем это?
 
все сломается после изменения одной буквы в любой функции твоего кода, зачем это?
так ты юзай указанную версию и не сломается, а если вдруг изменят название метода, не дай боже, зайди поменяй пару строчек и юзай дальше
 
так ты юзай указанную версию и не сломается, а если вдруг изменят название метода, не дай боже, зайди поменяй пару строчек и юзай дальше
Так это костыли просто, через тот же самый какой ни будь обфускатор, тебе в ручную придется по классам лазить и искать эти функции, которые изменили своё название
 
Так это костыли просто, через тот же самый какой ни будь обфускатор, тебе в ручную придется по классам лазить и искать эти функции, которые изменили своё название
Какой обфускатор? Сурсы fabric-loader есть в открытом доступе. Посмотреть что изменилось довольно просто.

Я тебя не заставляю юзать эту тулзу, кому надо, тот будет юзать. Без поиска по названиям runtime загрузку никак не сделать.
 
а можно-ли по подробнее? просто не особо шарю в дллках,я скачал визуал студио 2022,скачал пакет разработка приложений на C++ дальше что? просто открыть Injector.h и jar.h через визуал судио и скомпилировать х64 релиз?
 
а можно-ли по подробнее? просто не особо шарю в дллках,я скачал визуал студио 2022,скачал пакет разработка приложений на C++ дальше что? просто открыть Injector.h и jar.h через визуал судио и скомпилировать х64 релиз?
Всю папку dll открывать нужно, я хз как точно в Visual Studio делается, но в CLion достаточно открыть файл CMakeList как проект.
Файлы jar.h и injector.h нужно в папку dll/injecting_classes закинуть. в CMakeList нужно указать путь до Java. А затем выполнить Build Release.

Проект должен быть shared library.
 
а можно-ли по подробнее? просто не особо шарю в дллках,я скачал визуал студио 2022,скачал пакет разработка приложений на C++ дальше что? просто открыть Injector.h и jar.h через визуал судио и скомпилировать х64 релиз?
 
Ультраг
1768798837825.png
овнокод который к тому же и бесполезный
пока читал столкнулся с таким ужасом
 
и чё тут не так
а то что даже в им любимым нативном афускаторе имеется решение лучше
Пожалуйста, авторизуйтесь для просмотра ссылки.
⚡ Программист на Java скончался от сердечного приступа, увидев код на С++
1768799548535.png
100% java programistFACT CHECKED
 
UPD: Пофикшена ошибка с миксинами, которые создавали идентичные хандлеры, что приводило к неправильным переименованиям методов.

Следующие апдейты оповещаться будут сразу списком или вовсе не будут, все будет на гитхабе
 
Назад
Сверху Снизу