Is it easy to hack and recompile a cocos game?

I have read that it is very easy to hack and recompile an unity game. Also, I read that they have a function (provided by the engine) to determine that the game has been recompiled.

e.g. I release the game,
a bad guy hacks it and publish as his own,
but somewhere in the depth of the code still there is a check that the game has been recompiled,
so that I can display some note to the user or to make the game unplayable.

Is it easy to hack a cocos game?
Do I need to worry about it?
How to make a small copy protection for my game?

p.s.

I understand that no one protection will not save 100%, I just want to find easy to implement way to set a minimum of protection, so that not any schoolchild can copy the game. I also read that there have been cases when this simple protection was effective, since not all hackers want to read all of your code.

Also, if the code is written in C ++, it complicates the hacking, but I do not know how much. I’m not too familiar with the Reverse Engineering.

1 Like

If game is written in c++ - it’s quite hard to change something. Possibly somebody can just copy your game/app without any core modifications - just change package identifier/ads/other_modifications_on_java_side and submit it to google play, or just change ads and upload it on third party markets. Not sure how complicated this process, never worried about it for my games :smile:

But i think you can make some simple checks in c++ part:

I guess that will be enough for most cases.

1 Like

@MikhailSh

Thank you very much! Seriously, thank you very very very much.

This is exactly what I need.

@MikhailSh How are we supposed to make checks in C++ keystore api looks more like java wrapper how are we supposed to implement check in c++ part especially if c++ is strictly used only for cocos2d-x ?

You can create and use java objects from c++.
If you implement these checks on java side it will be easier to hack it. Though implementing it in c++ side may be verbose and slightly tricky.