Защита мода от декомпиляции.

Версия Minecraft
1.7.10
214
8
30
Да, да знаю, есть уже гайд на эту тему. Но мне нужно сделать защиту от декомпиляции на мод который только для клиента.
 
Нет, надо просто весь мод писать с метками, goto и в все в одном файле. Это лучше любой обфускации. А и еще называть методы совершенно по другому. Например метод, который отвечает за ходьбу(изменение координат) будет называтся stoppedPlayer. Вот и все!
Ах да, и еще желательно все в одну строчку
 
Maxik001 написал(а):
Нет, надо просто весь мод писать с метками, goto и в все в одном файле. Это лучше любой обфускации. А и еще называть методы совершенно по другому. Например метод, который отвечает за ходьбу(изменение координат) будет называтся stoppedPlayer. Вот и все!
Ах да, и еще желательно все в одну строчку

Хаха, флаг тебе в руки xd Нормальные люди пишут свои обфускаторы, а если не умеют забивают на то, что хранится на клиенте.
 
WildHeart написал(а):
Maxik001 написал(а):
Нет, надо просто весь мод писать с метками, goto и в все в одном файле. Это лучше любой обфускации. А и еще называть методы совершенно по другому. Например метод, который отвечает за ходьбу(изменение координат) будет называтся stoppedPlayer. Вот и все!
Ах да, и еще желательно все в одну строчку

Хаха, флаг тебе в руки xd Нормальные люди пишут свои обфускаторы, а если не умеют забивают на то, что хранится на клиенте.
Зачем писать программу которая запутывает код, и если ее все равно взломают? А вот мод в одну строчку с метками никто никогда не взломает :D
 
Код:
@Mod(modid=Core.modid, name=Core.name, version = Core.version)
public class Core {public static final String modid = "sr";public static final String version = "0.1-alpha";public static final String name = "Space Research";public static final String TEXTURE_PREFIX = modid+":";
@Instance("sr")public static Core instance;@SidedProxy(clientSide = "ru.whitewarrior.spaceresearch.ClientProxy", serverSide = "ru.whitewarrior.spaceresearch.CommonProxy")public static CommonProxy proxy;private static int modGuiIndex = 0;public static final int GUI_ITEM_INV = modGuiIndex++;
@EventHandler public void preInit(FMLPreInitializationEvent event){new G3ModuleConfig(new File(event.getModConfigurationDirectory(), "SpaceResearch/core.conf")); CoreList.preinit();}
@EventHandler public void init(FMLInitializationEvent event){CoreList.init();NetworkRegistry.INSTANCE.registerGuiHandler(this, new SRGuiHandler());}
@EventHandler public void postInit(FMLPostInitializationEvent event){CoreList.postinit();}}
 
WhiteWaeeior написал(а):
Код:
@Mod(modid=Core.modid, name=Core.name, version = Core.version)
public class Core {public static final String modid = "sr";public static final String version = "0.1-alpha";public static final String name = "Space Research";public static final String TEXTURE_PREFIX = modid+":";
@Instance("sr")public static Core instance;@SidedProxy(clientSide = "ru.whitewarrior.spaceresearch.ClientProxy", serverSide = "ru.whitewarrior.spaceresearch.CommonProxy")public static CommonProxy proxy;private static int modGuiIndex = 0;public static final int GUI_ITEM_INV = modGuiIndex++;
@EventHandler public void preInit(FMLPreInitializationEvent event){new G3ModuleConfig(new File(event.getModConfigurationDirectory(), "SpaceResearch/core.conf")); CoreList.preinit();}
@EventHandler public void init(FMLInitializationEvent event){CoreList.init();NetworkRegistry.INSTANCE.registerGuiHandler(this, new SRGuiHandler());}
@EventHandler public void postInit(FMLPostInitializationEvent event){CoreList.postinit();}}

Крутая защита.
 
WhiteWaeeior написал(а):
Код:
@Mod(modid=Core.modid, name=Core.name, version = Core.version)
public class Core {public static final String modid = "sr";public static final String version = "0.1-alpha";public static final String name = "Space Research";public static final String TEXTURE_PREFIX = modid+":";
@Instance("sr")public static Core instance;@SidedProxy(clientSide = "ru.whitewarrior.spaceresearch.ClientProxy", serverSide = "ru.whitewarrior.spaceresearch.CommonProxy")public static CommonProxy proxy;private static int modGuiIndex = 0;public static final int GUI_ITEM_INV = modGuiIndex++;
@EventHandler public void preInit(FMLPreInitializationEvent event){new G3ModuleConfig(new File(event.getModConfigurationDirectory(), "SpaceResearch/core.conf")); CoreList.preinit();}
@EventHandler public void init(FMLInitializationEvent event){CoreList.init();NetworkRegistry.INSTANCE.registerGuiHandler(this, new SRGuiHandler());}
@EventHandler public void postInit(FMLPostInitializationEvent event){CoreList.postinit();}}

Нету лишних циклов, индусо-китайского переменных,не в одну строчку и без меток после каждого оператора(если нет то goto label1) . Ты еще не познал дзен! :)
 
Maxik001 написал(а):
WhiteWaeeior написал(а):
Код:
@Mod(modid=Core.modid, name=Core.name, version = Core.version)
public class Core {public static final String modid = "sr";public static final String version = "0.1-alpha";public static final String name = "Space Research";public static final String TEXTURE_PREFIX = modid+":";
@Instance("sr")public static Core instance;@SidedProxy(clientSide = "ru.whitewarrior.spaceresearch.ClientProxy", serverSide = "ru.whitewarrior.spaceresearch.CommonProxy")public static CommonProxy proxy;private static int modGuiIndex = 0;public static final int GUI_ITEM_INV = modGuiIndex++;
@EventHandler public void preInit(FMLPreInitializationEvent event){new G3ModuleConfig(new File(event.getModConfigurationDirectory(), "SpaceResearch/core.conf")); CoreList.preinit();}
@EventHandler public void init(FMLInitializationEvent event){CoreList.init();NetworkRegistry.INSTANCE.registerGuiHandler(this, new SRGuiHandler());}
@EventHandler public void postInit(FMLPostInitializationEvent event){CoreList.postinit();}}

Нету лишних циклов, индусо-китайского переменных,не в одну строчку и без меток после каждого оператора(если нет то goto label1) . Ты еще не познал дзен! :)
Если что, это в одну строчку все -_-
[img=726x120]http://i12.pixs.ru/storage/5/9/5/Bezimyanni_1844375_26030595.png[/img]
 
WhiteWaeeior написал(а):
Maxik001 написал(а):
WhiteWaeeior написал(а):
Код:
@Mod(modid=Core.modid, name=Core.name, version = Core.version)
public class Core {public static final String modid = "sr";public static final String version = "0.1-alpha";public static final String name = "Space Research";public static final String TEXTURE_PREFIX = modid+":";
@Instance("sr")public static Core instance;@SidedProxy(clientSide = "ru.whitewarrior.spaceresearch.ClientProxy", serverSide = "ru.whitewarrior.spaceresearch.CommonProxy")public static CommonProxy proxy;private static int modGuiIndex = 0;public static final int GUI_ITEM_INV = modGuiIndex++;
@EventHandler public void preInit(FMLPreInitializationEvent event){new G3ModuleConfig(new File(event.getModConfigurationDirectory(), "SpaceResearch/core.conf")); CoreList.preinit();}
@EventHandler public void init(FMLInitializationEvent event){CoreList.init();NetworkRegistry.INSTANCE.registerGuiHandler(this, new SRGuiHandler());}
@EventHandler public void postInit(FMLPostInitializationEvent event){CoreList.postinit();}}

Нету лишних циклов, индусо-китайского переменных,не в одну строчку и без меток после каждого оператора(если нет то goto label1) . Ты еще не познал дзен! :)
Если что, это в одну строчку все -_-
[img=698x120]http://i12.pixs.ru/storage/5/9/5/Bezimyanni_1844375_26030595.png[/img]

Оу, ну если это все в 1 строчку, тогда это точно 101% защита от деобфускации....
 
BlesseNtumble написал(а):
WhiteWaeeior написал(а):
Maxik001 написал(а):
WhiteWaeeior написал(а):
Код:
@Mod(modid=Core.modid, name=Core.name, version = Core.version)
public class Core {public static final String modid = "sr";public static final String version = "0.1-alpha";public static final String name = "Space Research";public static final String TEXTURE_PREFIX = modid+":";
@Instance("sr")public static Core instance;@SidedProxy(clientSide = "ru.whitewarrior.spaceresearch.ClientProxy", serverSide = "ru.whitewarrior.spaceresearch.CommonProxy")public static CommonProxy proxy;private static int modGuiIndex = 0;public static final int GUI_ITEM_INV = modGuiIndex++;
@EventHandler public void preInit(FMLPreInitializationEvent event){new G3ModuleConfig(new File(event.getModConfigurationDirectory(), "SpaceResearch/core.conf")); CoreList.preinit();}
@EventHandler public void init(FMLInitializationEvent event){CoreList.init();NetworkRegistry.INSTANCE.registerGuiHandler(this, new SRGuiHandler());}
@EventHandler public void postInit(FMLPostInitializationEvent event){CoreList.postinit();}}

Нету лишних циклов, индусо-китайского переменных,не в одну строчку и без меток после каждого оператора(если нет то goto label1) . Ты еще не познал дзен! :)
Если что, это в одну строчку все -_-
[img=682x120]http://i12.pixs.ru/storage/5/9/5/Bezimyanni_1844375_26030595.png[/img]

Оу, ну если это все в 1 строчку, тогда это точно 101% защита от деобфускации....

Ну да, ты не разгадаешь.
 
WildHeart написал(а):
Сверху есть люди которые думают, что если писать код в одну строку, то их код не сопрут...

Не просто в строку. С метками...
 
А почему бы не попробовать воспользоваться обфускаторами? Например, Stringer. Это очень хороший обфускатор, даже самые продвинутые деобфускаторы не могут полностью деобфусцировать то, что было зашифровано Stringer'ом.
 
Вамиг Алиев написал(а):
А почему бы не попробовать воспользоваться обфускаторами? Например, Stringer. Это очень хороший обфускатор, даже самые продвинутые деобфускаторы не могут полностью деобфусцировать то, что было зашифровано Stringer'ом.

А если ещё и proguard'ом пройтись, то будет даже лучше защита.
 
Мне кажется если твой мод хотят "взломать" это признак того что твой мод действительно хороший и в нём есть что-то особенное. Зачем усложнять? Тем более в любом случае это бесполезно. Большинство популярных модификаций имеет исходники на GitHub.
 
Конкуренция. Если у тебя свой тематический сервер со своими модами, то никак не хочется разбрасываться своими наработками, чтобы какой-то школьник нашел его в интернете и сделал такой же сервер не прикладывая никаких усилий.
 
Назад
Сверху