Anyone knows - PhysicsFS 2.1.0 have access to *.7z with encryption password ?
I no see any function to do this.
The last time I tried, this was not possible. I doubt this has changed meanwhile.
How about LZMA SDK ?
http://www.7-zip.org/sdk.html
You don't want to use that. It's one of the ugliest C++ APIs I have ever seen, especially given its widespread use. At that time, the documentation was limited to one example code (the 7Zip application itself), which makes it very funny to figure things out. There is almost no abstraction, as a user you need to know how the algorithm works and deal with tedious low-level tasks like buffer allocations.
I can really not recommend using the LZMA functions directly. You're much better off writing an API to the 7Zip command line interface (which is far more intuitive). You can still do that through C++ code, just write functions that forward the CLI arguments to the 7Zip application
Maybe we can hardcodes - add some symbols to begin of archives ?
And access to archives skipping this symbols ?
If you don't need compression, you can build a format yourself. It takes some work, but if you have experience with binary file reading/writing, it should be doable. If you don't, then learn it first, because debugging binary data is not too funny.
What you can do is have a index at the beginning of the file. In that index you store a resource name and its address within the file (i.e. number of bytes from the beginning). Every such entry has a fixed size, so you know where to look. The whole index can either be fixed-size or resizable, in the latter case you need to move the binary data within the archive, if there is no more space for the index entries.
Maybe good way use Crypto++ ?
Do you really need that sophisticated level of encryption? Just keep in mind that you will store the key somewhere in your executable or an external file, so an attacker is potentially able to gain access, regardless of your efforts. Considering that, you could also try something simpler like XOR... what do you need to encrypt?