How secure is the compiled code itself!?

Dear Jakob Krabbe,

You are mistaken by assuming that one person lives in one place.

There are periods I am living in Belgium, on this moment I am in Botswana (Africa). It is perfectly possible that next week I will be in Namibia, or South Africa, Zimbabwe or Moambique. Believe me, my wife runs a very serious business and I am not staying in one place. I go or work for wherever our customers are located as long as they bring us revenue.

Call it a global world. So regretfully your assumptions are wrong.

[quote=156061:@Jakob Krabbe]No… I don’t see such scenario, where people will be offended…

OK. Someone gets your software. He happens to be Belgian and speak Flemish. But you insist he should speak French to have access to updates. I assure you he will be extremely offended. Another one gets your software, is from Quebec and proudly speaks French. You decided that all people in Canada should speak english. I bet you that user will be furious if he cannot get updates unless he speaks English.

Stop looking at the world through your small and maybe culturally homogenous country. The world is a much larger and diverse place.

Precisely because it is a B2B software, people will expect from you a much more professional approach than some haphazard arbitrary linguistic scheme. But hey, if you know better, go ahead and learn …

I live in Taiwan, where I’m very slowly learning the national language (Traditional Chinese), however my Mac is set to US English (even though I’m English). Does this mean that your application wouldn’t work for me, unless I hacked it to bypass this check?

Here’s in lies the dilemma. If your copy protection system is too weak, many people will use your application for FREE (which may not be a bad thing, more on that later). If you make it too complicated, then people will get pissed off and you’ll earn a bad reputation and have to swallow credit card fees when people force a credit card refund through.

You should at all costs avoid alienating paying and loyal customers. One of the reasons we dropped eSellerate was that they refused to allow transactions from certain countries and refused activations in some countries. So we ended up with customers who couldn’t use our products because of the copy protection system we’d chosen.

Piracy will never go away, it has been severely reduced on the Mac since Apple require code signing by default, your casual joe is now a little nervous about running cracked software (and for good reason).

If your app is here for a long run, use some relaxed copy protection to begin with, but make sure that those users get updates. Then keep updating the application and improving the copy protection. This way you may turn some casual pirates into paying customers, especially when they become reliant on your product.

Take a look at MoleBox (Windows only). It will let you encapsulate an EXE and other files into a single file and creates a virtual file system. It is not free but it would add a level of complexity that would for sure be confusing to any hacker.

In “theory” you could write a wrapper for the actual exe file and include the exe file as a block of data. You would then “scramble” the EXE by mixing up the order of the bytes in the file. The wrapper would re-assemble the scrambled EXE back into the correct order and then “call” it like is subroutine.

You could test the wrapper initially by putting the un-scrambled EXE and calling it. Once you perfect that method then do the scramble and un-scramble technique. Of course the scrambler and un-scrambler would have to be obfuscated. I suppose you could also do a true encryption and decryption.

There are other EXE packers. See this link:

There are probably an equal number of articles on the Web how to break each one of these packers. I looked at one for Armadillo and it would be a real challenge.

OK… I wasn’t sure if I shall continue the thread.
However, with this many replies I see a reason. Admin! Please let me know if it’s against any rules of Xojo! I know, there are many!

Let me reply to you in short:

  • All updates are free for anyone.
  • The SW works full with any major OS, no limits. (At least not that I know of, there shouldn’t be any.)
  • Don’t worry about the language and region section. It’s not the problem. The problem is me… I explain bad! :slight_smile:

I don’t want to reveal too much details as I may ending up with too many enemies…! People will eventually get kind of bored… even sue me, I think of this as well, I fear it, but it will NOT be for the issues discussed above. Language and country. (Again, all updates are free, all independent from where you live!)

The SW itself is not very great. There are many other product out there that will do the work much better. It’s not the point. The idea is all about the wrapping, the service. I call it “reverse economy” and if you think outside the box (I hate that expression…) this box is greater than any box you can ever imagine!

To start with, I don’t see any person on this forum or any other tech forum as the potential customer and/or user. The customers/ users are quite limited. The company must have a turnover for at least 1-2 million dollars annual, that leaves out the majority of companies. Also, they must be using a current quality management system such as ISO 9.000 (quality) and/or ISO 14.000 (environment).

For example, subcontractor to the automotive industry. Or any other heavy industry using (heavy) metal, robots and other expensive and efficient equipment / tools. It varies. But the 1-2 million USD (or more) turnover and the ISO certificate is a must.

98% of all Presidents of such company will understand the concept. 90-95% will use it once in place. (Eventually 100%.)
Now, think country (region) and language…

But at the other hand, I don’t know if it will work! There is only one way to find out…! :slight_smile:

Good luck, Jakob,

I surely hope it will work out for you. Just go for it and believe in your project. The rest will follow!

Forum for Xojo Programming Language and IDE. Copyright © 2021 Xojo, Inc.