Minor's Recent Forum Activity

  • Not very ambitous but made more for learning reasons.

    <img src="http://i19.photobucket.com/albums/b170/mr_flibble_hhah/fleeced-4.png">

    Subscribe to Construct videos now

    Game features stat tracking, NO sound, crap graphics and 6 XBOX360 type achievements.

  • You are spending a lot of energy on the INI protection. Sure, it grants you invaluable experience, but shouldn't you be focusing on the main project at hand?

    Simple solutions oft prove to be the best. In this case, you can opt to save the INI file with no extension or obfuscated extension (not .txt nor .ini), by doing so you will stop about 80% of players from editing the file. MD5 hashing and such would only stop like 15% of the remaining 20%.

    The 5% will find a way to hack into it in any case - most likely by editing values in memory.

    In the future, as our projects get more serious, we'll want serious protection as well. By then, we'd have a need for encryption of some kind - scrambling the text and using a certain key to decode the content. Perhaps a plugin could be developed for that purpose, who knows?

    Just my two (broken) cents.

    Thanks Mipey.

    I agree with all you said. The ini protection was just a side project and to gain experience in construct and ini files that I had never used before.

    For my game I'll keep the CRC32 hash and as a few others have mentioned rename the file extension. I've also kept the ini itself a bit ambiguous - items are simply numbers and I have a list to match up my variable to the ini item, if you open the ini in notepad there is isn't a nice line of text saying "LIVES" edit here.

    Thanks again.

  • 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.

    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.

  • Thanks for the suggestions.

    I was thinking of renaming the file extension something different than ini but hadn't got round to trying it yet.

    Also making the hash look different than what it is ie hiding it in a longer "fake" hash sounds good as well.

    I'll play around with the ideas.

    Thanks guys.

  • 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.

  • 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.

    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.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Well so it isn't hacker proof but at least some one is going to have to try a lot harder to hack any values.

    And nearly every commercial has been hacked/cracked so if proffesional studios can't be hacker safe I feel a bit better.

    Thanks for the info Yaraslau.

  • There is some awesome stuff going on here!

    Here's what i'm working on.

    <img src="http://i19.photobucket.com/albums/b170/mr_flibble_hhah/fleeced-4.png">

    <img src="http://i19.photobucket.com/albums/b170/mr_flibble_hhah/fleeced-3.png">

    <img src="http://i19.photobucket.com/albums/b170/mr_flibble_hhah/fleeced-2.png">

    <img src="http://i19.photobucket.com/albums/b170/mr_flibble_hhah/fleeced-1.png">

    <img src="http://i19.photobucket.com/albums/b170/mr_flibble_hhah/fleeced-5.png">

    Just a simple one button game where the world rotates and you have to jump the fences. I usually pick something too complicated to start with and get annoyed when I can't do what I want to do, so this time I'm starting small. Finished game will hopefully have achievements and stat tracking.

  • every time you save a file, save a hash of the file too (with crc32). Then when loading, make sure the hash equals the file.

    Thats exactly what I was going to do .

    At the end of the game it'll write the new info in the crc32.ini then rehash and save the hash in the hash.ini and recheck at the start of the first layout of the game. If they don't match I'll reset all the info to default.

    I did have one DUH! moment when playing about with this, I stored the hash of the crc32.ini in the crc32.ini and kept wondering why the hashes never matched.

  • Hello all.

    I've been making a simple little game to learn more about construct (usually I bite off more than I can chew, give up and never come back to a program again).

    Now the basics are done I've been thinking of stuff to add to add replay value, better my construct knowledge and turn the small simple game into something bigger but still simple.

    I had two nice ideas stat tracking & achievments. To track these I was going to use INI file(s) but these are simple to hack with a text editor, so I need to protect my files from naughty hackers.

    This is what I came up with. It's pretty simple (and probably sloppily made) but seems to work great. When it gets a match between the stored hash it gives one message, if the hash isn't a match it gives a different message. In my game i intent to make it so if the hashes don't match it will simply reset all the stats & values to the default ones.

    http://dl.getdropbox.com/u/1646976/inicrc32.zip

    Oh and make sure all the files are unzipped to the same folder or else it won't work

    Can anyone help me improve upon it? Or have any suggestions?

  • The timer event will only run for one frame when it goes off, so you'd have to release Z at the exact moment the timer went off for this to work properly.

    Ah ok thanks. Should be easy to work around this.

    Thank you.

  • Very cool game. I saw only one problem - it's veeeeery hard.

    Agreed! Nice idea and well implemented.

Minor's avatar

Minor

Member since 24 Jul, 2009

None one is following Minor yet!

Connect with Minor

Trophy Case

  • 15-Year Club

Progress

15/44
How to earn trophies