Hello! I am interested in the issue of protecting the code from hacking.
Do you protect your code from decompiling and hacking?
Why did the question arise? I worked in a team that developed games for Android. They all used obfuscators! So almost no one could hack their application.
Now I am interested in the topic of code protection. I looked at the existing topics, they are slightly outdated (8-10 years ago were relevant).
Use / not use obfuscator? Which to choose?

Let's say you think obfustication works. Why would it be outdated if it works? Humans still use wheels and how old is that idea and how old are documents about wheels?

I think you have a misunderstanding. Obfuscation doesn't render code safe from hacking. It just makes it more difficult. In this day and age with smart compilers. How much of that obfuscation is actually being optimized into efficient code by the compiler? If code can be decompiled it can be hacked, obfuscation doesn't change that.

commented: Decompilers pretty much spew unusable code so only the most determined may "do something." +15

Thank you for your opinion. It is very useful to hear an opinion different from your own)
Why do we need obfuscators?

I don't need them. My apps are very specific in use so I don't bother setting up those tools. But companies that have registration systems, payment systems and such would want that. Also, folk that believe their app is "the next big thing."

Ever read about "Bob's Game?"

Thanks for the answer. I don't think my programs will change the world or they are super original. Everyone wants to steal my ideas and code? Laugh)
Just want to know how to make my project better or secure.
I heard about this game, but never played)

@OP. If you think everyone wants to steal the ideas and code then you may fall into that trap where you never produce apps. I've seen this happen where a person has an idea but is stuck. As I've published many apps and designs over the years I offer to chat about it and they clam up or won't show their app to anyone.

Did you google up "Bob's Game"? It's a different sort of developer's hell but getting stuck on "everyone is going to rip off my ideas" is a common way to never get your app out the door and into the world. I've seen this happen numerous times.

-> The next trap is searching for the "best" code protection. The app is delayed as the author tries more and more protection schemes. Each time they dicover it's not 100% secure so they are trapped in a never ending cycle and never publish . Also they burn up their productive hours on this rather than getting that great idea, code and app out the door.

I'm scared already! It seemed to me that I was not particularly fixated on protecting my code and searching for the best of the best programs. But now I'm worried about the fate of my program)

commented: My advice. Use the obfuscators. Publish and promote. Learn from this for your next app. Later you'll wonder why you spent time on this. +15

They give you good advice. Better devel and improve your program)

Thanks for the advice. I will not stop improving my project!

Code protection is sometimes necessary for commercial programs. But this is a rather complicated question.
As for me, I do not use obfuscator at work. But for my small projects I use ArmDot sometimes.
But I advise you to try something free to start!

commented: I see demos but it appears to be costly. +15

Don't bother with obfuscators. Nobody is going to want to look at your code anyway.
And even if, it's extremely unlikely your code is so brilliant people are going to want to steal it.

The SOLE reason to use obfuscators and stuff like that is if your code has such serious security implications if it gets compromised that you need to do everything possible to prevent that.
And if you were in that situation you'd not be here asking about this, you'd have a dedicated and highly trained security team working on it already.

Hello! Thanks for your comment, jwenting. I studied the topic and slightly changed my mind. Code obfuscation is a more complex and specific topic than I expected)

Fernando_14 commented: Thank you, I have not yet met this type of obfuscation. I don't quite understand how code converts by the virtual machine

You can read how it works in the official source. I do not think I can explain better.
As I understand the code converts into byte array and interpreted by virtual machine. The program creates a new version of virtual machine in every case and uses a new set of instructions to represent the original code.

Thanks everyone for the tips! I think the question may be closed.

Obfuscators are more often used for C # code. But I do not see problems with the use of obfuscator. This is only your choice. It is your decision: to obfuscate the code or not.