I'd like to know what languages fit this scenario:
I'm writing an application (C++) and I need to add some type of scripting support to it, but this language must be able to be "compiled".
This compilation will generate some type of "bytecode" that is not readable by humans. Then I need to be able to get this bytecode, load it inside the C++ application and execute it.
Exporting c++ application functions to the script and calling back script functions is a must.
The main idea is to extend application functionality without touching the C++ code, but it must be hard for a user to read these scripts.
What languages can I use?
I'd love to suggest ChaiScript, but we don't have any kind of encryption or bytecode support built in.
That said, there's no reason you could not use any existing C++ scripting engine. ChaiScript, luabind, etc, could all be used if you provide your own encryption and decryption functions for feeding the script into the engine.
The one scripting engine that I know of that supports c++ and bytecode and is relatively obscure is AngelScript. They have a page on loading pre-compiled bytecode.