   protecting objects
  I need a setup where many client programs can have access to an object''s interface but not to the object itself. this needs to be cross platform as possible, and fast. Shared libraries wont work, because they can read all the data in the lib. What would you suggest? 
  Check out Java.  With RMI, using dynamic class loading to download the stubs from the server at runtime.You can just give the clients a barebones interface, and they dont get the implementation until runtime. ;  It sounds like you want to protect the memory of an object, yet allow people to access it. I.e. you want to prevent people from doing: memcpy(someBuffer, objAddress, sizeof(*objAddress));An easy way (although it may be slow) is to run the object is a seperate process/program where other applications cannot get to it, then let the interface be a stub (RPC style) via an IPC mechanism to talk with that object.You need to be careful about permissions (i.e. in some OS''s, you can do stuff through procfs to read other processes virtual addresses, as this is typically how debuggers work! you need to use user permissions to prevent this, and it all goes out the window if the user has root access). ;  what i was hoping is that there is a way to create shared spaces with particular write/read/execute permissions on a per-user or even per-process basis. ;quote:Original post by ironfroggy  what i was hoping is that there is a way to create shared spaces with particular write/read/execute permissions on a per-user or even per-process basis.   http://search.microsoft.com/search/results.aspx?View=msdn&st=a&qu=Shared+Memory&c=0&s=1http://search.yahoo.com/search?p=shared+memory+linux&ei=UTF-8&fr=fp-tab-web-t&cop=mss&tab= 