Secure .exe for distribution

For questions about using Classic.

Post » Sun Mar 29, 2009 4:18 am

Welp, I've combed the forums over for something about this, but not finding much.

So, here's a distribution/piracy question.

Let's say I manage to make a game I want to sell. And I want to prevent it from being pirated. How would I go about trying to secure it? I've read up a little on MD5, and such. I know Construct generates a single .exe file. I figure a 3rd party installation program might be needed, but I wanted to see what solution Construct users have come up with (if any).
B
2
G
3
Posts: 18
Reputation: 886

Post » Sun Mar 29, 2009 8:04 am

If it is worth pirating, it will be pirated. No protection will prevent that, sadly, short of the most extreme and draconian protection schemes.
B
62
S
21
G
12
Posts: 1,910
Reputation: 13,155

Post » Sun Mar 29, 2009 10:39 am

What exactly are you trying to protect?

I'd suggest that although you could add things like online verification or even an online check every time the user opens the program, even these could be engineered out the .exe by someone who wants to pirate it enough.
B
3
S
2
G
5
Posts: 1,777
Reputation: 5,529

Post » Sun Mar 29, 2009 3:24 pm

'If it is worth pirating, it will be pirated. No protection will prevent that, sadly, short of the most extreme and draconian protection schemes.'

'I'd suggest that although you could add things like online verification or even an online check every time the user opens the program, even these could be engineered out the .exe by someone who wants to pirate it enough.'


Hackable? Very, if you put in even modest effort. But that's the point. Most users are lazy and won't, but ALOT of users can and will try to copy via usb stick to a friend, etc. I'm not worried about chinese hackers that can crack Vista or XP here (I could only be so lucky!). We're aiming much further down the piracy tree.

For the average everyday buyer there has to be BASIC protection to prevent simple piracy. Not very complicated, not even online verification. Enter a serial number 1 time emailed with your purchase, you play the game on that machine. Off hand, I think a basic example might use a hidden MD5 hash protecting the exe. But how to implement that? or something like that?
B
2
G
3
Posts: 18
Reputation: 886

Post » Sun Mar 29, 2009 4:45 pm

I guess your installer/game could set a registry key - using the registry object - or create an ini/file based on a code the user has to enter. This could be combined with some system information using the system information object to create a 'unique' string to the user and PC, which could be hased using the MD5 object - a 3rd party plugin in the upload forum.

It's not particularly secure or hack-proof, but it's the basics which some as you say, will stop a lot of people.
B
3
S
2
G
5
Posts: 1,777
Reputation: 5,529

Post » Sun Mar 29, 2009 4:51 pm

Well, you've literally asked the million dollar question. If you find a good solution, let the big distributors know too, because they still haven't figured it out yet either. :P

I think the most robust way is to verify your application over the internet. However, this will inevitably cause problems for legitimate users, who have firewalls, have offline laptops and computers, you might have server outages, and so on. Ironically the pirates who crack your program have a much easier time without any of that hassle, so this kind of system probably ends up pressuring legit users to pirate the software to avoid the DRM hassle.

Personally, I'd be inclined just to release it totally unprotected. Legit users get zero hassle. Anyone can pirate it of course, but in a world where people make it their hobby to routinely find software, crack it, and release it for free, are you really losing out that much?

If your EXE is an indie game or similar, the fact someone can trivially send their game to their friend might actually work to your advantage. Word will spread and you may get more sales that way.

In short, the secure distribution thing is a myth. Nobody has done it well before. It's effectively impossible, so I'd be inclined to go to the opposite extreme.
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,600

Post » Sun Mar 29, 2009 6:02 pm

Piracy is a big problem and it hits indies especially hard (Seriously, copying a game that costs as much as a Pizza is just fucked up).

I think the safest way at the moment would be to target locked platforms like PSN, WiiWare, XBLA, AppStore, etc. - set a lower price point and make your bet on many, many people buying it if it's actually any good.

Releasing the game just like that without any protection if you've worked for months on it is not a very smart idea. If people can copy it easily, they will. If they can't, they won't. DRM is a lot of shit, really and it's definitely not the answer - but if you invest a lot into making sure that your creation is great, it's natural that you want people not to steal it.
B
6
S
2
G
3
Posts: 520
Reputation: 2,690

Post » Sun Mar 29, 2009 6:40 pm

mmm i believe strongly in the argument that anti-piracy measures affect legitimate customers more than those who acquire software illegitimately. whereby protection is more or less non-existent to the illegitimate end-user, the only ones who end up having to deal with the hurdles of anti-piracy measures are those who actually purchase software by legal means.

as mentioned about worthiness of piracy, pirated versions will present little to no anti-piracy hurdle whatsoever resulting in a product probably of better quality than the original even if it is only due to a lack of an annoying anti-piracy measure.

adding to thomasmahler's list of distribution mediums, i think steam might be a good point of distribution.
B
2
S
2
G
5
Posts: 293
Reputation: 2,236

Post » Sun Mar 29, 2009 8:32 pm

DRM is a waste of time and energy. If your game is good, people will buy it. Enough people, anyway, that you will still come out ahead. The chances that you will get "indie rich" are slim... but if you play your cards right you can do okay.

The best way to get paid, I think, is to get out there in the indie community and make yourself known. Get to know people. Make friends, and contacts. Then show off your work. It's easier to get buzz going by word of mouth on the internet than any other way... ads don't work, and shameless self-promotion doesn't work (aka Bob's Game). The more people who respect your work, the more likely they will be to say "this guy deserves my money."

That is, if you want to make the kinds of games you like... you could of course just whore yourself out to the iPhone or Popcap crowd and make soulless casual games, they have plenty of money to throw away :P
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Post » Sun Mar 29, 2009 9:01 pm

The way I see it is if some one actaul pirates your game they think its worth their time and effort to give it away to people for free. So if anything it will get your name out there.
B
5
S
2
G
4
Posts: 632
Reputation: 2,829

Next

Return to Help & Support using Construct Classic

Who is online

Users browsing this forum: No registered users and 5 guests