Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

How to avoid being disassembler ?
Started by vb66r55 Mar 18 2019 11:31 AM

* * * * * 1 votes
5 replies to this topic

Best Answer XeduR @Spyric , 19 March 2019 - 01:27 AM

The simple truth is that if someone with the sufficient know-how wants to reverse-engineer your app, you can't prevent it. You can only make it harder for someone to get your code or assets. You could obfuscate your code, hide your assets under different file types, package them within encrypted zips, etc. but some such measures will also hinder the app's performance.

One good and perhaps the hardest to crack approach is to write server-side code and simply access it from your app via REST API. This way, even if someone reverse-engineers your app, they wouldn't have access to your server-side code.

Now, I am guessing that this isn't really something that you, or 99% of developers for that matter, should worry about. Making it harder for others to read your code and assets usually makes it harder for you as well to some degree. It is also time and money you could have spent on working to improve your app. I would recommend that you focus on trying to make an app that everyone else wants to copy rather than trying to make an app that no one can copy.

[TOPIC CONTROLS]
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

vb66r55

[GLOBAL: userInfoPane.html]
vb66r55
  • Enthusiast

  • 54 posts
  • Corona SDK

Greetings,

 

I want to know how everyone can avoid being disassembler.

 

There are now many games that are unpacked, disassembler, and extracted from .apk files.
 

In this way, the developer's efforts, pictures, music, and code will be obtained and used. 

 

I want to know how to use Corona to avoid these things?
 
Thank you all.


[TOPIC: post.html]
#2

XeduR @Spyric

[GLOBAL: userInfoPane.html]
XeduR @Spyric
  • Contributor

  • 894 posts
  • Corona SDK

  Best Answer

The simple truth is that if someone with the sufficient know-how wants to reverse-engineer your app, you can't prevent it. You can only make it harder for someone to get your code or assets. You could obfuscate your code, hide your assets under different file types, package them within encrypted zips, etc. but some such measures will also hinder the app's performance.

One good and perhaps the hardest to crack approach is to write server-side code and simply access it from your app via REST API. This way, even if someone reverse-engineers your app, they wouldn't have access to your server-side code.

Now, I am guessing that this isn't really something that you, or 99% of developers for that matter, should worry about. Making it harder for others to read your code and assets usually makes it harder for you as well to some degree. It is also time and money you could have spent on working to improve your app. I would recommend that you focus on trying to make an app that everyone else wants to copy rather than trying to make an app that no one can copy.


  • agramonte likes this

[TOPIC: post.html]
#3

vb66r55

[GLOBAL: userInfoPane.html]
vb66r55
  • Enthusiast

  • 54 posts
  • Corona SDK

If it will affect the performance, then I will focus on performance, so that players have a good experience first.
 
Thank you for your comments.


[TOPIC: post.html]
#4

thomas6

[GLOBAL: userInfoPane.html]
thomas6
  • Contributor

  • 980 posts
  • Corona SDK

I can't agree more with Xedur.

 

For 99% of Corona coders the problem is not piracy or protecting authorship, but the simple fact that the game is not succesful, typically for these three reasons:

 

- the game is bad or not unique

- the graphics and sound are bad or not unique

- people don't know your game exists

 

Firsts spend time working on the above three points. If you ever get to the point where piracy is a concern, you will be very lucky, and then you can focus on the aspect of code and asset protection.



[TOPIC: post.html]
#5

fer5

[GLOBAL: userInfoPane.html]
fer5
  • Observer

  • 10 posts
  • Corona SDK

You wrote:
"First spend time working on the above three points. If you ever get to the point where piracy is a concern, you will be very lucky, and then you can focus on the aspect of code and asset protection."

 

The problem here is that it's too late by then. If you do get "lucky" and your product is suddenly successful, then pirates and other copyright-violators will immediately tear apart your work and rapidly dilute its value. They won't wait two months while you "focus" on code and asset protection. Any developer should plan ahead for success. Otherwise, why bother? At least one critical component of your product's functionality or gameplay should be server-side in some fashion or depend on expiring elements. Of course, you can't become obsessed with these things to the point where you don't create, but you have to be aware of the tremendous cost of piracy. It's a real threat, and yes, there are ways to slow it down. Some pirates are brilliant, but most are just looking for a quick buck. If you can slow them down, you make more money.... Alternatively, one can live as a hobbyist.

 



[TOPIC: post.html]
#6

XeduR @Spyric

[GLOBAL: userInfoPane.html]
XeduR @Spyric
  • Contributor

  • 894 posts
  • Corona SDK

@fer5, the point that Thomas and I are making is more to the point that developers should first focus on making their games as good as they possibly can.

I've consulted numerous individuals on their games, many of whom have been worried about people stealing their codes or their assets. The brutal and honest truth was that, for most of them, no one would want to copy their games. In a lot of cases, no one would be interested in their source code even if it was given openly for free. The games just weren't that good.

Then, on the flip side, many good mobile games are simple enough that you don't even need to take a look under the hood to understand what is going on. In the case of games like Flappy Bird, Don't Tap The White Tile, Jetpack Joyride, Angry Birds, Candy Crush Saga, etc., most experienced game developers are able to see how the games were programmed and/or how to replicate the various gameplay functions and systems in their preferred language/engine. In most cases, this is easier and a lot faster than trying to reverse engineer the app.

For many hobbyists or even starting companies, their (first) apps won't earn much. If an app's lifetime revenue is between 0$ and 500$, then should you even bother investing a couple of hours or tens of hours into protecting the assets?


  • Michael Flad and GrahamRanson like this


[topic_controls]
[/topic_controls]