I just exported a project and built the iOS project in Xcode and it appears that all of my unique code is put in the assets folder and that there is nothing stopping someone from taking those assets and make their own app with them. I'm not sure how Android builds it's apps but I'm guessing that it uses the same assets and that someone could take Gideros and build an empty project and replace its assets with my assets and then they could actually put my app on the Android Store.
I'm trying to think if it's possible to download then re-upload someone else's app to the App Store, and I'm not actually sure. So this might not really be an issue that is unique to Gideros. But I think it might be a problem with Android. I'm not sure.
I guess I'm just worried about this because my iPhone apps are already being pirated by jailbreakers and the thought of people being able to take my work and then put it on the Android store and actually sell my apps makes me slightly uncomfortable.
Is this a real issue or am I just over thinking things?
Comments
The lua code is encrypted though.
If someone else were to use your assets on the Apple app store, then you can complain to Apple, and they will take down the other app. I don't know how Android does it.
My apps: http://www.yummyyellow.com
So yes, it would be good if the Android project files were built differently - is a .jet file (created by the Gideros exporter) just a .lua file renamed?
I don't know enough about how Apple signs their projects to know if it is possible to rip off someone else's project by just dropping it into another Xcode project and signing it.
My apps: http://www.yummyyellow.com
I exported two projects, changed over the assets including the lua code, and built one project using the others assets. It appeared to work fine, so I'm pretty sure all I have to do now is build for the app store with my developer key.
However, it would be a carbon copy of the original.
You can define variables that come out in plain text in the lua-encrypted file, so you can have a variable with license information that does nothing.
My apps: http://www.yummyyellow.com
My apps: http://www.yummyyellow.com
An .ipa or a .apk file or for that matter even an Exe or a .app has the resources that can be extracted without breaking a sweat. If these were not available then the app could not work or use them.
The concern should be the lua code, as that is the real IP, unless you have an app like strip poker where the assets are of more importance than the code.
Luac compiles the text into bytecode, and for those that know what they are doing, that should not be very difficult to decompile. The compiler has documentation of how to convert the text into bytecode, so run it the other way... (not as easy as it sounds)
The issue that I see with luac is that it has these multiple files, that is a giveaway on the structure of the code, etc which can help in reconstruction (backwards engineering). So if there was a way to combine these compiled files as one lua code chunk, that would be a way forward to make decompiling harder.
Lastly, the point is what are you trying to protect, your assets in the app or the app from illegal distribution? There are several services that provide you a certificate based on your UDID that will crack and resign your app to install on a non jailbroken device.
If you have a jailbroken device, then the Apple DRM is not applicable or helpful at all in saving your app from illegal distribution.
AS to your question on can you just drop a project into xcode and sign it, you can resign it, not sure about the recompiling a compiled binary.
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
When I saw that my iOS apps were being pirated (hosted on MegaUpload or one of the other "filesharing" sites) it was an awful feeling, but I decided that Apple has made it difficult enough to pirate that I don't need to write my own piracy prevention code. I'm just worried about how easy it is to take the Lua resources and drop them into another Gideros app.
Maybe Gideros Studio can put a public key in the complied Lua files (I'm not worried about the images and sound resources) and a private key in the exported Android/Xcode projects and the keys must match to run and the keys are regenerated every time the project is built. That way the exported Android/Xcode projects and the Lua files must be built at the same time. If the Lua code is built on another machine, then its key won't match and the Android/Xcode key and the app won't run.
The key to this working is that the private key in the Xcode/Android project be as difficult to extract as possible (which seems impossible considering almost all exported Gideros Xcode/Android projects are going to be the same so it would be easy to find the binary location of the key), and I know there is no way to stop a determined cracker (and I don't think anything can), but I think this would stop a lazy/uninformed/casual one.
And now that I think about it, I've got the Xcode project and I can add something to it to make it different, so maybe it is up to me if I want more protection.
Either way, I think I've talked myself out of asking for this feature. I'll do what I say the filmmakers should do, and that's to make a product that is so awesome that honest people are happy to pay for it and the piracy will come naturally but I won't care because I've still got good honest customers.
My apps: http://www.yummyyellow.com
I've seen my books being pirated. I've seen my Linux distro being pirated. :ar! I felt like "Wow, I really produced high-quality products so others copy it. I think I made it." *-:) instead of feeling frustrated. Think of it like that. Be the best on what you do so others point at you. Rest is trivial.
Of course that's not to say that its not worth looking into. Anything that makes their job of getting at the code is a bonus.
Mike
http://www.sharksoupstudios.com
Introducing elaborate DRM, or protection methods, is often worse for you in the long run as you will inevitably create hoops through which your legitimate customers have to travel in order to use whatever it is you're producing. And that is self defeating, as you'll put potential customers off. Just take a look at the mess some of the big game developers/publishers have created with their "clever" DRM methods. It just frustrates the users.
How did you manage to do this if what you say: "The lua code is encrypted though."?
Regards
---------------------------------------
maybe there is a flag in the compile or something.
---------------------------------------
http://www.giderosmobile.com/forum/discussion/2804/gideros-lua-encryption-could-this-create-problems-with-export-compliance#Item_9
https://play.google.com/store/apps/developer?id=My+name+is+Originality
---------------------------------------
https://play.google.com/store/apps/developer?id=My+name+is+Originality
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps