A few question on this wonderfull engine
by Yoni · in General Discussion · 07/30/2011 (8:15 pm) · 4 replies
Hello, I have a few question on Torque3D Pro.
1) I am a reverse engineer and i have hacked in multiple online games; So i see two weakness on this engine.
a. The script engine, allow an hacker to dump all the class variables and expose their offsets.
b. I haven't learned enough about the engine yet but so far as what i see, you cannot compile the scripts in byte code? That means everybody can see your code when you release your game or am i wrong?
2) The World and GUI editors, how can i disable them after i release the game?
3) Is it possible to remove the script engine from Torque 3D Pro or does the engine relies on it? If yes, is there any documentation about it?
Thank you.
1) I am a reverse engineer and i have hacked in multiple online games; So i see two weakness on this engine.
a. The script engine, allow an hacker to dump all the class variables and expose their offsets.
b. I haven't learned enough about the engine yet but so far as what i see, you cannot compile the scripts in byte code? That means everybody can see your code when you release your game or am i wrong?
2) The World and GUI editors, how can i disable them after i release the game?
3) Is it possible to remove the script engine from Torque 3D Pro or does the engine relies on it? If yes, is there any documentation about it?
Thank you.
About the author
#2
If a reverse engineer have a good knowledge base on torque engine, it should pretty easy for him to dump all the class variables name and offset without using any engine function but by rewriting it manually. (I've done it on Unreal Engine 2/3).
So now i have another question; Are there any documentation on how to code the game natively (C++ in the engine) and not using torque script? This approach could be more secure and also performance boosting.
If not, i would like to know more about the DSO files option.
Thank you for your time Michael.
07/30/2011 (10:12 pm)
I have undefined "#define TORQUE_NO_DSO_GENERATION" and fully recompiled, however, after i use the "Package Project" as ZIP, i still see the script files (*.cs) in the output ZIP package.If a reverse engineer have a good knowledge base on torque engine, it should pretty easy for him to dump all the class variables name and offset without using any engine function but by rewriting it manually. (I've done it on Unreal Engine 2/3).
So now i have another question; Are there any documentation on how to code the game natively (C++ in the engine) and not using torque script? This approach could be more secure and also performance boosting.
If not, i would like to know more about the DSO files option.
Thank you for your time Michael.
#3
This is a default project with no changes other than commenting the "#define TORQUE_NO_DSO_GENERATION".
With "#define TORQUE_NO_DSO_GENERATION", it works fine.
Other than that, i would still like to know if its possible to code a game natively in the engine and if yes, are there any books to buy or any documentation online?
Thank you.
07/30/2011 (11:49 pm)
After doing a few more tests, i realized that after i undefined "TORQUE_NO_DSO_GENERATION" and recompiled, i ran the game and it generated the *.dso files at runtime, however, i chose a level and it got stucked at the loading screen at "Starting Mission".This is a default project with no changes other than commenting the "#define TORQUE_NO_DSO_GENERATION".
With "#define TORQUE_NO_DSO_GENERATION", it works fine.
Other than that, i would still like to know if its possible to code a game natively in the engine and if yes, are there any books to buy or any documentation online?
Thank you.
#4
07/31/2011 (11:31 am)
Quote:Possible, yes, although it can be tedious recompiling every time you need to change an aspect of gameplay. I am not aware of any documentation or books that approach Torque as a pure C++ exercise - you're own programming skills would have to fill the void.
Other than that, i would still like to know if its possible to code a game natively in the engine and if yes, are there any books to buy or any documentation online?
Associate Michael Hall
Distracted...
1b) DSO files. Automatic generation of them is turned off by default, but can easily be toggled on by changing a define in torqueConfig.h. Alternatively you can run the compileScripts() methods found in main.cs or start the game with a command line parameter that sets the compile script flag to true.
2) Remove the tools mod and/or keybinds.
3) Possible, yes. Documentation/Resources that show how to remove, no. It's also possible to replace Torque Script with an alternative script language, such as C# for example - but again there is no Resource or Documentation to walk you through it.