• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
Question by Eli-Davis · Oct 11, 2012 at 02:11 AM · webplayersecuritysqlprotection

How to Protect Webplayer Builds?

There's this one user on kongregate that has figured out a way to crack open webplayers and veiw their code. I messaged him on how he did it and very nicely replied, here is what he said: "Unity uses Mono for scripting. So each unity game contains .Net / Mono assembly files which can easily be viewed with any .NET reflector. The Unity-3D-Obfuscator (which has been written to protect your code) can be used to unpack webplayer builds. Anyway, never “steal” other peoples code. Copyright has nothing to do wether you are able to access the source code or not. Reflecting .NET byte code is actually a language feature of CIL, so every appliation that uses .NET / Mono can be viewed. I’m a games developer as well and most companies that use Unity don’t know about that little “problem”. It’s not really a problem unless you have code that shouldn’t be viewed by the user. But in this case always keep in mind “security through obscurity” never works." Now this scares me because I'm planning on making a MMO within the year and I'm planning to use SQL in my code. With his methods would he be able to find my SQL contents and password? If so is there any way to protect against this?

Comment

People who like this

0 Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image MarkFinn · Oct 11, 2012 at 09:41 AM 1
Share

Rule 4 of Database development. There is never, ever any access to the DB from the client. Not in this day and age. Middleware has benefits beyond just bloating the development companies' pockets, key among which are performance, load balancing and security security security.

2 Replies

· Add your reply
  • Sort: 
avatar image

Answer by Eric5h5 · Oct 11, 2012 at 02:25 AM

You should run any code that matters on the server, not the client. Never trust the client. Not really anything to do with Unity; all games get hacked.

Comment
rutter

People who like this

1 Show 0 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image

Answer by MarkFinn · Oct 11, 2012 at 04:02 AM

As Eric said, but also do some google searches for "Unity Obfuscator" and "C# obfuscator". (Don't just grab the tools. Understanding the tech is well worthwhile).

It will always be possible to rip open any .net/mono package. Such is the nature of the technology.

But you can make it so frustrating for the code rippers that they'll pass you by and pick on the easier targets.

NOTE! This is not a solution to failed security models (E.g. having any form of password in your client) but rather a way of reducing the number of times your code is ripped off and used to generate clones of your work. Even if your code were utterly unreadable and unrippable you'd still be transmitting your SQL usernames and passwords across the network every time they were used.

Comment

People who like this

0 Show 0 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

11 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How do I protect my webplayer from beeing used from other sites? 2 Answers

is there a way to secure the .unity3d web player file from downloading? 1 Answer

Data security of Web player 0 Answers

Can't build for the web player when using Npgsql.dll 0 Answers

Security Sandbox on the webplayer 3.0 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges