You can create "trial" versions of your software that automatically stop working after a set period. The Hidden Dangers of "Portable Cracks"

While not as secure as bytecode encoding, tools like Yakpro-Po can scramble your code to make it harder to read for free.

It allows you to restrict code to specific IP addresses, domain names, or MAC addresses.