<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[VirtualAllocEx() auf Prozess in anderem Desktop]]></title><description><![CDATA[<p>Hallo nochmal..</p>
<p>Wenn ich mir den Prozesshandle von einem Prozess hole, der in einem anderen Desktop gestartet wird und VirtualAllocEx darauf aufrufen will, schlägt die Funktion mit &quot;Acces denied&quot; fehl.<br />
Erstelle ich den Prozess hingegen im selben Desktop, funktioniert alles problemlos.</p>
<p>Was ist da los?</p>
<p>thx<br />
testheini</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/107145/virtualallocex-auf-prozess-in-anderem-desktop</link><generator>RSS for Node</generator><lastBuildDate>Mon, 29 Jun 2026 23:52:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/107145.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 Apr 2005 16:36:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to VirtualAllocEx() auf Prozess in anderem Desktop on Sat, 16 Apr 2005 16:36:42 GMT]]></title><description><![CDATA[<p>Hallo nochmal..</p>
<p>Wenn ich mir den Prozesshandle von einem Prozess hole, der in einem anderen Desktop gestartet wird und VirtualAllocEx darauf aufrufen will, schlägt die Funktion mit &quot;Acces denied&quot; fehl.<br />
Erstelle ich den Prozess hingegen im selben Desktop, funktioniert alles problemlos.</p>
<p>Was ist da los?</p>
<p>thx<br />
testheini</p>
]]></description><link>https://www.c-plusplus.net/forum/post/768457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/768457</guid><dc:creator><![CDATA[testheini²]]></dc:creator><pubDate>Sat, 16 Apr 2005 16:36:42 GMT</pubDate></item><item><title><![CDATA[Reply to VirtualAllocEx() auf Prozess in anderem Desktop on Sat, 16 Apr 2005 23:48:24 GMT]]></title><description><![CDATA[<p>EDIT: Meine vorherige Aussage stimme nicht ganz. Mit dem Debugprivileg SE_DEBUG_NAME ist es möglich, Speicher in einem Prozess einer anderen Sitzung zu allokieren, was sonst aus Sicherheitsgründen nicht zulässig ist. Andere potenziell gefährliche Funktionen wie CreateRemoteThread funktionieren aber in keinem Fall sitzungsübergreifend.</p>
<pre><code class="language-cpp">DWORD SetDebugPrivilege() {
    HANDLE hToken = 0;
    DWORD dwError = 0;
    TOKEN_PRIVILEGES privileges;

    if( !OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&amp;hToken ) ) {
        goto exit;
    }

    if( !LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&amp;privileges.Privileges[0].Luid)) {
        goto exit;
    }

    privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    privileges.PrivilegeCount = 1;

    if(!AdjustTokenPrivileges(hToken,FALSE,&amp;privileges,0,NULL,NULL)) {
        goto exit;
    }

 exit:
	dwError = GetLastError();
	if(hToken) {
		CloseHandle(hToken);
	}

    return dwError;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/768535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/768535</guid><dc:creator><![CDATA[masterofx32]]></dc:creator><pubDate>Sat, 16 Apr 2005 23:48:24 GMT</pubDate></item></channel></rss>