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

Not run as admin #47

Open
ubeogesh opened this issue Nov 24, 2019 · 2 comments
Open

Not run as admin #47

ubeogesh opened this issue Nov 24, 2019 · 2 comments

Comments

@ubeogesh
Copy link
Contributor

ubeogesh commented Nov 24, 2019

I have noticed that if I modify this program to not run as admin (set "asInvoker" in manifest), it cannot attach to diablo 2 process. I've debugged it a bit and notice that Process::Modules call gets an "access denied" exception.

Have you looked into this, if there is a workaround for this? My game.exe is not running elevated (i.e. not as admin). Also tried turning off UAC Virtualization for it in the task manager, didn't help either.

@ubeogesh
Copy link
Contributor Author

ubeogesh commented Nov 24, 2019

I found 1 way to make it work. After starting D2, I can use Process Explorer tool (ran as admin) on Game.exe to change permissions on the process and allow "Everyone" (or just my user or "Users" group) allow all access to the process. By default It is marked as "Deny" on all permissions.

I wonder if I can make Game.exe start with these permissions by default. Or is it possible that these permissions are set "from inside" the Game.exe to "prevent 3rd party programs from hooking into the game"?

@Zutatensuppe
Copy link
Collaborator

Zutatensuppe commented Dec 2, 2019

I remember having the access denied problem so we added admin requirements. Didn't look into this further in more detail unfortunately. Your workaround requires admin user as well, so maybe there is no real good way around it other than using admin power at some point.

It's beyond my knowledge if the permissions can be set in detail from outside. And all my D2 and D2 Interface etc runs in a VM currently, so stuff is always elevated and I can't really test it atm.

If you (or someone else) finds a way that doesn't involve admin power, it would be a great to know! =)

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

No branches or pull requests

2 participants