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

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

Icosider

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

Хаха, флаг тебе в руки xd Нормальные люди пишут свои обфускаторы, а если не умеют забивают на то, что хранится на клиенте.
 
5,018
47
783
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();}}
 
49
0
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();}}

Крутая защита.
 
5,018
47
783
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]
 
1,057
50
234
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% защита от деобфускации....

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

Не просто в строку. С метками...
 

Icosider

Kotliner
Администратор
3,601
99
664
А почему бы не попробовать воспользоваться обфускаторами? Например, Stringer. Это очень хороший обфускатор, даже самые продвинутые деобфускаторы не могут полностью деобфусцировать то, что было зашифровано Stringer'ом.
 

Icosider

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

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

tox1cozZ

aka Agravaine
8,455
598
2,892
Конкуренция. Если у тебя свой тематический сервер со своими модами, то никак не хочется разбрасываться своими наработками, чтобы какой-то школьник нашел его в интернете и сделал такой же сервер не прикладывая никаких усилий.
 
Сверху