Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for managed targets is broken #18

Open
GoogleCodeExporter opened this issue Dec 17, 2015 · 1 comment
Open

Support for managed targets is broken #18

GoogleCodeExporter opened this issue Dec 17, 2015 · 1 comment

Comments

@GoogleCodeExporter
Copy link

Invoking the main method of the target application is broken. It's assumed that 
invoking any method from any assembly other than the injected ones, is also 
broken.

When loading an assembly the CLR requests registry keys which the virtual 
registry isn't able to provide. These are all related to policies which the CLR 
needs to apply on the assembly.

The problem is tracked down to (for example) the following key: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion\PublisherPolicy\Default
Running with administrator privileges, it's possible to get handles until the 
Fusion subkey. Trying to get a handle to PublisherPolicy and beyond always 
results in ERROR_FILE_NOT_FOUND, even if these keys are visible and accessible 
with the regedit utility. The result is the same for both C# and native C++.


A possible cause for this issue would be that the CLR uses custom options and 
custom access rights matching the original security descriptor. For example, 
when querying such policy keys the CLR uses the custom access rights 0x20119. 
While the engine always uses default access rights.

Original issue reported on code.google.com by [email protected] on 16 Jun 2010 at 6:15

@GoogleCodeExporter
Copy link
Author

It seems to be impossible to fix this issue with the current API hooks.

It needs to be investigated which COM functions are called by the CLR when 
loading assemblies, and those should be allowed to run transparent through the 
virtualization engine.

Original comment by [email protected] on 6 Dec 2010 at 6:19

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant