lea.gee Posted November 29, 2011 Share 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. Link to comment
steve3d Posted November 30, 2011 Share 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. Link to comment
steve3d Posted November 30, 2011 Share 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 Link to comment
lea.gee Posted November 30, 2011 Author Share 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. Link to comment
steve3d Posted December 1, 2011 Share 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. Link to comment
yoni.uzan Posted December 1, 2011 Share Posted December 1, 2011 It would be good if we could do that really. Link to comment
lea.gee Posted December 1, 2011 Author Share 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. Link to comment
alex.dovgodko Posted December 1, 2011 Share 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 :) Link to comment
manguste Posted December 1, 2011 Share 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. Link to comment
Recommended Posts