• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Kyl3

Protect my game from Memory editing

7 posts in this topic

What are the best methods to protect my game against memory issues coming from other executables?
 
Anyone know some tips? My team did a pretty simple game, but it was however quite vulnerable to attack by hackers, and I wonder how I could detect changes primarily by WriteProcessMemory.
 
 
Thank you in advance.
0

Share this post


Link to post
Share on other sites

and a fourth scenario:

 

a single player game that gets cracked and the full version is posted on the web for free. been there, done that.

 

i'm in the business of selling key cd's, not games.

 

i use a combo of  key CD DRM, encryption of the exe by a VM, and obfustication of the source code. so when they load up the game in a debugger, they see the implementation of a VM for an imaginary computer. that VM loads and runs a decryption program written in its own proprietary instruction set, which decrypts and runs the actual game exe. needless to say, they can still look at the exe in ram, thus the obfustication. I did a fair mount of research on the available methods. i'll post my findings in my developer's journal here.

 

basically, you need to identify what kind of tampering you need to prevent, this will determine the best "protection methods". "delay tactics" may be a more accurate term though, as any cracker with sufficient time, tools, skills, and DETERMINATION can crack any game. the key is to make it not worth their time. this depends on who they are and why they're trying to crack it. end users will attempt to cheat hack the game, and will attempt to make illegal copies to distribute their friends for free. pro-crackers will attempt to crack the game for bragging rights on the world wide web. the more popular the  game, the greater the glory. 

Edited by Norman Barrows
1

Share this post


Link to post
Share on other sites

Spend several thousand dollars on crack evasion. This serves to further improve the notoriety of the cracker that breaks through your method the day after release.

 

Running a debugger on a VM, any basement dwelling mad scientist can and will break through all barriers presented to them. The higher you make the fence, the more kicks they get while digging under it.

0

Share this post


Link to post
Share on other sites

I get trying to implement DRM of some sort, but if the goal is anti-cheating, why bother? If the game is not multiplayer, who cares how the player plays? It will be a great deal of time, energy and money wasted.

0

Share this post


Link to post
Share on other sites


Consider they could be running your game in a special VM to have even more control over it, perhaps bypassing the operating system completely.

 

@Kyl3: This is not at all unusual. One of the most famous cheat tools can be ran as, basically, friendly rootkits on your own machine to keep the cheat tool from even showing up in the list of running processes and is, if ran in that mode, almost impossible to detect. This cheat tool is widespread and very popular. Not everyone runs it in that rootkit mode, but when they do, I don't think there's anything you can do about it.

 

Another cheat method is, for online games, setting up a network node (either physical or virtual) between the game client and server, and reading and modifying values in the packets on the fly. The very advanced ones remember the previous packets and built a virtual imitation of a surprising amount of the knowledge the server has to display things like player positions on the map, or the amount of health a certain boss has, or where, statistically, the best places for certain items are. This information is even crowdsourced and used to dump the stats of enemies and the probability chances of drops on wikis and things like that.

 

Don't lose too much sleep over it, and instead cater to those who pay you. If a paying customer wants to cheat, and it doesn't affect the other paying customers, let him! He might even have a good reason for doing so (his save file getting corrupted or something, so he's trying to return to where he was).

 

[Edit:] But one trick is to only use the sensitive memory locations for a mere fraction of a second, and then wipe them clean.

 

Another trick (in theory) might be to, if the player knows they are looking for value "230" because their health is that amount, always get and set that value with a bitshift or a ^= scramble with a magic value (XORing with a known value can be undone by XORing with the same value), so they can't Ctrl+F the values. This won't stop people, but it's a tiny trick to just make it slightly more annoying and require slightly more technical knowledge. It might hinder script kiddies with a memory editor until someone intelligent releases a custom-made tool for your game.

Edited by Servant of the Lord
1

Share this post


Link to post
Share on other sites


If a paying customer wants to cheat, and it doesn't affect the other paying customers, let him!

 

in fact, help him/her. include an editor. just say something like "use of the built-in editor is technically considered cheating, and is not officially supported". 

 

i plan to include the game editor, limb-based model and animation editors, and the play testing "cheats" in the release version of my current project.

 

as long as it doesn't hurt anyone (like you financially, or other users' game experience) its a feature, not a problem.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0