INI Protection with CRC32

Post your own tutorials, guides and demos.

Post » Sun Aug 30, 2009 10:16 pm

Just an example of how to use CRC32 to hash an ini file storing highscores, protecting it from easy editing via a text editor. It isn't completely hacker proof but at least you'll make them work for their 100 lives. :D

It is commented as best i can for new users like myself. Also includes info on reading and writing INI files.

http://dl.getdropbox.com/u/1646976/INI%20Protection.rar

Might not be the prettiest event sheets but it seems to work OK. Don't forget to unzip and have the hash.ini and info.ini in the same folder as the .cap file.
B
46
S
23
G
7
Posts: 459
Reputation: 6,763

Post » Mon Aug 31, 2009 2:53 pm

Minor, maybe, protection is good, but I can't understand the logic of your game. Move to...where? Doing... what? And also this:

I can't find any options, that should be cra...checked. :wink: My "hero" can move forward, can move back... What should that "hero" do?

P.S. by the way, jumps are really look nice, I like it. :D
B
2
S
1
G
3
Posts: 102
Reputation: 1,304

Post » Mon Aug 31, 2009 9:01 pm

The game isn't really a game. It was just an interactive way of collecting some variables that I could write to the ini.file, I could have just randomly selected them but thought this method might help newer users in Construct.

I have no idea what the error is there should only be 3 files - the cap file and the 2 ini files.

Thanks.
B
46
S
23
G
7
Posts: 459
Reputation: 6,763

Post » Tue Sep 01, 2009 12:53 am

Nice example (and well commented) of checking the hash on the INI file. I'm sure this will help lots of Construct users. :)
B
8
S
3
G
7
Posts: 835
Reputation: 5,313

Post » Tue Sep 01, 2009 12:22 pm

[quote="Minor":iif1xhzb]The game isn't really a game. [/quote:iif1xhzb]
Would you mind coding a real game example? Even very simple. Well, I can't order, so suppose to see this in future.

[quote="Minor":iif1xhzb]I have no idea what the error is there should only be 3 files - the cap file and the 2 ini files.[/quote:iif1xhzb]
Yes, three files, but during compilation Construct showed error, then I selected relevant .ini file...and everything was OK. Not think, it's my fault.
B
2
S
1
G
3
Posts: 102
Reputation: 1,304

Post » Tue Sep 01, 2009 10:40 pm

I believe this is a pretty nice example. Although many people have some software installed, which gives any hash value by just rightclicking a file and going to properties. Still it's better than no protection at all I guess. :)

I know how it's supposed to work, but when I made a build, I could change the values like I wanted and it always said "hash values are a match". That was kind of confusing. But then I looked at your cap and I realized the way you set it up it would just change all values to 0 and recheck then. So you always get the positive message... a bit confusing as I said.
B
21
S
6
G
10
Posts: 1,024
Reputation: 7,445

Post » Wed Sep 02, 2009 10:43 am

[quote="PixelRebirth":2i7rkqbu]I believe this is a pretty nice example. Although many people have some software installed, which gives any hash value by just rightclicking a file and going to properties. Still it's better than no protection at all I guess. :)

I know how it's supposed to work, but when I made a build, I could change the values like I wanted and it always said "hash values are a match". That was kind of confusing. But then I looked at your cap and I realized the way you set it up it would just change all values to 0 and recheck then. So you always get the positive message... a bit confusing as I said.[/quote:2i7rkqbu]

Yeah you'll always get a positive match because the ini is changed behind you back, I did have it tell you that the ini had been modified but I kept getting funny results (still kinda new with construct).

Thanks everyone for the feedback.
B
46
S
23
G
7
Posts: 459
Reputation: 6,763

Post » Tue Sep 08, 2009 11:46 am

it's very hard to read text since its nearly all in caps...
B
134
S
65
G
16
Posts: 1,766
Reputation: 19,190

Post » Fri Sep 18, 2009 7:18 am

[quote="Minor":2z1q53dq][quote="PixelRebirth":2z1q53dq]I believe this is a pretty nice example. Although many people have some software installed, which gives any hash value by just rightclicking a file and going to properties. Still it's better than no protection at all I guess. :)

I know how it's supposed to work, but when I made a build, I could change the values like I wanted and it always said "hash values are a match". That was kind of confusing. But then I looked at your cap and I realized the way you set it up it would just change all values to 0 and recheck then. So you always get the positive message... a bit confusing as I said.[/quote:2z1q53dq]

Yeah you'll always get a positive match because the ini is changed behind you back, I did have it tell you that the ini had been modified but I kept getting funny results (still kinda new with construct).

Thanks everyone for the feedback.[/quote:2z1q53dq]
You could try hash your again with some random stuff with it so it would be allmost impossible to read it if you dont know what there is in.
B
27
S
3
G
5
Posts: 172
Reputation: 3,628

Post » Fri Sep 18, 2009 12:16 pm

[quote="Minor":2v2m5rnj] It isn't completely hacker proof but at least you'll make them work for their 100 lives. :D
[/quote:2v2m5rnj]

Minor, excellent protection is not the first aim in game development. Let me write some statistics (only as the example):

Sony Vegas was protected with Base32 + Custom + ECDSA-113/ECC-89 -- WAS KEYGENNED by DI team
vTask Studio was protected with online check -- WAS KEYGENNED by TSRh team
HDDlife Pro was protected with nanomites -- WAS CRACKED by ...don't remember
Malwarebytes Antimalware was protected with hash and blacklisting -- WAS KEYGENNED by CRD team
Runtime Revolution Studio was protected with serial number in Virtual Machine -- WAS KEYGENNED by EDGE team
Multi Password Recovery was protected with Themida (the strongest protector!) -- WAS CRACKED by Ismail
Macro Mania was protected with registry key ckecking -- WAS CRACKED by CHiCNCREAM team

What does it mean? Almost any good game will be cracked. If not by keygenning, then by patching. If not by patching, then by loader. If not by loader, then by ... leaching. It's possible to buy a license to learn a protection scheme. Voil!

Code a nice game - and I (or somebody else) will buy it. People don't buy protections, they buy emotions, feelings...etc.

and...price should be reasonably low. :D
B
2
S
1
G
3
Posts: 102
Reputation: 1,304

Next

Return to Your tutorials & example files

Who is online

Users browsing this forum: No registered users and 0 guests

cron