Jump to content

Scripts are not compiled


photo

Recommended Posts

Posted

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.

Posted

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.

Posted

It's not so easy to unpack a encrypted ung package, because unigine stores an encrypted password in dll or exes

Posted

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.

Posted

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.

Posted

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.

Posted

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 :)

Posted

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.

×
×
  • Create New...