6

I stumbled upon this answer which says that Steam supposedly produces a unique .exe file (which launches the game) for each user, so they can't be copied over to another Steam user's folder. Is that true?

If so, then...

  • How does such .exe file identify a user?
  • Is there a way to find out which exact user this file was generated for?
  • Is there a way to know if this feature is enabled for a particular game?

Also, I don't suppose this is for Windows only, as we're talking about .exe binary executables, so is this also true for Mac and Linux?

8
  • 1
    I don't think most Steam games tie it to your Steam account, if any. But if they are, they will be using the account's Steam ID, which is public information. (PAYDAY 2 ties its save games to an account this way.)
    – 3ventic
    Commented Dec 24, 2013 at 21:59
  • .exe is Windows only. Macs have .app and if I'm not mistaken Linux doesn't use extensions for binaries. Also, I doubt you could just disable a DRM without hacking the binary.
    – Nolonar
    Commented Dec 24, 2013 at 22:00
  • I took out the "how do you remove it" part, because that would make the question offtopic. Commented Dec 24, 2013 at 22:35
  • Removing the DRM strays into piracy. I agree with the edit, but I'm not sure what utility this question has, since the only use I can think of is for that exact reason.
    – Frank
    Commented Dec 25, 2013 at 6:16
  • How is that a security concern? Knowing who has bought what game is public information.
    – Frank
    Commented Dec 25, 2013 at 19:19

2 Answers 2

8

It depends on the game. There are many DRM free games on Steam, (e.g. Gnomoria and in fact most Games from "Arcen Games" and some Paradox Titles) which will run without launching Steam when copied outside the Steam folder. And many more do not utilize CEG (which means Custom Executable Generation), which is the name of the system you are asking about.

If a game chooses to utilize CEG, then yes, a custom binary is generated for every customer, no matter which operating system you use.

You can find it out if such a binary is protected or not by using a hex editor, however it requires a lot of reverse engineering which is a bit out of the scope of this site.

(And to be honest, I am not a cracker, so I can't really tell you and if I would, it would be very wonky on the legal side of the matter)

How It works

The Steamworks CEG system generates a custom binary for each customer. When you link your application with the Steamworks CEG, we provide you with several tools that you use to generate metadata about your executable file. This metadata is stored on the Steam 3 DRMS Server. When a user installs your game, the DRMS server collects information from the customer's computer that uniquely identifies it. The collected information is used in combination with the metadata regarding your executable file to generate a custom binary, that checks that it is running on the user's computer. If the user changes the configuration of their computer such that the CEG checks would fail to identify the computer, the CEG system will automatically generate a new executable file for the user, and update their game installation. These checks occur whenever your game is run, regardless of whether the computer is connected to the Internet or not. In addition to examining the user's computer, the CEG system will detect tampering with the executable file, and will conceal its workings from reverse engineering

Source(Scroll to bottom)

6
  • DRM-free and CEG-free are two different things. Very few games on Steam use CEG, but many do use some other form of DRM, including other Steam DRM APIs.
    – kotekzot
    Commented Dec 24, 2013 at 22:52
  • Wikipedia has a red link for CEG, so I guess you could add what it stands for. Commented Dec 24, 2013 at 22:57
  • @kotekzot Pointed that out. Commented Dec 25, 2013 at 0:00
  • @user1306322 Editing wise I won't touch Wikipedia with a 10ft pole held by someone else on the other side of the street. Commented Dec 25, 2013 at 0:01
  • I meant you could expand your answer to further explain what CEG acronym stands for (which is, apparently, Custom Executable Generation), not suffer horribly for editing a Wikipedia page, that's for sure. Commented Dec 25, 2013 at 0:02
0

Every game is in the /SteamApps/common folder which means that the .exe file is the same for each user. The settings, saves and screenshots are stored in the /userdata folder.

1
  • 1
    Not every game goes into /common, but 99% do.
    – kotekzot
    Commented Dec 24, 2013 at 22:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .