sandboxie-plus / Sandboxie

Sandboxie Plus & Classic
https://Sandboxie-Plus.com
GNU General Public License v3.0
13.78k stars 1.54k forks source link

GeForceNOW Issue (unable to use) #3489

Open rzpz opened 10 months ago

rzpz commented 10 months ago

Describe what you noticed and did

  1. Open GeforceNow
  2. Open Game on GeforceNow
  3. Open Sandbox
  4. Click Run Any Program
  5. Select GeforceNow (the same one I opened earlier)
  6. GeforceNow Opens
  7. Change GeforceNow account to different account
  8. Click on any game in GeforceNow
  9. Error code pops up "There was a program starting your session. Try again. ERROR CODE: 0xC0F52132"

This is the issue, and I believe it's because GeforceNow is thinking that GeforceNow is already open, but since it's sandboxed it shouldn't really know that, right? If I open 2 browsers with the same cookies, then it will give the same error code, but if I open 2 browsers with different cookies, or new cookies then it'll be able to run 2 GeforceNows. In this situation that I talked about, I'm talking about the GeforceNow App, and not browser.

I also tried to install GeforceNow within sandbox only, and it wouldn't work. Please help, and thank you.

How often did you encounter it so far?

Whenever I do this

Affected program

Geforce Now

Download link

https://download.nvidia.com/gfnpc/GeForceNOW-release.exe

Where is the program located?

The program is installed both inside and outside the sandbox.

Expected behavior

I should be able to run multiple GeforceNows and be able to play the game, without the error popping up.

What is your Windows edition and version?

Windows 11 Pro

In which Windows account you have this problem?

A local account (Administrator).

Please mention any installed security software

Kaspersky Internet Security (but I have tried without anti-virus)

What version of Sandboxie are you running?

Sandboxie Classic 5.67.3 (I have also tried with sandboxie-plus)

Is it a new installation of Sandboxie?

I recently did a new clean installation.

Is it a regression?

Always been a problem

In which sandbox type you have this problem?

In a standard isolation sandbox (yellow sandbox icon).

Can you reproduce this problem on a new empty sandbox?

I can confirm it also on a new empty sandbox.

Did you previously enable some security policy settings outside Sandboxie?

No

Crash dump

None

Trace log

None

Sandboxie.ini configuration

The normal .ini configuration.
mitchcapper commented 10 months ago

Beware that by default a sandboxed process has several ways of detecting non-sandboxed processes. The goal of SBP is to prevent apps from modifying the external system, not from seeing it (by default). Please include your full sandbox configuration per the template so we can see what options you are using.

The better goal is to probably start with NOT running GeforceNow unsandboxed and work to resolve why you are unable to start it sandboxed.

rzpz commented 10 months ago

Hello, I have tried to run GeforceNow sandboxed, without running it unsandboxed, and it allows me to run geforcenow, but if i open another geforcenow, then the new one will not work and give me the error code.

This is my configuration, which I have not changed:

# Sandboxie configuration file
#

[GlobalSettings]
Template=WindowsRasMan
Template=WindowsLive
Template=Edge_Fix
Template=Kaspersky
Template=OfficeLicensing
Template=OfficeClickToRun

[DefaultBox]
ConfigLevel=10
AutoRecover=y
BlockNetworkFiles=y
Template=OpenSmartCard
Template=OpenBluetooth
Template=SkipHook
Template=FileCopy
Template=qWave
Template=BlockPorts
Template=LingerPrograms
Template=AutoRecoverIgnore
RecoverFolder=%{374DE290-123F-4565-9164-39C4925E467}%
RecoverFolder=%Personal%
RecoverFolder=%Desktop%
BorderColor=#00FFFF,ttl,6
Enabled=y
CopyLimitKb=86026

[UserSettings_05A6016]
SbieCtrl_UserName=xxx
SbieCtrl_NextUpdateCheck=1702993580
SbieCtrl_WindowCoords=305,201,1237,632
SbieCtrl_ActiveView=40021
SbieCtrl_ProcessViewColumnWidths=250,70,300
SbieCtrl_BoxExpandedView=DefaultBox
mitchcapper commented 10 months ago

As mentioned I would highly recommend you work troubleshooting why geforce now will not startup in the sandbox. Find log files, use the SBIE trace. Uninstalling and installing directly in the sandbox is probably also best from a troubleshooting POV.

rzpz commented 10 months ago

I don't really know how to troubleshoot, but I can understand why the issue is occurring. It is happening because GeForceNow thinks/knows that I have another GeForceNow opened up. For example, if I open GeForceNow in chrome and another one in microsoft edge, it would work, but if I opened GeForceNow in 2 chrome tabs then it wouldn't work, if I opened it in 1 chrome profile and then a new chrome profile, then it would also work. I hope that makes sense, so is it possible to make it so Sandboxie makes the GeforceNow undetectable to the other GeforceNows? (I'm talking about the app, I want it so the app is not detectable)

mitchcapper commented 10 months ago

It is happening because GeForceNow thinks/knows that I have another GeForceNow opened up.

I think you are missing what im saying. Remove geforce now from outside the sandbox, uninstall completely. Install in sandbox. Only run the sandbox copy and work to figure out why that won't launch on its own. Trying to block one geforce now from detecting the other (while possible) will almost certainly not solve your problem as it wont start up at all inside the sandbox (which is where you should start).

Think about the fact the app logic may be something like this:

OnLaunch-> DetectGeforceNowRunning() -> If No then InitializeGameStartup() -> If yes then show error multiple copies running.

So here if you have no copies open and launch outside SBP InitializeGameStartup() works and you can play. If you have no copies open and launch inside SBP when it gets to InitializeGameStartup() it fails. If you have a copy open outside SBP and then open one inside SBP then DetectGeforceNowRunning says Yes, and it show you a message or splash and you are like well it is working as it didn't just error out, but it got this multiple copy issue message so if I fix that it will work.

One thing you can do to troubleshoot, launch it outside the sandbox using https://learn.microsoft.com/en-us/sysinternals/downloads/procmon exit then launch it inside the sandbox as well. Compare the traces and see where they seem to fork.

bastik-1001 commented 10 months ago

You might be talking past each other, From what I understand GeForceNOW can be started sandboxed.

First post

[...] Open Sandbox Click Run Any Program Select GeforceNow (the same one I opened earlier) GeforceNow Opens [...]

I have tried to run GeforceNow sandboxed, without running it unsandboxed, and it allows me to run geforcenow,

The issue seems to describe that the program does not like to be launched twice. If this is the case, my attempted solution would be to launch two instances sandboxed, where both have no access to the user data. This is comparable to the approach with two different browsers and different cookies.

Sandbox A with one instances and its own user data. Sandbox B with its own user data. Obviously, it needs to be known where the program stores the relevant data.

mitchcapper commented 10 months ago

You might be talking past each other,

potentially, I took the statement "I also tried to install GeforceNow within sandbox only, and it wouldn't work." to mean GeforceNow only inside the sandbox and not installed anywhere else would not work. My recommendation was simply to concentrate on troubleshooting this. Before trying to get two copies working just to get one copy working inside any sandbox and expand from there:)