I have created a simple tool for turning a single Love source file into portable bytecode.
Details on how to use it are in lovecompiler_readme.txt.
This is not the compiler's final form, and will evolve based on your requests. So if you have any suggestions, fire away!
Enjoy!
- TheMayoMurderer
[Utility] Love Compiler
-
- Prole
- Posts: 3
- Joined: Sat Nov 15, 2014 3:08 pm
[Utility] Love Compiler
- Attachments
-
- LoveCompiler.zip
- Here it is. Extract it and read lovecompiler_readme.txt for instructions.
- (2.9 MiB) Downloaded 514 times
Last edited by TheMayoMurderer on Tue Feb 03, 2015 5:21 pm, edited 1 time in total.
Re: [Utility] Love Compiler
I compiled an asteroids demo I had lying around - no idea whose it is, sorry author - and it worked like a charm.
So is this the be-all-and-end-all of source code obfuscation? Can we commercialise our games now?
So is this the be-all-and-end-all of source code obfuscation? Can we commercialise our games now?
-
- Prole
- Posts: 3
- Joined: Sat Nov 15, 2014 3:08 pm
Re: [Utility] Love Compiler
I'm glad it worked well for youlost_RD wrote:I compiled an asteroids demo I had lying around - no idea whose it is, sorry author - and it worked like a charm.
So is this the be-all-and-end-all of source code obfuscation? Can we commercialise our games now?
This isn't the compiler in its final form, and I have many more features planned - support for multiple source files, a GUI, etc.
If there's anything you'd like to see in Love Compiler, please either comment here or message me, and I'll see what I can do
Re: [Utility] Love Compiler
Of course, I agree that all is good and worth doing, what I'm asking is whether the problem of obfuscating an interpreted game is solved as much as it can be? Will our source codes ever be more safe than the output in your compiler? Could somebody reverse your process?TheMayoMurderer wrote:This isn't the compiler in its final form, and I have many more features planned - support for multiple source files, a GUI, etc.
-
- Prole
- Posts: 3
- Joined: Sat Nov 15, 2014 3:08 pm
Re: [Utility] Love Compiler
My compiler uses LuaJIT's string.dump() extension, which converts a function's procedure (the code inside the function) to portable bytecode. The bytecode can then be run directly as a procedure, or loaded back into a function. My knowledge goes pretty much as far as that when it comes to compilation and bytecode.Of course, I agree that all is good and worth doing, what I'm asking is whether the problem of obfuscating an interpreted game is solved as much as it can be? Will our source codes ever be more safe than the output in your compiler? Could somebody reverse your process?
I'm sure - as with any bytecode - there's a way to reverse-engineer it. It's not impossible that someone would be able to access it. Think of it this way; the license is a friendly sign saying "please don't enter my garden". It's more legal obligation than an active barrier. Compiling your code to bytecode is the razor wire fence; it's something that actively stands in the way of someone doing something you don't want them to do.
It's still possible to climb over the razor wire fence. I imagine anyone with a high enough ladder could do it. What it does is make it difficult to climb over, so that fewer people will try, and fewer yet will be successful.
TL;DR: bytecode can be reverse-engineered. However, whereas a license says "don't do this", compiling the source to bytecode actively stands in their way.
Re: [Utility] Love Compiler
Very nice. As someone who gets very self conscious about his code, I'm looking forward to seeing more from this.
- Robin
- The Omniscient
- Posts: 6506
- Joined: Fri Feb 20, 2009 4:29 pm
- Location: The Netherlands
- Contact:
Re: [Utility] Love Compiler
You already could, and some already have.lost_RD wrote:Can we commercialise our games now?
Your source code is not the most important asset of the game.
Help us help you: attach a .love.
- josefnpat
- Inner party member
- Posts: 955
- Joined: Wed Oct 05, 2011 1:36 am
- Location: your basement
- Contact:
Re: [Utility] Love Compiler
Missing Sentinel Software | Twitter
FORCIBLY IGNORED.
<leafo> when in doubt delete all of your code
<bartbes> git rm -r *
<bartbes> git commit -m "Fixed all bugs"
<bartbes> git push
FORCIBLY IGNORED.
<leafo> when in doubt delete all of your code
<bartbes> git rm -r *
<bartbes> git commit -m "Fixed all bugs"
<bartbes> git push
Re: [Utility] Love Compiler
I don't get why people are so scared of the source code being accessible. It's not like something being closed-source is any harder to pirate. What exactly do you think people are going to do with the code?
The one legitimate reason I could see to worry would be with a multiplayer game, you might not want the source code to be very accessible because it'd be easy for people to cheat. But if you're that worried about it, there should probably be other anti-cheating mechanisms in place, like many multiplayer open source (and closed source) games have.
As a side note, Minecraft is apparently pretty easy to decompile to source (it's how a lot of the more in-depth mods were/are made), and it doesn't seem to have prevented them from making millions of dollars.
The one legitimate reason I could see to worry would be with a multiplayer game, you might not want the source code to be very accessible because it'd be easy for people to cheat. But if you're that worried about it, there should probably be other anti-cheating mechanisms in place, like many multiplayer open source (and closed source) games have.
As a side note, Minecraft is apparently pretty easy to decompile to source (it's how a lot of the more in-depth mods were/are made), and it doesn't seem to have prevented them from making millions of dollars.
Possession - Escape from the Nether Regions, my roguelike made in LÖVE for the 2013 7-Day Roguelike Challenge
And its sequel, simply called Possession , which is available on itch.io or Steam, and whose engine I've open-sourced!
And its sequel, simply called Possession , which is available on itch.io or Steam, and whose engine I've open-sourced!
- NightKawata
- Party member
- Posts: 294
- Joined: Tue Jan 01, 2013 9:18 pm
- Location: Cyberspace, Room 6502
- Contact:
Re: [Utility] Love Compiler
Considering that helps Minecraft more than hurt it.Rickton wrote:I don't get why people are so scared of the source code being accessible. It's not like something being closed-source is any harder to pirate. What exactly do you think people are going to do with the code?
The one legitimate reason I could see to worry would be with a multiplayer game, you might not want the source code to be very accessible because it'd be easy for people to cheat. But if you're that worried about it, there should probably be other anti-cheating mechanisms in place, like many multiplayer open source (and closed source) games have.
As a side note, Minecraft is apparently pretty easy to decompile to source (it's how a lot of the more in-depth mods were/are made), and it doesn't seem to have prevented them from making millions of dollars.
Personally, I think you're kind of beating a dead horse with bytecode compilation, but I can see why people would want to do it. If it makes you feel safer, feel free.
Moreover licensing is what protects your game.
Think of it this way. If someone wants to break your game, they will break your game. That's just how it is.
For multiplayer and the like, server-side protection is indeed a thing, so are anti-cheat detections.
On a more relevant note: Kudos for the author for creating this. Definitely a tool people could use if they wanna try bytecode compilation.
"I view Python for game usage about the same as going fishing with a stick of dynamite. It will do the job but it's big, noisy, you'll probably get soaking wet and you've still got to get the damn fish out of the water." -taylor
Who is online
Users browsing this forum: No registered users and 4 guests