WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Compiler
plus
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Exe Crack Protection

Keywords: crack decompile decode decrypt encrypt encrypted

Question:

I was wondering if there is any kind of encryption available when compiling a Winbatch script to prevent cracking or piracy.

Answer:

Check out the various threads that you can search for here on the WinBatch Tech Support Forum regarding decompilation of compiled scripts for the purpose of recovering lost source code files. In a nutshell, it isn't gonna happen unless you're willing to spend a lot of time & money making it happen. Even most of the of the moderately unreformed hackers aren't decompiling WinBatch scripts.

The tokenization process tht converts a WBT file into a WBC file turns the contents into something that isn't human readable and which in and of itself is difficult if not impossible to make sense of w/o knowing the internals of the WIL interpreter. There is an encryption option that can be used for creating WBC files. When you compile a script into a .EXE file, there is a stub EXE program that gets the equivalent of a WBC file appended on to the end of it.

With any ordinary C-language EXE or DLL file, you'd simply attack it with the debugger and step through the code examining the instructions that it executes and the API function calls that it makes to figure out what is going on. Taking the same approach with a compiled script won't net you much in the way of results as you'd only be observing the WIL interpreter itself as it executes WIL statements in your compiled script. That doesn't get you the contents of the script itself and thus it would be extremely time consuming to attempt to hack the compiled script with a debugger to reverse engineer it.

Now, beyond the issues of ensuring that the WIL source code is sufficiently encoded / encrypted / obfuscated to make it irretrievable from a compiled script, there's still the issue of protecting the EXE file itself from being pirated, distributed & used in violation of any license terms you may ave established for the use of that compiled script. At that point, you're getting into the realm of software product license enforcement, product activation, etc.... That's a major can of worms to open in my professional opinion. The price and useful functionality of your software will in a lot of cases dictate the degree of desirability in pirating your software product. If the price is high and the # of licenses sold are few then piracy is more likely to happen. No software-based license enforcement technique is flawless and they can usually be circumvented by a dedicated enough hacker. Hardware dongles are probably the most secure license enforcement method as long as the software method used to access the dongle cannot itself be easily circumvented.

At this time, most of the software product licensing & activation methods simply involve making use of hashed values obtained by hashing local computer information with proprietary information and then comparing hash values at run time. Mix in some public key cryptography, too, and you'll have a license enforcement technique that is sufficient to deter the casual software pirate & hacker.


Article ID:   W16392
File Created: 2013:06:19:14:27:02
Last Updated: 2013:06:19:14:27:02