Binary QML compilation...
-
Ok Chris, thanks for giving us a more detailed answer about this subject.
But then, as far as you know as a troll, is anyone out there considering giving us an out-of-the-box way to protect our QML for distribution instead of just simple qrc bundling which can easily be circumvented? Or is that something that no one hasn't even actually considered?
One of the advantages of Qt is not only portability and performance, but the fact that you actually get compiled code as well, there are many other good, multi platform frameworks, but most of them are like java or .NET, so the code can be easily decompiled, and if you have code you want to protect because of security or IP, then the best way is to compile.
-
If security is your main concern, then I suggest that you might make it harder for attackers by encrypting the QML before including in your resource. Sure, because you need to include the decryption key in your application, it can still be taken out, but at least the QML won't be there for everybody to see too easily, and standard tools won't extract anything useful.
Compiled QML also isn't a guarantee that it won't be broken with a decompiler. There is only so much you can do...
-
yes you're right, the only warranty for protected code is compiled one... maybe I'll figure something out, like do draw calculations in C++ and leave only dumb rendering in QML so that way, if someone extracts the code, there won't be any really useful code there.
Thanks Andre
-
Hi Raul,
I'm not actually a Troll any more, unfortunately. I don't know why that badge remains on my profile, I'll have to ask to have it removed. Regarding the "out of the box" possibility, well, it's entirely possible (eg, through encrypted sections of the bundle, or something, I guess - although I don't know how such a system would work) but I'm personally not aware of any such efforts. But as I said, I'm not a troll any more, and am not involved in those sort of feature discussions at this point in time, so my knowledge or lack of it shouldn't imply that it is or isn't happening, internally in Digia.
Cheers,
Chris.[Troll badge removed, cheers -MariusG]