[Discussion] Obfuscation

Recommended Posts

So this isn't so much support, as I know how to do this, but I was wondering exactly why it's so frowned upon within this community?

The personal reasons I do this with a couple of mods are as followed
1. Clients who I do mod development for would like mods to be obfuscated because they don't want the features within them to be replicated (Scummy in my opinion, but I go with it, especially when they pay me more.)
2. Security reasons, packets can be surprisingly easy to manipulate if someone takes the time to research them and finds a vulnerability. While I try to avoid vulnerabilities by adding serverside checks, there's always going to be an exploit. This is what I do for my personal projects that are meant to be heavily serversided focus.
3. Avoidance of clientside exploits. A good example of this would be a 1.7.10 Mod called Dragon Block C, where due to the modder's failure to properly hide functions and what they do, I ended up able to create a mod that allows me to instantly transform and reach max output percentage of stats.

These are my reasons, though I rarely do obfuscation aside from projects with very experimental and potentially exploitable features or upon specific request from a paying client. When I'm not worried about such issues they'll be left alone with no special obfuscation attempts

I'd like to hear the thoughts of other modders, as I personally understand the need for it in certain situations. Normally however, while I don't frown upon it, I don't think it's outright necessary.

Share this post

Link to post

Share on other sites

but I was wondering exactly why it's so frowned upon within this community?

I'll reply to each of your points individually.

10 minutes ago, NolValue said:

Clients who I do mod development for would like mods to be obfuscated because they don't want the features within them to be replicated (Scummy in my opinion, but I go with it, especially when they pay me more.)

You already said it: It's scummy.

10 minutes ago, NolValue said:

Security reasons, packets can be surprisingly easy to manipulate if someone takes the time to research them and finds a vulnerability. While I try to avoid vulnerabilities by adding serverside checks, there's always going to be an exploit. This is what I do for my personal projects that are meant to be heavily serversided focus.

Security by obscurity is never a good idea.

11 minutes ago, NolValue said:

Avoidance of clientside exploits. A good example of this would be a 1.7.10 Mod called Dragon Block C, where due to the modder's failure to properly hide functions and what they do, I ended up able to create a mod that allows me to instantly transform and reach max output percentage of stats.

Again, this is not fixed by obfuscation, it's fixed by proper security. Do not trust the client. The client is always lying.

Recently Browsing

Posts

Hi there,
I want to use my custom 3D Models I created, but I don't understand how to render and bake custom 3D OBJ Models, or if it is even possible.
Here is what I got so far:
public class BakeHandler {
public BakeHandler() {
OBJLoader.INSTANCE.addDomain(HelicopterMod.MOD_ID);
}
@SubscribeEvent
public void onModelBake(ModelBakeEvent event)
{
try
{
IUnbakedModel model = OBJLoader.INSTANCE.loadModel(new ResourceLocation(HelicopterMod.MOD_ID, "models/entity/helicopter_tris.obj"));
//model.bake(bakery, spriteGetter, sprite, format);
} catch (Exception e)
{
e.printStackTrace();
}
}
}
I simply don't know where to continue now, as I don't find any currently working example or explanation.
Does anyone of you guys know an example I can look at, or a good explanation on how to use OBJ models for entities?
Would appreciate any help

How do you create a multi project work-space in Eclipse?
I want to build a mod that has an optional dependency and a mandatory dependency.
I recently learned basic java code and how to make simple mods with new recipes, tools, blocks, armor, ore gen, that sort of stuff...
Now I want to learn how to use API's and call items from other mods but every time I try to import other mods into my work space I have issues.
How Do I set up a multi project work space?