Saints Row: The Third Actual Game Structures

So.. first thank you for actually reading this.
So, now start im very interested in Modding Saints Row: The Third I also saw that LUA thingys but especially that are not my things.
Too come to my question fast, what stops you from actually giving out some Information about the Internal Structures of the Local player as example, I like to mess with the assembly and also did some own work in reversing sr3.
And also something comes in my way, the debugging protection I can't efficently work on the game's assembly but this is not the big thing it's for sure needed.
Like I said I actually reversed some internal structs and to come more quickly to my question mind giving out some Informations on these ?
If something doesnt met your "wishes"/ you dont like that I am digging around the Game Code just say and I'll stop because I respect the work.

These are as example some structs I did recently:
Code:
class CCamera
{
public:
   N0BB35EDF; //0x0000
   float cUnk; //0x0004
   float cScale; //0x0008
   float cUnk; //0x000C
char _0x0010[48];
   float cScaleFactorLeftRight; //0x0040 Zoom / In Out Factor (L/R) - SPRINT TOGGLE ?
char _0x0044[28];
   float cScaleFactorUpDown; //0x0060 Zoom / In Out Factor (U/D) - SPRINT TOGGLE ?
char _0x0064[124];
   float cFov; //0x00E0 (Actual FoV, it's being changed by sprinting and releasing the sprint).

};//Size=0x00E4
Code:
struct CPlayer
{
   char _0x0000[7368];
   float cHealth; //0x1CC8
   char _0x1CCC[48];
   Vector3 cVelocity; //0x1CFC

};//Size=0x1D08
 
Sounds interesting for the curious, but what can you do with that knowledge?

You can do much diffrent things, if you also "bypass" the Debugging Protection.
Without bypassing you can do already much things, as example you can do fly mods.
Modifing the Velocity to give an specific speed boost etc.

If you have also not have the Debug Protection in your way you can change how the Game's work as example you can make this possible.

If you have also more Information how the Game works you can do all sort of things you can Spawn entities you can affect them and much more while you're ingame.

The only bad thing I can imagine you can do with that knowledge is Enabling Content that is removed / partically removed but this is also yet possible (if there is any).
 
Why is there anti-debugging 'protection' in the first place? I know the EXE is encrypted, and I could see it trying to detect a debugger when you first load the game, but after that isn't it already validated as a legal copy? At that point I don't see the need to try to prevent people from using debuggers, especially considering the many legitimate uses (like what 0x_ is referring to.)

If someone figures out how to decrypt the EXE and/or remove the anti-debugging protection, I figure posting the decrypted version here wouldn't be okay, but what about distributing software that decrypts it, so you still have to have the original EXE? What's Volition's take on this?
 
Thanks for answering my question.
As for why or how the encryption and anti-debugging stuff work, I do not know anything. It's using Steam's CEG, so if anti-debugging stuff is built into that, you'd have to talk to Valve about why it's there.

np, about the anti- debugging tbh I partly "patched" it already for me but won't give any instructions of how to remove it because I dont know how Volition will even handle it.
Maybe someone of the Volition Staff has something more to say ;>
 
I'm no lawyer, so I can't really tell you if this is ok. My initial guess is that this isn't ok, but I honestly don't know. I'd love to give you lots of information about the internals of the classes and structs we use, but I couldn't do that until someone from Deep Silver or much higher than me at V said it was ok.

I do know we use steam's CEG and I'm not surprised to hear that they don't like hacking the exe since it could easily lead to a competitive advantage in a multiplayer title. I also see what you are trying to do and it makes me want to help you since I am all for modding and lua scripts only get you so far, but I am unable to do so at this time and I doubt I will be able to do so until we make a ton of money off Freespace 3 and don't care about things or we release the source to the game.
 
I'm no lawyer, so I can't really tell you if this is ok. My initial guess is that this isn't ok, but I honestly don't know. I'd love to give you lots of information about the internals of the classes and structs we use, but I couldn't do that until someone from Deep Silver or much higher than me at V said it was ok.

I do know we use steam's CEG and I'm not surprised to hear that they don't like hacking the exe since it could easily lead to a competitive advantage in a multiplayer title. I also see what you are trying to do and it makes me want to help you since I am all for modding and lua scripts only get you so far, but I am unable to do so at this time and I doubt I will be able to do so until we make a ton of money off Freespace 3 and don't care about things or we release the source to the game.
I don't think a competitive advantage would be a real concern here, as it's co-op only, right? (You are referring to cheating, right?) But they'd probably be able to use traditional mods for that as well.
 
Right, but development of techniques to crack through CEG can affect other games as well.
You don't need to touch anything on Steam CEG nor on the exe itselfs (Just for Debugging for myself) but as example the exposed function's are a good Startpoint to find offset's more easy and so modify Player Data / do Mods.
I did recently a Mod with that technique that Allows you to move your cam freely trough steelport & change the FoV for nice screenshots.

Example Screenshot.:
d11.png

And you can do lot's of more ;d

@[V] Knobby:
Thanks for your Answer I really appreciate it...
But like JokeJujitsu said I dont understand your "since it could easily lead to a competitive advantage in a multiplayer title" argumenation...
 
Back
Top