Greetings,
Specific to your second part: how can you guarantee a program you make cannot be resold/distributed: The easy way to guarantee is to manage your products like Ubisoft manages their videogames: require an internet connection to your server, and you can pull the plug from whoever, whenever you want (e.g.,
https://www.pcgamesn.com/the-crew/ross-scott-campaign). The side affect is that you will not get trust in your consumer base, but if your tools are good enough: you will still see business. Maybe.
I am not a fan of requiring an internet connection unless an internet connection is actually needed though. You may be better served to build your consumer base first before you try to maximize your control over the users.
Regardless, as a first step, you should enter into an EULA with the users before they get to use your tools, such that the users are made aware of the restrictions. Again, you do not want to maximize your control over the users; the users need to be given rights else it will be hard for them to use the program honestly.
May this be of Good Help;
⚜ Kenny Lemens, P.E. ᵂᴵ
"No matter where you go, there you are." -Buckaroo BanzaiHotkeys: https://en.smath.com/forum/resource.ashx?a=45771&b=2