Fractal Softworks Forum

Starsector => General Discussion => Topic started by: arcblade on September 13, 2017, 07:10:06 AM

Title: Ask a program problem
Post by: arcblade on September 13, 2017, 07:10:06 AM
I am a programmer and I love this game. It's a good space game. This game source code was obscured by tool. It's very nice. I have a project need be obscured to prevent decompile and modification. But I cannot find a satisfactory tool. Can you tell me which java obfuscator using by you. Thanks.
Title: Re: Ask a program problem
Post by: xenoargh on September 13, 2017, 08:52:29 AM
I presume it was lightly-obfuscated using something like ProGuard (https://www.guardsquare.com/en/proguard).  As applications go, Starsector is pretty lightly obfuscated and Alex has been a lot more open than most developers to letting people poke at the source from the outside, which I applaud (it makes it easier for those of us with similar backgrounds to hunt down issues, among other things).

A philosophical note here.  If you're not reliant on a really novel method or technology and aren't deploying to a space where the application's security is paramount (say, an online game where you don't want people to attack the application to gain unfair advantages), I wouldn't fret about these issues very much.  

Basic obfuscation of class / method / variable names will keep out most people, because if they weren't lazy, they wouldn't be trying to steal your code in the first place; very little in a typical game application is novel or new technology.  The biggest issues that I know Alex has had to confront have been with people stealing the artwork for the game, frankly, not the code.
Title: Re: Ask a program problem
Post by: Alex on September 13, 2017, 08:59:09 AM
I'm using yGuard (https://www.yworks.com/products/yguard) for Starsector. It's got nice ant tasks so integrating it into the build was easy; here's (https://www.yworks.com/resources/yguard/yguard_ant_howto.html) the link with documentation for those.
Title: Re: Ask a program problem
Post by: xenoargh on September 13, 2017, 09:04:30 AM
If you're building for a commercial space where attacks on the application are very likely, such as a mobile game with in-app purchases, you'll need pretty heavy security; you may need to consider something like this (https://www.arxan.com/solutions/gaming/). 

However, be aware that it's not cheap and, while I haven't ever maintained any source that used that directly, I've heard from people who have that it's fairly difficult to work with.
Title: Re: Ask a program problem
Post by: arcblade on September 13, 2017, 05:41:03 PM
Oh, very thanks. I have tried allatori, proguard and zkm, but have not yet tried yguard.
I will try yGuard.
Thanks. :)
Title: Re: Ask a program problem
Post by: Dark.Revenant on September 13, 2017, 09:02:54 PM
If you're building for a commercial space where attacks on the application are very likely, such as a mobile game with in-app purchases, you'll need pretty heavy security; you may need to consider something like this (https://www.arxan.com/solutions/gaming/). 

However, be aware that it's not cheap and, while I haven't ever maintained any source that used that directly, I've heard from people who have that it's fairly difficult to work with.

If they have to ask, they're not ready for and really don't need a professional security suite.  By the time it's worth the development time to add one, you can afford to hire an expert.