Is there documentation on locking the application to prevent reverse engineering? Is there a safe way to do this so that the device, once locked, can be unlocked and updated?
Lock the SD?
I don’t know. Is that what it’s called? Locking the SD? Chat GPT is giving me a whole wall of information, and I don’t know.
The Endpoint is not advertised as a secure device.
Can I keep people from copying my compiled code from it?
How much can you lock a Linux machine?
Isn’t there some sort of encryption between the emmc and the CPU? I’m so disappointed ![]()
You could investigate use of a security dongle. That is a device that must be present on the device in order for an application to run.
When starting, the program checks for the dongle, and then extracts the information that is necessary for the application to run. The information could be a key that is used to decrypt the application.
The dongle is secure… to extent anything can be secure…
Of course, your level of paranoia may differ from mine…
Kay, I’ll implement my proper PowerStep01 interface on a Fez Flea and G-Code and other controller stuff on something else.
You can license-lock to a particular MPU, and you can use AOT or obfuscation tools to make reverse-engineering harder, and you can encrypt the code and decrypt-to-run, but I know of no way to completely lock it down.
Even TF/M systems aren’t infallibly locked down - it just changes the effort-required equation. The old adage is still true: If you can touch it, you can own it.
Perhaps I should just open-source everything and not worry about it. It’s only 14 years of work I’m trying to safeguard; no bigge ![]()
I don’t know what you are building, but there are ways to protect intellectual property. You could put the secret stuff into a Sitcore board, and use Endpoint for human interfacing…
