lea.gee Posted November 29, 2011 Posted November 29, 2011 Hello, Im new to Unigine so i might be wrong. How can i precompile my scripts so people cannot see them after i publish my game? I know about the UNG packer, but any reverse engineer can easily extract files from it. Thanks from advance.
steve3d Posted November 30, 2011 Posted November 30, 2011 I'm also wondering about this, but it seems there is no way to do this, the new script cache file might do the magic, but I haven't tried that.
steve3d Posted November 30, 2011 Posted November 30, 2011 It's not so easy to unpack a encrypted ung package, because unigine stores an encrypted password in dll or exes
lea.gee Posted November 30, 2011 Author Posted November 30, 2011 Breakpoint with a debugger on the Init function of the engine and get the password, its not a big deal if you know what you do.
steve3d Posted December 1, 2011 Posted December 1, 2011 you are wrong about this, using resource_x86.exe to generate a encrypted password resource file and copy the resource file to source directory, and build engine with option -password, in this case, you don't need to specify any password in any of your exe or dll, you can search this forum to find these information.
yoni.uzan Posted December 1, 2011 Posted December 1, 2011 It would be good if we could do that really.
lea.gee Posted December 1, 2011 Author Posted December 1, 2011 Sorry for that. You can breakpoint on the compiler function of the engine to read all the UnigineScript the passing through... There are alot of ways if you know what you're doing. Either way, having the possibility to precompile our scripts would both give security and speed.
alex.dovgodko Posted December 1, 2011 Posted December 1, 2011 Scripts compilation should be ran manually with : "world_load my_world" will load my_world and will save script into the world.cache file. "world_load my_world my_cache" will load my_world and will save script into the my_world.cache file. https://developer.un...omplation-time/ But of course it won't provide absolute protection too. It's a question of time and motivation for users to hack it :)
manguste Posted December 1, 2011 Posted December 1, 2011 You can specify a world cache file. It will store all world-related compiled scripts. After that there's no need to include the scripts, the world can still be run. "world_load my_world" will load my_world and will save script into the world.cache file. Oh, its behavior has changed already :) By default no cache is created, only if it's explicitly specified as a 2nd argument.
Recommended Posts