Making a demo version of our apps.

Get help with using AutoHotkey and its commands and hotkeys
murataygun
Posts: 26
Joined: 07 Aug 2015, 15:53

Making a demo version of our apps.

08 Feb 2019, 05:32

Hello,

Back in days (2000s) Adobe was releasing two version of their app; "Photoshop". One is fully functional key protected version, the other one was a limited functionality "demo" version. The demo version was uncrackable because some parts of code literally does not existed.

So i have a long efforted very specialised app and i want to protect it. Can we make a demo version of our app, downloading compiled code blocks in background and run that functions if certain permissions granted. Allso due to network limitations i cant download exe files directly. :( Maybe some modularity in ahk?

Anyone has experience about protecting their apps. Any thoughts are wellcome.

Thanks.
AHKStudent
Posts: 851
Joined: 05 May 2018, 12:23

Re: Making a demo version of our apps.

08 Feb 2019, 06:00

Once one person buys it they will have what they need on their system that they can share further.

You don't need an exe if the person has AHK, you can use .ahk files.
murataygun
Posts: 26
Joined: 07 Aug 2015, 15:53

Re: Making a demo version of our apps.

08 Feb 2019, 06:42

AHKStudent wrote:
08 Feb 2019, 06:00
Once one person buys it they will have what they need on their system that they can share further.
Yes. Maybe needed code blocks will be downloaded in background and noone would notice it?
User avatar
Thoughtfu1Tux
Posts: 101
Joined: 31 May 2018, 23:26

Re: Making a demo version of our apps.

09 Feb 2019, 15:42

murataygun wrote:
08 Feb 2019, 06:42
AHKStudent wrote:
08 Feb 2019, 06:00
Once one person buys it they will have what they need on their system that they can share further.
Yes. Maybe needed code blocks will be downloaded in background and noone would notice it?
It would be pretty obvious to tell when the code has been downloaded and updated, as the parts of the program that didn’t work before start magically working.

Here’s an idea though:
Obfuscate the code:
https://www.autohotkey.com/boards/viewtopic.php?t=49887

Then add some checks throughout your script:

Code: Select all

If(A_Username != paidusername)  ; add checks throughout your script for the username
    msgbox, this is a paid feature. Please contact morateygun to purchase the full version. 
    Return
And also, you can compile an ahk script to an exe file through the command line on the client’s computer.
You can add a “check for update” button on your script and when that’s clicked, it will check a specific location (maye a shared drive, or the downloads folder) for an updated script, and if it is newer, compile that to an ahk, then overwrite the original script, and then reload the script. Shouldn’t be too hard to accomplish.

You can use the built in variables within autohotkey to get a uer's username/ pc name/ ip address. Etc. Although most everyone used dynamic ip’s so using an IP address and that wouldn’t be a good idea.


Edit, After giving it some further thought, you don't really even need to go through all the work of removing parts of your code. Just obfuscate the code and use the check above to disable specific functions that you don't want used until a person has paid. It would save you a TON of time. And i've seen obfuscated code a couple of times and it is a complete and utter and unreadable mess.
SOTE
Posts: 1020
Joined: 15 Jun 2015, 06:21

Re: Making a demo version of our apps.

10 Feb 2019, 01:19

Seems to me that you would have 2 versions of the program. One would be a limited version, lacking features, but that they can freely download. The advantage of the trial version is there is nothing much to hack/crack. Success in breaking that will get the person nowhere. Though you could have some type of alert code of people using cracking tools, so that their computer and name are put on a ban list. Thus you can refuse them as customers, even if they tried to get a full version. The full version, would of course be for normal paying customers. The full version deletes the trial version, before installing itself.

In order to get the full version, you could have them register their information, which connects them and their computer to a database. Though you could have the registration process start from the trail software, then sent to your website. You might want them to register with the trial software for e-mail list purposes. You could also input something unique into the code of each copy of the full software, that identifies the user. The trial software could help implement this, when downloading the full version. So if they mindlessly copy or try to pirate the software in the future, it will identify which user in your database is doing such.

In addition, each copy of the software could always or periodically check with your database. If there is a mismatch in computer and user information for the computer the program is suppose to be on, it can send you an alert with the violators computer and user information, in addition to doing a self-delete, minus any .ini files (in case of a re-install and user keeps their settings). If implemented properly, there would rarely be an error. But if so, if the user showed they paid and their info matched the database, they can download the software again or you can refund them their money (and put them on the ban list). Such policies should be in the EULA and/or "read me" files. So to use your software, they would have to consent to your terms and policies.

To protect source code, the most viable options are obfuscation or encryption, combined with possibly anti-cracking tools and anti-copying code that will send you alerts when violations occurs and self-delete the program. None of these methods would be 100% because whatever one person can think up, another person can think up some way to get around it. But it could eliminate upwards of 95% of possible violators. You should probably have in your mind, that a few determined or criminal types will eventually or likely crack or pirate your software. Especially if it becomes popular. The point will probably be for you to make sure they are not selling it from any illegal websites, and if they are, contact their ISPs and take actions from that point.

Something to mention, is going the free and donation route. For when a person is not good at customer support, dealing with the day to day business, and doesn't want to battle all the piracy issues. Donations have no set price limit, and you might be able to get decent sized companies to support or donate. It could be possible that the software released as freeware and accepting donations, will make just as much as it's payware version. A lot of factors go into this, but it might be worth thinking about.

Return to “Ask For Help”

Who is online

Users browsing this forum: DonaldKenneth, Google [Bot] and 343 guests