"Andrey Turkin" pancha@mail.nnov.ru wrote:
- mapping->header_size = pos + size;
- mapping->header_size = max( pos + size,
nt.OptionalHeader.SizeOfHeaders );
You're reading my mind (or my hard drive), don't you? :) Ok, but if you going to change server code here, then you should probably align PointerToRawData in server code as well (writable shared sections will be mapped incorrectly otherwise).
That was not a real fix but just a proof of (your) concept. I'd leave creation of a proper fix to Alexandre as he is the real expert in this area (that's why I sent an url of a smallest possible download with the packer itself (since it's self packed) to the list, so that an interested person could play with it).