Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[ATTENTION DEVELOPERS] Source Code Protection for Assets

Discussion in 'Community Learning & Teaching' started by Sildaekar, Sep 9, 2013.

  1. Sildaekar

    Sildaekar

    Joined:
    Jul 8, 2013
    Posts:
    95
    I did plan on writing an in-depth tutorial and/or paper on this topic, but decided to take the easy route as I believe this will be sufficient to get the point across.

    Project Obfuscation for "Free" or "Trial" version assets.

    Many of the assets that I find on the asset store (as well as through private websites) tend to offer Free or Trial versions of their assets in order to give members and overview of the product while displaying a watermark in order to get commercial users to purchase the full asset. One of these in particular I have "checked out" is USequencer. While I have not bought uSequencer yet I could easily take away the watermark.

    I will NOT show a step-by-step process on this, however I will show a few screenshots to show what I mean.


    Using a simple decompiler which can be found free online it is easy to decompile the libraries and get the full source code, and thus remove the watermark.

    $dll pic.png
    $USSequencer.cs.png
    $watermark.png

    While I am an honest person and will not use an asset until I have personally purchased it, I simply wanted to post this in order to show developers the importance of protecting source code. If you wish to release a free or trial version of an asset, be sure to limit the functionality or at the very least use an Obsfucator.

    Here is one that I have heard good things about online, but I'm sure you could easily find more through a search.

    Eazfuscator.net

    EDIT:

    Tried looking for a way to get in touch with Well Fired. the developer for uSequencer, but was unable to. If anyone knows him personally could you please redirect him to this thread, and he can contact me and I will show him how it was done.
     
    Last edited: Sep 9, 2013
  2. Wild-Factor

    Wild-Factor

    Joined:
    Oct 11, 2010
    Posts:
    607
    Why did you try to erase the watermark ?

    By doing this you just exposing the fact that it can be done (an give people ideas).

    Game with DRM free sells because they trust that people are good and that they will bought the game.
    Also nothing prevent someone to buy the end product and sell it.

    What you are doing is making asset store creator scared to an imaginary risk. And push them to do closed obfuscate sourcecode instead of giving it to their customers that can fix bugs themself if they want (and not be stuck with bugs when the dev stop the support of the plugin).

    Your intention are good but beware of all consequences.

    https://www.youtube.com/watch?v=C2Y-gUIan88&feature=player_detailpage#t=3725
     
    Last edited: Sep 9, 2013
  3. Sildaekar

    Sildaekar

    Joined:
    Jul 8, 2013
    Posts:
    95
    By my nature I tend to enjoy testing the security of various things (including physical security features). I understand the nature behind DRM free games, and actually plan on releasing my game as DRM free once it is complete. Also, please note that the Watermark is still very much present in the copy that I have and I do intend on actually purchasing this asset next month.

    No, the reason that I posted this up is that the stated product and without doubt other products that offer a trial or free version tend to hide the source code behind DLLs in order to get users to purchase the product in order to obtain the source code. However, simply compiling the code into a DLL will not sufficiently protect the source code since ,as I demonstrated, it is very easy for someone with the technical knowledge to decompile it.

    Keep note that once decompiled there are tons of errors in the code that still need to be fixed, but it wouldn't be very difficult for someone that knows the code.

    If the developer wishes to allow access to the source code in a trial version then that's awesome! But in doing so they should probably offer the trial with slightly reduced features. For example the asset Parley (amazing system by the way) offers a three versions all with source code access. But the full version is the only one with save-load functionality.