Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
  • 0
joserobjr

How to protect the source code?

Question

I'm writing an advanced mining robot on a server that I play and I want to sell it to other players, I've been working on it many hours in 2 weeks so I really want to receive a reward for it on the server. I'll be selling robots ready to go and dedicated for my software, I'm planning to release the source code in future but until there I don't want to see pirated floppy disks being sold cheaper :P

 

I thought about fleshing an EEPROM or running it directly on init.lua (I don't really need the OpenOS to execute the software, it's independent) but other players could easily steal the EEPROM on a crafting grid or could steal the HD using an disassembler.

 

What can I do? Any Idea?

 

 

--- Edit:

I've got an idea!

I can use a mix of EEPROM with obfuscated code, a HD in unmanaged mode with fragmented data and obfuscated codes and component ID checks. So the EEPROM won't work without that specific HD and the code won't be readable by humans, the HD won't work without the EEPROM, each EEPROM and HD pairs will be unique and linked to each other, the scripts will require original components (HDs, GPU, wireless, etc) to run. I think that will be enough to protect the original source but I'm still open for ideas :P

Edited by joserobjr
Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Depending on the size of the code, it can ensure using components, that it is run on the same HDD and Turtle that it was originally made for via component addresses. Also to prevent it from being read, obfuscating works, but also does string.dump() which is human unreadable and basically uneditable without destroying the code.

 

If the code is small, EEPROM based coding could work but it must be under 4KiB

Link to post
Share on other sites
  • 0

Ah I should have read the fine print, disabled by default. Yeah I guess obfuscating is the best way you can do it. I would probably also asymmetrically encrypt the hardware IDs if you can manage that.

Link to post
Share on other sites
  • 0

First things first, I assume you're selling it for in-game currency and not real money?

With that said, you could do some form of Software as a Service thing in-game - all the robots are actually dumb slaves and the logic is handled by a master server.

But the easiest solution is to use the robot's component address as an encraption key.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.