From 96b7d4625ced1b08a6a0a62e65b8c90e95d9581a Mon Sep 17 00:00:00 2001 From: DavidXanatos Date: Sun, 21 Feb 2021 15:32:20 +0100 Subject: [PATCH] Build 0.7.1 / 5.48.5 --- CHANGELOG.md | 31 + Sandboxie/apps/com/BITS/bits.c | 2 + Sandboxie/apps/com/Crypto/crypto.c | 40 + Sandboxie/apps/com/WUAU/wuau.c | 2 + Sandboxie/common/defines.h | 1 + Sandboxie/common/my_version.h | 6 +- Sandboxie/common/win32_ntddk.h | 6 + Sandboxie/core/dll/SboxDll32.def | 2 +- Sandboxie/core/dll/com.c | 28 +- Sandboxie/core/dll/config.c | 140 + Sandboxie/core/dll/custom.c | 109 - Sandboxie/core/dll/dll.h | 6 + Sandboxie/core/dll/dllpath.c | 23 +- Sandboxie/core/dll/file.c | 29 +- Sandboxie/core/dll/ipc.c | 1 + Sandboxie/core/dll/ldr.c | 90 +- Sandboxie/core/dll/rpcrt.c | 125 +- Sandboxie/core/dll/sbieapi.c | 32 +- Sandboxie/core/dll/sbieapi.h | 13 +- Sandboxie/core/dll/sbiedll.h | 1 + Sandboxie/core/dll/secure.c | 62 +- Sandboxie/core/drv/api_defs.h | 1 + Sandboxie/core/drv/api_flags.h | 2 +- Sandboxie/core/drv/file.c | 41 +- Sandboxie/core/drv/file_ctrl.c | 25 +- Sandboxie/core/drv/ipc.c | 5 +- Sandboxie/core/drv/process.h | 2 +- Sandboxie/core/drv/process_api.c | 59 +- Sandboxie/core/drv/process_util.c | 86 +- Sandboxie/core/drv/session.c | 17 +- Sandboxie/core/drv/syscall_open.c | 2 +- Sandboxie/core/svc/DriverAssist.cpp | 2 +- Sandboxie/core/svc/EpMapperServer.cpp | 6 + Sandboxie/core/svc/ProcessServer.cpp | 2 +- SandboxiePlus/QSbieAPI/SbieAPI.cpp | 20 +- SandboxiePlus/QSbieAPI/SbieTrace.cpp | 37 +- SandboxiePlus/QSbieAPI/SbieTrace.h | 53 +- SandboxiePlus/SandMan/Forms/OptionsWindow.ui | 830 ++- SandboxiePlus/SandMan/SandMan.vcxproj | 1 + SandboxiePlus/SandMan/SandMan.vcxproj.filters | 3 + SandboxiePlus/SandMan/SbiePlusAPI.cpp | 2 +- SandboxiePlus/SandMan/Views/SbieView.cpp | 42 +- SandboxiePlus/SandMan/Views/SbieView.h | 7 +- .../SandMan/Windows/OptionsWindow.cpp | 102 +- SandboxiePlus/SandMan/sandman_de.ts | 5942 +++++++++-------- SandboxiePlus/SandMan/sandman_es.ts | 8 + SandboxiePlus/SandMan/sandman_pl.ts | 608 +- SandboxiePlus/SandMan/sandman_pt.ts | 608 +- SandboxiePlus/SandMan/sandman_ru.ts | 112 +- SandboxiePlus/SandMan/sandman_tr.ts | 112 +- SandboxiePlus/SandMan/sandman_zh-CN.ts | 70 +- SandboxiePlus/SandMan/sandman_zh-TW.ts | 70 +- SandboxiePlus/SandboxiePlus.sln | 39 +- SandboxiePlus/version.h | 2 +- 54 files changed, 5474 insertions(+), 4193 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bd0f1dc25c..357bd2b122 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,36 @@ This project adheres to [Semantic Versioning](http://semver.org/). + + +## [0.7.1 / 5.48.5] - 2021-02-21 + +### Added +- Enchanced RpcMgmtSetComTimeout handing with "UseRpcMgmtSetComTimeout=some.dll,n" +-- this option allows to specify for each individual dll if RpcMgmtSetComTimeout should be used or not +-- this setting takes precedence over hard coded and per process presets +-- "UseRpcMgmtSetComTimeout=some.dll" and "UseRpcMgmtSetComTimeout=some.dll,y" are equivalent +- Added "FakeAdminRights=y" option that makes processes in a given box think thay have admin permissions +-- this option is recomended to be used in combination with "DropAdminRights=y" to improve securits +-- With "FakeAdminRights=y" and "DropAdminRights=y" installers should still work +- added RPC support for SSDP API (the Simple Service Discovery Protocol), Enable with "OpenUPnP=y" + + +### Changed +- SbieCrypto no longer triggers message 1313 +- changed enum process API now more (no limit) than 511 proceses per box can be enumerated +- Reorganized box settings a bit +- Made COM tracing more verbose +- "RpcMgmtSetComTimeout=y" is now again the default behavioure, seams to cause less issues overall + +### Fixed +- fixed issues with webcam access when the DevCMApi filtering is in place +- fixed issue with free download manager for 'AppXDeploymentClient.dll' RpcMgmtSetComTimeout=y is used +- fixed not all WinRM files were blocked by the driver, with "BlockWinRM=n" this file block can be disabled + + + + ## [0.7.0 / 5.48.0] - 2021-02-14 ### Added @@ -27,6 +57,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Fixed - FIXED SECURITY ISSUE: elevated sandboxed processes could access volumes/disks for reading (thanks hg421) +-- this protection option can be disabled by using "AllowRawDiskRead=y" - fixed crash issue around SetCurrentProcessExplicitAppUserModelID observed with GoogleUpdate.exe - fixed issue with resource monitor sort by timestamp - FIXED SECURITY ISSUE: a race condition in the driver allowed to obtain an elevated rights handle to a process (thanks typpos) diff --git a/Sandboxie/apps/com/BITS/bits.c b/Sandboxie/apps/com/BITS/bits.c index 89afa4ee2f..ffb5b323a0 100644 --- a/Sandboxie/apps/com/BITS/bits.c +++ b/Sandboxie/apps/com/BITS/bits.c @@ -125,6 +125,8 @@ int __stdcall WinMain( BOOL hook_success = TRUE; BOOL ok; + Check_Windows_7(); + SetupExceptionHandler(); HOOK_WIN32(CoImpersonateClient); diff --git a/Sandboxie/apps/com/Crypto/crypto.c b/Sandboxie/apps/com/Crypto/crypto.c index 8418e51483..27e0c6c047 100644 --- a/Sandboxie/apps/com/Crypto/crypto.c +++ b/Sandboxie/apps/com/Crypto/crypto.c @@ -47,6 +47,7 @@ const WCHAR *ServiceTitle = SANDBOXIE L" Crypto"; static ULONG_PTR __sys_DuplicateHandle = 0; +static ULONG_PTR __sys_CreateFileW = 0; //--------------------------------------------------------------------------- @@ -126,6 +127,41 @@ ALIGNED BOOL my_DuplicateHandle( } +//--------------------------------------------------------------------------- +// my_CreateFileW +//--------------------------------------------------------------------------- + +ALIGNED HANDLE my_CreateFileW( + LPCWSTR lpFileName, + DWORD dwDesiredAccess, + DWORD dwShareMode, + LPSECURITY_ATTRIBUTES lpSecurityAttributes, + DWORD dwCreationDisposition, + DWORD dwFlagsAndAttributes, + HANDLE hTemplateFile) +{ + typedef HANDLE(*P_CreateFileW)( + LPCWSTR lpFileName, + DWORD dwDesiredAccess, + DWORD dwShareMode, + LPSECURITY_ATTRIBUTES lpSecurityAttributes, + DWORD dwCreationDisposition, + DWORD dwFlagsAndAttributes, + HANDLE hTemplateFile); + + // + // prevent SBIE1313, dont even try to access the block devcie for raw reading + // + + if (_wcsnicmp(lpFileName, L"\\\\.\\PhysicalDrive", 17) == 0 && wcschr(lpFileName + 17, L'\\') == NULL) { + if (dwDesiredAccess == GENERIC_READ) + dwDesiredAccess = 0; + } + + return ((P_CreateFileW)__sys_CreateFileW)(lpFileName, dwDesiredAccess, dwShareMode, + lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); +} + //--------------------------------------------------------------------------- // WinMain //--------------------------------------------------------------------------- @@ -148,10 +184,14 @@ int __stdcall WinMain( return STATUS_LICENSE_QUOTA_EXCEEDED; } + Check_Windows_7(); + SetupExceptionHandler(); HOOK_WIN32(DuplicateHandle); + HOOK_WIN32(CreateFileW); + // hook privilege-related functions if (! Hook_Privilege()) return EXIT_FAILURE; diff --git a/Sandboxie/apps/com/WUAU/wuau.c b/Sandboxie/apps/com/WUAU/wuau.c index 6ff7d4a104..1f5a248ded 100644 --- a/Sandboxie/apps/com/WUAU/wuau.c +++ b/Sandboxie/apps/com/WUAU/wuau.c @@ -196,6 +196,8 @@ int __stdcall WinMain( OSVERSIONINFO osvi; //BOOL ok; + Check_Windows_7(); + SetupExceptionHandler(); HOOK_WIN32(CreateProcessW); diff --git a/Sandboxie/common/defines.h b/Sandboxie/common/defines.h index 04d525e7bb..838a9b61d6 100644 --- a/Sandboxie/common/defines.h +++ b/Sandboxie/common/defines.h @@ -92,6 +92,7 @@ typedef enum { GAME_CONFIG_STORE_PORT, SMART_CARD_PORT, BT_PORT, + SSDP_PORT, NUM_DYNAMIC_PORTS } ENUM_DYNAMIC_PORT_TYPE; diff --git a/Sandboxie/common/my_version.h b/Sandboxie/common/my_version.h index fd0f32eba6..a1f65d9275 100644 --- a/Sandboxie/common/my_version.h +++ b/Sandboxie/common/my_version.h @@ -21,9 +21,9 @@ #ifndef _MY_VERSION_H #define _MY_VERSION_H -#define MY_VERSION_BINARY 5,48,0 -#define MY_VERSION_STRING "5.48.0" -#define MY_VERSION_COMPAT "5.48.0" // this refers to the driver ABI compatibility +#define MY_VERSION_BINARY 5,48,5 +#define MY_VERSION_STRING "5.48.5" +#define MY_VERSION_COMPAT "5.48.5" // this refers to the driver ABI compatibility // These #defines are used by either Resource Compiler, or by NSIC installer #define SBIE_INSTALLER_PATH "..\\Bin\\" diff --git a/Sandboxie/common/win32_ntddk.h b/Sandboxie/common/win32_ntddk.h index a6972f3dd9..8929d7e827 100644 --- a/Sandboxie/common/win32_ntddk.h +++ b/Sandboxie/common/win32_ntddk.h @@ -2189,6 +2189,12 @@ __declspec(dllimport) NTSTATUS __stdcall NtPrivilegeCheck( typedef NTSTATUS (*P_RtlQueryElevationFlags)(ULONG *Flags); +typedef NTSTATUS (*P_RtlCheckTokenMembershipEx)( + HANDLE tokenHandle, + PSID sidToCheck, + DWORD flags, + PBOOL isMember); + __declspec(dllimport) NTSTATUS RtlQueryElevationFlags(ULONG *Flags); __declspec(dllimport) NTSTATUS __stdcall NtContinue( diff --git a/Sandboxie/core/dll/SboxDll32.def b/Sandboxie/core/dll/SboxDll32.def index 16940b5572..36f4900b41 100644 --- a/Sandboxie/core/dll/SboxDll32.def +++ b/Sandboxie/core/dll/SboxDll32.def @@ -20,7 +20,7 @@ SbieApi_CheckInternetAccess=_SbieApi_CheckInternetAccess@12 SbieApi_DisableForceProcess=_SbieApi_DisableForceProcess@8 SbieApi_EnumBoxes=_SbieApi_EnumBoxes@8 -SbieApi_EnumProcessEx=_SbieApi_EnumProcessEx@16 +SbieApi_EnumProcessEx=_SbieApi_EnumProcessEx@20 SbieApi_GetFileName=_SbieApi_GetFileName@12 SbieApi_GetHomePath=_SbieApi_GetHomePath@16 diff --git a/Sandboxie/core/dll/com.c b/Sandboxie/core/dll/com.c index 254907ab43..0cfe775bf6 100644 --- a/Sandboxie/core/dll/com.c +++ b/Sandboxie/core/dll/com.c @@ -156,7 +156,7 @@ static void Com_Trace( static void Com_Trace2( const WCHAR* TraceType, REFCLSID rclsid, REFIID riid, - ULONG ProcNum, HRESULT hr, USHORT monflag); + ULONG ProcNum, ULONG clsctx, HRESULT hr, USHORT monflag); static void Com_Monitor(REFCLSID rclsid, USHORT monflag); @@ -599,8 +599,8 @@ _FX HRESULT Com_CoGetClassObject( hr = __sys_CoGetClassObject(rclsid, clsctx, pServerInfo, riid, ppv); } + Com_Trace2(TraceType, rclsid, riid, 0, clsctx, hr, monflag); if (clsctx & CLSCTX_LOCAL_SERVER) { - Com_Trace2(TraceType, rclsid, riid, 0, hr, monflag); if(!Com_TraceFlag) Com_Monitor(rclsid, monflag); } @@ -646,14 +646,14 @@ _FX HRESULT Com_CoGetObject( else monflag |= MONITOR_DENY; - Com_Trace2(TraceType, &clsid, riid, 0, hr, monflag); - if (!Com_TraceFlag) Com_Monitor(&clsid, monflag); - } else { hr = __sys_CoGetObject(pszName, pBindOptions, riid, ppv); } + Com_Trace2(TraceType, &clsid, riid, 0, 0, hr, monflag); + if (!Com_TraceFlag) Com_Monitor(&clsid, monflag); + return hr; } @@ -699,8 +699,8 @@ _FX HRESULT Com_CoCreateInstance( hr = __sys_CoCreateInstance(rclsid, pUnkOuter, clsctx, riid, ppv); } + Com_Trace2(TraceType, rclsid, riid, 0, clsctx, hr, monflag); if (clsctx & CLSCTX_LOCAL_SERVER) { - Com_Trace2(TraceType, rclsid, riid, 0, hr, monflag); if (!Com_TraceFlag) Com_Monitor(rclsid, monflag); } @@ -808,11 +808,11 @@ _FX HRESULT Com_CoCreateInstanceEx( rclsid, pUnkOuter, clsctx, pServerInfo, cmq, pmqs); } - if (clsctx & CLSCTX_LOCAL_SERVER) { - - for (i = 0; i < cmq; ++i) { - MULTI_QI *mqi = &pmqs[i]; - Com_Trace2(TraceType, rclsid, mqi->pIID, 0, mqi->hr, monflag); + + for (i = 0; i < cmq; ++i) { + MULTI_QI *mqi = &pmqs[i]; + Com_Trace2(TraceType, rclsid, mqi->pIID, 0, clsctx, mqi->hr, monflag); + if (clsctx & CLSCTX_LOCAL_SERVER) { if (!Com_TraceFlag) Com_Monitor(rclsid, monflag); } } @@ -3311,12 +3311,12 @@ _FX void Com_Trace( const WCHAR* TraceType, REFCLSID rclsid, REFIID riid, ULONG ProcNum, HRESULT hr) { - Com_Trace2(TraceType, rclsid, riid, ProcNum, hr, MONITOR_TRACE); + Com_Trace2(TraceType, rclsid, riid, ProcNum, 0, hr, MONITOR_TRACE); } _FX void Com_Trace2( const WCHAR* TraceType, REFCLSID rclsid, REFIID riid, - ULONG ProcNum, HRESULT hr, USHORT monflag) + ULONG ProcNum, ULONG clsctx, HRESULT hr, USHORT monflag) { WCHAR *text; WCHAR *ptr; @@ -3325,7 +3325,7 @@ _FX void Com_Trace2( return; text = Com_Alloc(1024 * sizeof(WCHAR)); - ptr = text + Sbie_snwprintf(text, 1024, L"COM %s <%08X> ", TraceType, hr); + ptr = text + Sbie_snwprintf(text, 1024, L"COM <%08X> %s <%08X> ", clsctx, TraceType, hr); if (rclsid) { Com_Trace_Guid(ptr, rclsid, L"CLSID"); diff --git a/Sandboxie/core/dll/config.c b/Sandboxie/core/dll/config.c index 475f6589d4..21ee4b95ea 100644 --- a/Sandboxie/core/dll/config.c +++ b/Sandboxie/core/dll/config.c @@ -24,6 +24,7 @@ #include "dll.h" #include "common/pool.h" #include "common\pattern.h" +#include "core/svc/SbieIniWire.h" //--------------------------------------------------------------------------- // Functions @@ -398,4 +399,143 @@ BOOLEAN SbieDll_GetBorderColor(const WCHAR* box_name, COLORREF* color, BOOL* tit if (width) *width = _wtoi(ptr); return TRUE; +} + + +//--------------------------------------------------------------------------- +// SbieDll_MatchImage +//--------------------------------------------------------------------------- + + +BOOLEAN SbieDll_MatchImage_Impl(const WCHAR* pat_str, ULONG pat_len, const WCHAR* test_str, const WCHAR* BoxName, ULONG depth) +{ + if (*pat_str == L'<') { + + ULONG index; + WCHAR buf[CONF_LINE_LEN]; + + if (depth >= 6) + return FALSE; + + for (index = 0; ; ++index) { + + // + // get next process group setting, compare to passed group name. + // if the setting is = then we accept it. + // + + NTSTATUS status = SbieApi_QueryConfAsIs( + BoxName, L"ProcessGroup", index, buf, CONF_LINE_LEN * sizeof(WCHAR)); + if (!NT_SUCCESS(status)) + break; + WCHAR* value = buf; + + ULONG value_len = wcslen(value); + if (value_len <= pat_len + 1) + continue; + if (_wcsnicmp(value, pat_str, pat_len) != 0) + continue; + + value += pat_len; + if (*value != L',') + continue; + ++value; + + // + // value now points at the comma-separated + // list of processes in this process group + // + + while (*value) { + WCHAR* ptr = wcschr(value, L','); + if (ptr) + value_len = (ULONG)(ULONG_PTR)(ptr - value); + else + value_len = wcslen(value); + + if (value_len) { + + if (SbieDll_MatchImage_Impl(value, value_len, test_str, BoxName, depth + 1)) + return TRUE; + } + + value += value_len; + while (*value == L',') + ++value; + } + } + + } + else { + + ULONG test_len = wcslen(test_str); + if (test_len == pat_len) + return (_wcsnicmp(test_str, pat_str, test_len) == 0); + + } + + return FALSE; +} + + +BOOLEAN SbieDll_MatchImage(const WCHAR* pat_str, const WCHAR* test_str, const WCHAR* BoxName) +{ + ULONG pat_len = wcslen(pat_str); + return SbieDll_MatchImage_Impl(pat_str, pat_len, test_str, BoxName, 1); +} + + +//--------------------------------------------------------------------------- +// CheckStringInList +//--------------------------------------------------------------------------- + + +BOOLEAN SbieDll_CheckStringInList(const WCHAR* string, const WCHAR* boxname, const WCHAR* setting) +{ + WCHAR buf[66]; + ULONG index = 0; + while (1) { + NTSTATUS status = SbieApi_QueryConfAsIs(boxname, setting, index, buf, 64 * sizeof(WCHAR)); + ++index; + if (NT_SUCCESS(status)) { + if (_wcsicmp(buf, string) == 0) { + return TRUE; + } + } + else if (status != STATUS_BUFFER_TOO_SMALL) + break; + } + return FALSE; +} + + +//--------------------------------------------------------------------------- +// CheckStringInList +//--------------------------------------------------------------------------- + + +SBIEDLL_EXPORT BOOLEAN SbieDll_GetBoolForStringFromList(const WCHAR* string, const WCHAR* boxname, const WCHAR* setting, BOOLEAN def_found, BOOLEAN not_found) +{ + WCHAR buf[128]; + ULONG index = 0; + while (1) { + NTSTATUS status = SbieApi_QueryConfAsIs(boxname, setting, index, buf, 64 * sizeof(WCHAR)); + ++index; + if (NT_SUCCESS(status)) { + WCHAR* ptr = wcschr(buf, L','); + if (ptr) *ptr = L'\0'; + if (_wcsicmp(buf, string) == 0) { + if (ptr++) { + if (*ptr == L'y' || *ptr == L'Y') + return TRUE; + if (*ptr == L'n' || *ptr == L'N') + return FALSE; + } + return def_found; + } + } + else if (status != STATUS_BUFFER_TOO_SMALL) + break; + } + return not_found; } \ No newline at end of file diff --git a/Sandboxie/core/dll/custom.c b/Sandboxie/core/dll/custom.c index 22ac4c0386..75c5081aaf 100644 --- a/Sandboxie/core/dll/custom.c +++ b/Sandboxie/core/dll/custom.c @@ -23,7 +23,6 @@ #include "dll.h" #include "common/my_version.h" -#include "core/svc/SbieIniWire.h" #include @@ -1475,111 +1474,3 @@ _FX void Custom_Load_UxTheme(void) } } } - - - -//--------------------------------------------------------------------------- -// SbieDll_MatchImage -//--------------------------------------------------------------------------- - - -BOOLEAN SbieDll_MatchImage_Impl(const WCHAR* pat_str, ULONG pat_len, const WCHAR* test_str, const WCHAR* BoxName, ULONG depth) -{ - if (*pat_str == L'<') { - - ULONG index; - WCHAR buf[CONF_LINE_LEN]; - - if (depth >= 6) - return FALSE; - - for (index = 0; ; ++index) { - - // - // get next process group setting, compare to passed group name. - // if the setting is = then we accept it. - // - - NTSTATUS status = SbieApi_QueryConfAsIs( - BoxName, L"ProcessGroup", index, buf, CONF_LINE_LEN * sizeof(WCHAR)); - if (!NT_SUCCESS(status)) - break; - WCHAR* value = buf; - - ULONG value_len = wcslen(value); - if (value_len <= pat_len + 1) - continue; - if (_wcsnicmp(value, pat_str, pat_len) != 0) - continue; - - value += pat_len; - if (*value != L',') - continue; - ++value; - - // - // value now points at the comma-separated - // list of processes in this process group - // - - while (*value) { - WCHAR* ptr = wcschr(value, L','); - if (ptr) - value_len = (ULONG)(ULONG_PTR)(ptr - value); - else - value_len = wcslen(value); - - if (value_len) { - - if (SbieDll_MatchImage_Impl(value, value_len, test_str, BoxName, depth + 1)) - return TRUE; - } - - value += value_len; - while (*value == L',') - ++value; - } - } - - } - else { - - ULONG test_len = wcslen(test_str); - if (test_len == pat_len) - return (_wcsnicmp(test_str, pat_str, test_len) == 0); - - } - - return FALSE; -} - - -BOOLEAN SbieDll_MatchImage(const WCHAR* pat_str, const WCHAR* test_str, const WCHAR* BoxName) -{ - ULONG pat_len = wcslen(pat_str); - return SbieDll_MatchImage_Impl(pat_str, pat_len, test_str, BoxName, 1); -} - - -//--------------------------------------------------------------------------- -// CheckStringInList -//--------------------------------------------------------------------------- - - -BOOLEAN SbieDll_CheckStringInList(const WCHAR* string, const WCHAR* boxname, const WCHAR* setting) -{ - WCHAR buf[66]; - ULONG index = 0; - while (1) { - NTSTATUS status = SbieApi_QueryConfAsIs(boxname, setting, index, buf, 64 * sizeof(WCHAR)); - ++index; - if (NT_SUCCESS(status)) { - if (_wcsicmp(buf, string) == 0) { - return TRUE; - } - } - else if (status != STATUS_BUFFER_TOO_SMALL) - break; - } - return FALSE; -} diff --git a/Sandboxie/core/dll/dll.h b/Sandboxie/core/dll/dll.h index cb8382bc09..a806b15687 100644 --- a/Sandboxie/core/dll/dll.h +++ b/Sandboxie/core/dll/dll.h @@ -217,6 +217,11 @@ typedef struct _THREAD_DATA { ULONG SizeofPortMsg; BOOLEAN bOperaFileDlgThread; + // + // rpc module + // + + ULONG_PTR rpc_caller; } THREAD_DATA; @@ -643,6 +648,7 @@ BOOLEAN Ole_Init(HMODULE); BOOLEAN Pst_Init(HMODULE); BOOLEAN Lsa_Init_Secur32(HMODULE); + BOOLEAN Lsa_Init_SspiCli(HMODULE); BOOLEAN Setup_Init_SetupApi(HMODULE); diff --git a/Sandboxie/core/dll/dllpath.c b/Sandboxie/core/dll/dllpath.c index 30c32b82e6..76258b34df 100644 --- a/Sandboxie/core/dll/dllpath.c +++ b/Sandboxie/core/dll/dllpath.c @@ -228,13 +228,20 @@ _FX ULONG SbieDll_MatchPath2(WCHAR path_code, const WCHAR *path, BOOLEAN bCheckO return 0; } - if (path_code == L'p') { + if (path_code == L'f') { + monflag = MONITOR_FILE; + } else if (path_code == L'k') { + monflag = MONITOR_KEY; + } else if (path_code == L'p') { path_code = L'f'; monflag = MONITOR_PIPE; - } else if (path_code == L'i') + } else if (path_code == L'i') { monflag = MONITOR_IPC; - else - monflag = 0; + if (path && path[0] == L'\\' && path[1] == L'K' + && (wcsncmp(path, L"\\KnownDlls", 10) == 0)) // this will be traced by the driver + monflag = 0; + } else + monflag = MONITOR_OTHER; // // select path list @@ -417,16 +424,20 @@ _FX ULONG SbieDll_MatchPath2(WCHAR path_code, const WCHAR *path, BOOLEAN bCheckO // log access request in the resource access monitor // - if (monflag) { + if (path && monflag) { if (PATH_IS_CLOSED(mp_flags)) monflag |= MONITOR_DENY; + // If hts file or key it will be logged by the driver's trace facility + // we only have to log closed events as those never reach the driver + else if (monflag == MONITOR_FILE || monflag == MONITOR_KEY) + bMonitorLog = FALSE; else if (PATH_IS_OPEN(mp_flags)) monflag |= MONITOR_OPEN; if (bMonitorLog) { - SbieApi_MonitorPut2(monflag, path_lwr, bCheckObjectExists); + SbieApi_MonitorPut2(monflag, path, bCheckObjectExists); } } diff --git a/Sandboxie/core/dll/file.c b/Sandboxie/core/dll/file.c index 529ced85c3..fb072b7fd4 100644 --- a/Sandboxie/core/dll/file.c +++ b/Sandboxie/core/dll/file.c @@ -2306,7 +2306,8 @@ _FX NTSTATUS File_NtCreateFile( // File_NtCreateFileImpl //--------------------------------------------------------------------------- -/*static P_NtCreateFile __sys_NtCreateFile_ = NULL; +/* +static P_NtCreateFile __sys_NtCreateFile_ = NULL; _FX NTSTATUS File_MyCreateFile( HANDLE* FileHandle, @@ -2327,9 +2328,11 @@ _FX NTSTATUS File_MyCreateFile( CreateOptions, EaBuffer, EaLength); if (ObjectAttributes && ObjectAttributes->ObjectName && ObjectAttributes->ObjectName->Buffer - && _wcsicmp(ObjectAttributes->ObjectName->Buffer, L"\\??\\C:") == 0) + && _wcsicmp(ObjectAttributes->ObjectName->Buffer, L"\\??\\PhysicalDrive0") == 0) { - DebugBreak(); + WCHAR text[1024]; + Sbie_snwprintf(text, 1024, L"%s <%08X>", ObjectAttributes->ObjectName->Buffer, status); + SbieApi_MonitorPut(MONITOR_OTHER, text); } status = StopTailCallOptimization(status); @@ -2376,11 +2379,20 @@ _FX NTSTATUS File_NtCreateFileImpl( // // __debugbreak(); //} - //if (__sys_NtCreateFile_ == NULL) - //{ - // __sys_NtCreateFile_ = __sys_NtCreateFile; - // __sys_NtCreateFile = File_MyCreateFile; - //} + /*if (__sys_NtCreateFile_ == NULL) + { + __sys_NtCreateFile_ = __sys_NtCreateFile; + __sys_NtCreateFile = File_MyCreateFile; + } + + if (ObjectAttributes && ObjectAttributes->ObjectName && ObjectAttributes->ObjectName->Buffer + && _wcsicmp(ObjectAttributes->ObjectName->Buffer, L"\\??\\PhysicalDrive0") == 0) + { + return __sys_NtCreateFile( + FileHandle, DesiredAccess, ObjectAttributes, IoStatusBlock, + AllocationSize, FileAttributes, ShareAccess, CreateDisposition, + CreateOptions, EaBuffer, EaLength); + }*/ // // if this is a recursive invocation of NtCreateFile, @@ -2516,6 +2528,7 @@ _FX NTSTATUS File_NtCreateFileImpl( && wcsncmp(ObjectAttributes->ObjectName->Buffer, L"\\??\\", 4) == 0 && (DesiredAccess & ~(SYNCHRONIZE | READ_CONTROL | FILE_READ_EA | FILE_READ_ATTRIBUTES)) != 0) { + if (!SbieApi_QueryConfBool(NULL, L"AllowRawDiskRead", FALSE)) if ((ObjectAttributes->ObjectName->Length == (6 * sizeof(WCHAR)) && ObjectAttributes->ObjectName->Buffer[5] == L':') // \??\C: || wcsncmp(&ObjectAttributes->ObjectName->Buffer[4], L"PhysicalDrive", 13) == 0 // \??\PhysicalDrive1 || wcsncmp(&ObjectAttributes->ObjectName->Buffer[4], L"Volume", 6) == 0) // \??\Volume{2b985816-4b6f-11ea-bd33-48a4725d5bbe} diff --git a/Sandboxie/core/dll/ipc.c b/Sandboxie/core/dll/ipc.c index 89a73c6b86..d3deeb9a0e 100644 --- a/Sandboxie/core/dll/ipc.c +++ b/Sandboxie/core/dll/ipc.c @@ -375,6 +375,7 @@ _FX BOOLEAN Ipc_Init(void) g_Ipc_DynamicPortNames[WPAD_PORT] = Dll_Alloc(DYNAMIC_PORT_NAME_CHARS * sizeof(WCHAR)); g_Ipc_DynamicPortNames[SMART_CARD_PORT] = Dll_Alloc(DYNAMIC_PORT_NAME_CHARS * sizeof(WCHAR)); g_Ipc_DynamicPortNames[BT_PORT] = Dll_Alloc(DYNAMIC_PORT_NAME_CHARS * sizeof(WCHAR)); + g_Ipc_DynamicPortNames[SSDP_PORT] = Dll_Alloc(DYNAMIC_PORT_NAME_CHARS * sizeof(WCHAR)); g_Ipc_DynamicPortNames[GAME_CONFIG_STORE_PORT] = Dll_Alloc(DYNAMIC_PORT_NAME_CHARS * sizeof(WCHAR)); diff --git a/Sandboxie/core/dll/ldr.c b/Sandboxie/core/dll/ldr.c index 885a23ac42..262878d84f 100644 --- a/Sandboxie/core/dll/ldr.c +++ b/Sandboxie/core/dll/ldr.c @@ -190,12 +190,17 @@ static P_NtLoadDriver __sys_NtLoadDriver = NULL; P_LdrGetDllHandleEx __sys_LdrGetDllHandleEx = NULL; static P_Ldr_CallOneDllCallback __my_Ldr_CallOneDllCallback = NULL; + static P_NtOpenThreadToken __sys_NtOpenThreadToken = NULL; -static P_RtlEqualSid __sys_RtlEqualSid = NULL; + +P_RtlEqualSid __sys_RtlEqualSid = NULL; extern ULONG Dll_Windows; + extern BOOLEAN Secure_Is_IE_NtQueryInformationToken; +extern BOOLEAN Secure_FakeAdmin; + //--------------------------------------------------------------------------- // Variables //--------------------------------------------------------------------------- @@ -487,7 +492,7 @@ _FX BOOLEAN Ldr_Init() Ldr_Callbacks = Dll_Alloc(sizeof(ULONG_PTR) * LDR_NUM_CALLBACKS); memzero(Ldr_Callbacks, sizeof(ULONG_PTR) * LDR_NUM_CALLBACKS); - if (Dll_OsBuild >= 6000) { + if (Dll_OsBuild >= 6000) { // Windows Vista SbieDll_RegisterDllCallback(Ldr_MyDllCallbackA); __my_Ldr_CallOneDllCallback = Ldr_CallOneDllCallback; } @@ -499,16 +504,31 @@ _FX BOOLEAN Ldr_Init() // // hook entrypoints // - if (Dll_OsBuild >= 9600) { + + void* RtlEqualSid = (P_RtlEqualSid)GetProcAddress(Dll_Ntdll, "RtlEqualSid"); + + SBIEDLL_HOOK(Ldr_, RtlEqualSid); + + if (Secure_FakeAdmin || Dll_OsBuild >= 9600) { + + void* NtAccessCheckByType = GetProcAddress(Dll_Ntdll, "NtAccessCheckByType"); + void* NtAccessCheck = GetProcAddress(Dll_Ntdll, "NtAccessCheck"); + void* NtQuerySecurityAttributesToken = GetProcAddress(Dll_Ntdll, "NtQuerySecurityAttributesToken"); + void* NtQueryInformationToken = GetProcAddress(Dll_Ntdll, "NtQueryInformationToken"); + void* NtAccessCheckByTypeResultList = GetProcAddress(Dll_Ntdll, "NtAccessCheckByTypeResultList"); + + + SBIEDLL_HOOK(Ldr_, NtQuerySecurityAttributesToken); + SBIEDLL_HOOK(Ldr_, NtAccessCheckByType); + SBIEDLL_HOOK(Ldr_, NtAccessCheck); + SBIEDLL_HOOK(Ldr_, NtAccessCheckByTypeResultList); + SBIEDLL_HOOK(Ldr_, NtQueryInformationToken); + } + + if (Dll_OsBuild >= 9600) { // Windows 8.1 and later NTSTATUS rc = 0; - void *NtAccessCheckByType = GetProcAddress(Dll_Ntdll, "NtAccessCheckByType"); - void *NtAccessCheck = GetProcAddress(Dll_Ntdll, "NtAccessCheck"); - void *NtQuerySecurityAttributesToken = GetProcAddress(Dll_Ntdll, "NtQuerySecurityAttributesToken"); - void *NtQueryInformationToken = GetProcAddress(Dll_Ntdll, "NtQueryInformationToken"); - void *NtAccessCheckByTypeResultList = GetProcAddress(Dll_Ntdll, "NtAccessCheckByTypeResultList"); void *NtTerminateProcess = (P_NtTerminateProcess)GetProcAddress(Dll_Ntdll, "NtTerminateProcess"); - void *RtlEqualSid = (P_RtlEqualSid)GetProcAddress(Dll_Ntdll, "RtlEqualSid"); __sys_LdrRegisterDllNotification = (P_LdrRegisterDllNotification)GetProcAddress(Dll_Ntdll, "LdrRegisterDllNotification"); __sys_LdrUnregisterDllNotification = (P_LdrUnregisterDllNotification)GetProcAddress(Dll_Ntdll, "LdrUnregisterDllNotification"); @@ -525,19 +545,13 @@ _FX BOOLEAN Ldr_Init() } SBIEDLL_HOOK(Ldr_, NtTerminateProcess); - SBIEDLL_HOOK(Ldr_, NtQueryInformationToken); - SBIEDLL_HOOK(Ldr_, NtQuerySecurityAttributesToken); - SBIEDLL_HOOK(Ldr_, NtAccessCheckByType); - SBIEDLL_HOOK(Ldr_, NtAccessCheck); - SBIEDLL_HOOK(Ldr_, NtAccessCheckByTypeResultList); SBIEDLL_HOOK(Ldr_Win10_, LdrLoadDll); SBIEDLL_HOOK(Ldr_, NtLoadDriver); if (DLL_IMAGE_GOOGLE_CHROME == Dll_ImageType) { SBIEDLL_HOOK(Ldr_, NtOpenThreadToken); } - SBIEDLL_HOOK(Ldr_, RtlEqualSid); } - else { + else { // Windows 8 and before SBIEDLL_HOOK(Ldr_, LdrLoadDll); SBIEDLL_HOOK(Ldr_, LdrUnloadDll); SBIEDLL_HOOK(Ldr_, LdrQueryImageFileExecutionOptions); @@ -564,7 +578,7 @@ _FX BOOLEAN Ldr_Init() // on Windows 8, we use a hook on NtApphelpCacheControl instead // - if (Dll_OsBuild < 8400) { + if (Dll_OsBuild < 8400) { // Windows 7 and older ReadImageFileExecOptions = (UCHAR *)(NtCurrentPeb() + 1); @@ -589,8 +603,8 @@ _FX BOOLEAN Ldr_Init() // Ldr_LoadInjectDlls(); // - // initialize manifest - // + // initialize manifest + // Ldr_Inject_Init(FALSE); Sxs_ActivateDefaultManifest((void *)Ldr_ImageBase); @@ -1367,6 +1381,9 @@ _FX NTSTATUS Ldr_NtLoadDriver(UNICODE_STRING *RegistryPath) _FX void Ldr_TestToken(HANDLE token, PHANDLE hTokenReal) { + if (Dll_OsBuild < 9600) // this magic values are available only from windows 8.1 onwards + return; + if ((LONG_PTR)token == LDR_TOKEN_PRIMARY) { NtOpenProcessToken(NtCurrentProcess(), TOKEN_QUERY, hTokenReal); } @@ -1392,8 +1409,10 @@ _FX NTSTATUS Ldr_NtQueryInformationToken( NTSTATUS status = 0; THREAD_DATA *TlsData = NULL; HANDLE hTokenReal = NULL; + BOOLEAN FakeAdmin = FALSE; Ldr_TestToken(TokenHandle, &hTokenReal); + status = __sys_NtQueryInformationToken( hTokenReal ? hTokenReal : TokenHandle, TokenInformationClass, TokenInformation, TokenInformationLength, ReturnLength); @@ -1403,15 +1422,18 @@ _FX NTSTATUS Ldr_NtQueryInformationToken( NtClose(hTokenReal); } - if (!Secure_Is_IE_NtQueryInformationToken) + // + // To make the process think we need to chage here a fe values + // we also ensure that tha token belongs to the current process + // + + if (Secure_FakeAdmin && (SbieApi_QueryProcessInfoEx(0, 'ippt', (LONG_PTR)hTokenReal))) { - return status; + FakeAdmin = TRUE; } - TlsData = Dll_GetTlsData(NULL); - // - // NtQueryInformationToken is hooked only for Internet Explorer. + // NtQueryInformationToken is hooked for Internet Explorer. // // if the check occurs during CreateProcess, then return the real // information, so UAC elevation may occur for the new process. @@ -1420,9 +1442,21 @@ _FX NTSTATUS Ldr_NtQueryInformationToken( // we are running as Administrator // - if (NT_SUCCESS(status) && (!TlsData->proc_create_process)) { + TlsData = Dll_GetTlsData(NULL); + + if (Secure_Is_IE_NtQueryInformationToken && !TlsData->proc_create_process) + { + FakeAdmin = TRUE; + } + + if (NT_SUCCESS(status) && FakeAdmin) { + + if (TokenInformationClass == TokenElevation) { - if (TokenInformationClass == TokenElevationType) { + *(BOOLEAN *)TokenInformation = TRUE; + } + + else if (TokenInformationClass == TokenElevationType) { // // on Vista, fake a return value for a full token @@ -1431,7 +1465,7 @@ _FX NTSTATUS Ldr_NtQueryInformationToken( *(ULONG *)TokenInformation = TokenElevationTypeFull; } - if (TokenInformationClass == TokenIntegrityLevel) { + else if (TokenInformationClass == TokenIntegrityLevel) { // // on Vista, fake a high integrity level @@ -1519,7 +1553,9 @@ _FX NTSTATUS Ldr_NtAccessCheck(PSECURITY_DESCRIPTOR SecurityDescriptor, HANDLE C HANDLE hTokenReal = NULL; Ldr_TestToken(ClientToken, &hTokenReal); + status = __sys_NtAccessCheck(SecurityDescriptor, hTokenReal ? hTokenReal : ClientToken, DesiredAccess, GenericMapping, RequiredPrivilegesBuffer, BufferLength, GrantedAccess, AccessStatus); + if (hTokenReal) { NtClose(hTokenReal); } diff --git a/Sandboxie/core/dll/rpcrt.c b/Sandboxie/core/dll/rpcrt.c index 68f84cc984..2788815889 100644 --- a/Sandboxie/core/dll/rpcrt.c +++ b/Sandboxie/core/dll/rpcrt.c @@ -43,6 +43,9 @@ static ULONG RpcRt_RpcBindingInqAuthClientEx( static ULONG RpcRt_RpcBindingFromStringBindingW( const WCHAR *StringBinding, void **OutBinding); +static ULONG RpcRt_RpcBindingFromStringBindingA( + const CHAR* StringBinding, void** OutBinding); + static RPC_STATUS NsiRpc_NsiRpcRegisterChangeNotification( LPVOID p1, LPVOID p2, LPVOID p3, LPVOID p4, LPVOID p5, LPVOID p6, LPVOID p7); @@ -52,6 +55,12 @@ static RPC_STATUS RpcRt_RpcBindingCreateW( RPC_BINDING_HANDLE_OPTIONS_V1 * Options, RPC_BINDING_HANDLE * Binding); +static RPC_STATUS RpcRt_RpcBindingCreateA( + RPC_BINDING_HANDLE_TEMPLATE_V1_A* Template, + RPC_BINDING_HANDLE_SECURITY_V1_A* Security, + RPC_BINDING_HANDLE_OPTIONS_V1* Options, + RPC_BINDING_HANDLE* Binding); + void *Scm_QueryServiceByName( const WCHAR *ServiceNm, ULONG with_service_status, ULONG with_service_config); @@ -91,6 +100,9 @@ typedef ULONG (*P_RpcBindingInqAuthClientEx)( typedef ULONG (*P_RpcBindingFromStringBindingW)( const WCHAR *StringBinding, void **OutBinding); +typedef ULONG(*P_RpcBindingFromStringBindingA)( + const CHAR* StringBinding, void** OutBinding); + typedef RPC_STATUS (*P_NsiRpcRegisterChangeNotification)( LPVOID p1, LPVOID p2, LPVOID p3, LPVOID p4, LPVOID p5, LPVOID p6, LPVOID p7); @@ -100,6 +112,12 @@ typedef RPC_STATUS (*P_RpcBindingCreateW)( RPC_BINDING_HANDLE_OPTIONS_V1 * Options, RPC_BINDING_HANDLE * Binding); +typedef RPC_STATUS(*P_RpcBindingCreateA)( + RPC_BINDING_HANDLE_TEMPLATE_V1_A* Template, + RPC_BINDING_HANDLE_SECURITY_V1_A* Security, + RPC_BINDING_HANDLE_OPTIONS_V1* Options, + RPC_BINDING_HANDLE* Binding); + typedef RPC_STATUS (RPC_ENTRY *P_RpcStringBindingComposeW)( TCHAR *ObjUuid, TCHAR *ProtSeq, TCHAR *NetworkAddr, TCHAR *EndPoint, TCHAR *Options, TCHAR **StringBinding); RPC_STATUS RPC_ENTRY RpcRt_RpcStringBindingComposeW( TCHAR *ObjUuid, @@ -133,9 +151,12 @@ P_RpcBindingInqAuthClientEx __sys_RpcBindingInqAuthClientEx = NULL; P_RpcBindingFromStringBindingW __sys_RpcBindingFromStringBindingW = NULL; +P_RpcBindingFromStringBindingA __sys_RpcBindingFromStringBindingA = NULL; + P_NsiRpcRegisterChangeNotification __sys_NsiRpcRegisterChangeNotification = NULL; P_RpcBindingCreateW __sys_RpcBindingCreateW = NULL; +P_RpcBindingCreateA __sys_RpcBindingCreateA = NULL; P_RpcMgmtSetComTimeout __sys_RpcMgmtSetComTimeout = NULL; #define RPC_C_BINDING_TIMEOUT 4 @@ -181,7 +202,9 @@ _FX BOOLEAN RpcRt_Init(HMODULE module) if (Dll_OsBuild >= 6000) // Vista { P_RpcBindingFromStringBindingW RpcBindingFromStringBindingW; + P_RpcBindingFromStringBindingA RpcBindingFromStringBindingA; P_RpcBindingCreateW RpcBindingCreateW; + P_RpcBindingCreateA RpcBindingCreateA; if ( Dll_OsBuild >= 15063) { void *RpcStringBindingComposeW; @@ -194,13 +217,23 @@ _FX BOOLEAN RpcRt_Init(HMODULE module) SBIEDLL_HOOK(RpcRt_, RpcBindingFromStringBindingW); + RpcBindingFromStringBindingA = (P_RpcBindingFromStringBindingA) + Ldr_GetProcAddrNew(DllName_rpcrt4, L"RpcBindingFromStringBindingA", "RpcBindingFromStringBindingA"); + + SBIEDLL_HOOK(RpcRt_, RpcBindingFromStringBindingA); + RpcBindingCreateW = (P_RpcBindingCreateW) Ldr_GetProcAddrNew(DllName_rpcrt4, L"RpcBindingCreateW", "RpcBindingCreateW"); SBIEDLL_HOOK(RpcRt_, RpcBindingCreateW); + RpcBindingCreateA = (P_RpcBindingCreateA) + Ldr_GetProcAddrNew(DllName_rpcrt4, L"RpcBindingCreateA", "RpcBindingCreateA"); + + SBIEDLL_HOOK(RpcRt_, RpcBindingCreateA); + __sys_RpcMgmtSetComTimeout = (P_RpcMgmtSetComTimeout)Ldr_GetProcAddrNew(DllName_rpcrt4, L"RpcMgmtSetComTimeout", "RpcMgmtSetComTimeout"); - __use_RpcMgmtSetComTimeout = Config_GetSettingsForImageName_bool(L"RpcMgmtSetComTimeout", FALSE); + __use_RpcMgmtSetComTimeout = Config_GetSettingsForImageName_bool(L"RpcMgmtSetComTimeout", TRUE); } WCHAR wsTraceOptions[4]; @@ -385,6 +418,29 @@ WCHAR* GetDynamicLpcPortName(ENUM_DYNAMIC_PORT_TYPE portType) } +//--------------------------------------------------------------------------- +// RpcRt_RpcBindingFromStringBindingA +//--------------------------------------------------------------------------- + + +_FX ULONG RpcRt_RpcBindingFromStringBindingA( + const CHAR* StringBinding, void** OutBinding) +{ + NTSTATUS status = 0; + THREAD_DATA* TlsData = NULL; + + TlsData = Dll_GetTlsData(NULL); + + TlsData->rpc_caller = (ULONG_PTR)_ReturnAddress(); + + status = __sys_RpcBindingFromStringBindingA(StringBinding, OutBinding); + + TlsData->rpc_caller = 0; + + return status; +} + + //--------------------------------------------------------------------------- // RpcRt_RpcBindingFromStringBindingW //--------------------------------------------------------------------------- @@ -433,7 +489,9 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW( BOOLEAN use_RpcMgmtSetComTimeout = __use_RpcMgmtSetComTimeout; - ULONG_PTR pRetAddr = (ULONG_PTR)_ReturnAddress(); + THREAD_DATA* TlsData = Dll_GetTlsData(NULL); + + ULONG_PTR pRetAddr = TlsData->rpc_caller ? TlsData->rpc_caller : (ULONG_PTR)_ReturnAddress(); WCHAR wstrPortName[DYNAMIC_PORT_NAME_CHARS]; memset(wstrPortName, 0, sizeof(wstrPortName)); @@ -461,6 +519,7 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW( ULONG_PTR hWinHttp = (ULONG_PTR)GetModuleHandle(L"WinHttp.dll"); ULONG_PTR hBtApi = (ULONG_PTR)GetModuleHandle(L"BluetoothApis.dll"); + ULONG_PTR hSsdpApi = (ULONG_PTR)GetModuleHandle(L"SSDPAPI.dll"); // A if (RpcRt_TestCallingModule(pRetAddr, hWinHttp)) { @@ -472,6 +531,11 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW( // Bluetooth support service pwszTempPortName = GetDynamicLpcPortName(BT_PORT); } + else if (RpcRt_TestCallingModule(pRetAddr, hSsdpApi)) + { + // Simple Service Discovery Protocol API + pwszTempPortName = GetDynamicLpcPortName(SSDP_PORT); + } if (pwszTempPortName != pwszEmpty) { @@ -504,6 +568,9 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW( } } + WCHAR* CallingModule = Trace_FindModuleByAddress((void*)pRetAddr); + if (CallingModule) + use_RpcMgmtSetComTimeout = SbieDll_GetBoolForStringFromList(CallingModule, NULL, L"UseRpcMgmtSetComTimeout", TRUE, use_RpcMgmtSetComTimeout); RPC_STATUS status; status = __sys_RpcBindingFromStringBindingW(*wstrPortName ? wstrPortName : StringBinding, OutBinding); @@ -513,8 +580,6 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW( { WCHAR msg[512]; - WCHAR* CallingModule = Trace_FindModuleByAddress((void*)pRetAddr); - //Sbie_snwprintf(msg, 512, L"SBIE p=%06d t=%06d RpcBindingFromStringBindingW StringBinding = '%s', BindingHandle = 0x%X, status = 0x%X\n", GetCurrentProcessId(), GetCurrentThreadId(), Sbie_snwprintf(msg, 512, L"StringBinding = '%s', wstrPortName = '%s', BindingHandle = 0x%X, status = 0x%08X, timeout = %d, caller = '%s'", StringBinding, wstrPortName, OutBinding, status, use_RpcMgmtSetComTimeout, @@ -529,6 +594,30 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW( } +//--------------------------------------------------------------------------- +// RpcRt_RpcBindingCreateW +//--------------------------------------------------------------------------- + +_FX RPC_STATUS RpcRt_RpcBindingCreateA( + __in RPC_BINDING_HANDLE_TEMPLATE_V1_A* Template, + __in_opt RPC_BINDING_HANDLE_SECURITY_V1_A* Security, + __in_opt RPC_BINDING_HANDLE_OPTIONS_V1* Options, + __out RPC_BINDING_HANDLE* Binding) +{ + NTSTATUS status = 0; + THREAD_DATA* TlsData = NULL; + + TlsData = Dll_GetTlsData(NULL); + + TlsData->rpc_caller = (ULONG_PTR)_ReturnAddress(); + + status = __sys_RpcBindingCreateA(Template, Security, Options, Binding); + + TlsData->rpc_caller = 0; + + return status; +} + //--------------------------------------------------------------------------- // RpcRt_RpcBindingCreateW //--------------------------------------------------------------------------- @@ -549,7 +638,11 @@ _FX RPC_STATUS RpcRt_RpcBindingCreateW( __in_opt RPC_BINDING_HANDLE_OPTIONS_V1 * Options, __out RPC_BINDING_HANDLE * Binding) { - ULONG_PTR pRetAddr = (ULONG_PTR)_ReturnAddress(); + BOOLEAN use_RpcMgmtSetComTimeout = __use_RpcMgmtSetComTimeout; + + THREAD_DATA* TlsData = Dll_GetTlsData(NULL); + + ULONG_PTR pRetAddr = TlsData->rpc_caller ? TlsData->rpc_caller : (ULONG_PTR)_ReturnAddress(); if ( (memcmp(&Template->ObjectUuid, &MSDTC_UUID, sizeof(GUID)) == 0) && RPC_PROTSEQ_LRPC == Template->ProtocolSequence && !Template->StringEndpoint) { @@ -573,8 +666,20 @@ _FX RPC_STATUS RpcRt_RpcBindingCreateW( // Win 10 AU WinRT interface - {88ABCBC3-34EA-76AE-8215-767520655A23} Template->StringEndpoint = GetDynamicLpcPortName(GAME_CONFIG_STORE_PORT); } + else + { + ULONG_PTR pAppXDeploymentClient = (ULONG_PTR)GetModuleHandle(L"AppXDeploymentClient.dll"); + + if (RpcRt_TestCallingModule(pRetAddr, pAppXDeploymentClient)) { + use_RpcMgmtSetComTimeout = TRUE; + } + } } + WCHAR* CallingModule = Trace_FindModuleByAddress((void*)pRetAddr); + if (CallingModule) + use_RpcMgmtSetComTimeout = SbieDll_GetBoolForStringFromList(CallingModule, NULL, L"UseRpcMgmtSetComTimeout", TRUE, use_RpcMgmtSetComTimeout); + RPC_STATUS status; status = __sys_RpcBindingCreateW(Template, Security, Options, Binding); // If there are any IpcTrace options set, then output this debug string @@ -584,20 +689,18 @@ _FX RPC_STATUS RpcRt_RpcBindingCreateW( WCHAR msg[512]; RPC_CSTR StringUuid; - WCHAR* CallingModule = Trace_FindModuleByAddress((void*)pRetAddr); - __sys_UuidToStringW(&Template->ObjectUuid, &StringUuid); //Sbie_snwprintf(msg, 512, L"SBIE p=%06d t=%06d RpcBindingCreateW Endpoint = '%s', UUID = %s, status = 0x%X\n", GetCurrentProcessId(), GetCurrentThreadId(), Sbie_snwprintf(msg, 512, L"Endpoint = '%s', UUID = %s, status = 0x%08X, timeout = %d, caller = '%s'", Template && Template->StringEndpoint ? Template->StringEndpoint : L"null", - StringUuid, status, __use_RpcMgmtSetComTimeout, + StringUuid, status, use_RpcMgmtSetComTimeout, CallingModule ? CallingModule : L"unknown"); __sys_RpcStringFreeW(&StringUuid); //OutputDebugString(msg); SbieApi_MonitorPut2(MONITOR_IPC | MONITOR_TRACE, msg, FALSE); } - if (__use_RpcMgmtSetComTimeout) __sys_RpcMgmtSetComTimeout(*Binding, RPC_C_BINDING_TIMEOUT); + if (use_RpcMgmtSetComTimeout) __sys_RpcMgmtSetComTimeout(*Binding, RPC_C_BINDING_TIMEOUT); return status; } @@ -648,12 +751,12 @@ void RpcRt_NdrClientCallX(const WCHAR* Function, void* ReturnAddress,PMIDL_STUB_ WCHAR interfaceID[48]; Sbie_StringFromGUID(&rpcInterface->InterfaceId.SyntaxGUID, interfaceID); - Sbie_snwprintf(text, 512, L"Calling %s for interface %s}, %d.%d by %s", Function, interfaceID, + Sbie_snwprintf(text, 512, L"Calling %s UUID = %s}, %d.%d, caller = '%s'", Function, interfaceID, rpcInterface->InterfaceId.SyntaxVersion.MajorVersion, rpcInterface->InterfaceId.SyntaxVersion.MinorVersion, CallingModule); } else { - Sbie_snwprintf(text, 512, L"Calling %s by %s", Function, CallingModule); + Sbie_snwprintf(text, 512, L"Calling %s caller = '%s'", Function, CallingModule); } } __except (EXCEPTION_EXECUTE_HANDLER) {} diff --git a/Sandboxie/core/dll/sbieapi.c b/Sandboxie/core/dll/sbieapi.c index e100fee35e..5d61ebbb1e 100644 --- a/Sandboxie/core/dll/sbieapi.c +++ b/Sandboxie/core/dll/sbieapi.c @@ -631,6 +631,19 @@ _FX LONG SbieApi_QueryProcessEx2( _FX ULONG64 SbieApi_QueryProcessInfo( HANDLE ProcessId, ULONG info_type) +{ + return SbieApi_QueryProcessInfoEx(ProcessId, info_type, 0); +} + +//--------------------------------------------------------------------------- +// SbieApi_QueryProcessInfoEx +//--------------------------------------------------------------------------- + + +_FX ULONG64 SbieApi_QueryProcessInfoEx( + HANDLE ProcessId, + ULONG info_type, + ULONG64 ext_data) { NTSTATUS status; __declspec(align(8)) ULONG64 ResultValue; @@ -643,6 +656,7 @@ _FX ULONG64 SbieApi_QueryProcessInfo( args->process_id.val64 = (ULONG64)(ULONG_PTR)ProcessId; args->info_type.val64 = (ULONG64)(ULONG_PTR)info_type; args->info_data.val64 = (ULONG64)(ULONG_PTR)&ResultValue; + args->ext_data.val64 = (ULONG64)(ULONG_PTR)ext_data; status = SbieApi_Ioctl(parms); @@ -821,16 +835,19 @@ _FX LONG SbieApi_EnumProcessEx( const WCHAR *box_name, // WCHAR [34] BOOLEAN all_sessions, ULONG which_session, // -1 for current session - ULONG *boxed_pids) // ULONG [512] + ULONG *boxed_pids, // ULONG [512] + ULONG *boxed_count) { NTSTATUS status; __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; + memset(parms, 0, sizeof(parms)); parms[0] = API_ENUM_PROCESSES; parms[1] = (ULONG64)(ULONG_PTR)boxed_pids; parms[2] = (ULONG64)(ULONG_PTR)box_name; parms[3] = (ULONG64)(ULONG_PTR)all_sessions; parms[4] = (ULONG64)(LONG_PTR)which_session; + parms[5] = (ULONG64)(LONG_PTR)boxed_count; status = SbieApi_Ioctl(parms); if (! NT_SUCCESS(status)) @@ -854,6 +871,7 @@ _FX LONG SbieApi_DisableForceProcess( API_DISABLE_FORCE_PROCESS_ARGS *args = (API_DISABLE_FORCE_PROCESS_ARGS *)parms; + memset(parms, 0, sizeof(parms)); args->func_code = API_DISABLE_FORCE_PROCESS; args->set_flag.val64 = (ULONG64)(ULONG_PTR)NewState; args->get_flag.val64 = (ULONG64)(ULONG_PTR)OldState; @@ -878,6 +896,7 @@ _FX LONG SbieApi_DisableForceProcess( NTSTATUS status; __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; + memset(parms, 0, sizeof(parms)); parms[0] = API_HOOK_TRAMP; parms[1] = (ULONG64)(ULONG_PTR)Source; parms[2] = (ULONG64)(ULONG_PTR)Trampoline; @@ -938,6 +957,7 @@ _FX LONG SbieApi_GetFileName( __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; API_GET_FILE_NAME_ARGS *args = (API_GET_FILE_NAME_ARGS *)parms; + memset(parms, 0, sizeof(parms)); args->func_code = API_GET_FILE_NAME; args->handle.val64 = (ULONG64)(ULONG_PTR)FileHandle; args->name_len.val64 = (ULONG64)(ULONG_PTR)NameLen; @@ -1165,6 +1185,7 @@ _FX LONG SbieApi_OpenDeviceMap( __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; API_OPEN_DEVICE_MAP_ARGS *args = (API_OPEN_DEVICE_MAP_ARGS *)parms; + memset(parms, 0, sizeof(parms)); args->func_code = API_OPEN_DEVICE_MAP; args->handle.val64 = (ULONG64)(ULONG_PTR)&ResultHandle; status = SbieApi_Ioctl(parms); @@ -1218,6 +1239,7 @@ _FX LONG SbieApi_ReloadConf(ULONG session_id) NTSTATUS status; __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; + memset(parms, 0, sizeof(parms)); parms[0] = API_RELOAD_CONF; parms[1] = session_id; status = SbieApi_Ioctl(parms); @@ -1255,6 +1277,7 @@ _FX LONG SbieApi_QueryConf( Output.MaximumLength = (USHORT)buffer_len; Output.Buffer = (ULONG64)(ULONG_PTR)out_buffer; + memset(parms, 0, sizeof(parms)); parms[0] = API_QUERY_CONF; parms[1] = (ULONG64)(ULONG_PTR)x_section; parms[2] = (ULONG64)(ULONG_PTR)x_setting; @@ -1379,6 +1402,7 @@ _FX LONG SbieApi_MonitorControl( __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; API_MONITOR_CONTROL_ARGS *args = (API_MONITOR_CONTROL_ARGS *)parms; + memset(parms, 0, sizeof(parms)); args->func_code = API_MONITOR_CONTROL; args->set_flag.val64 = (ULONG64)(ULONG_PTR)NewState; args->get_flag.val64 = (ULONG64)(ULONG_PTR)OldState; @@ -1406,6 +1430,7 @@ _FX LONG SbieApi_MonitorPut( __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; API_MONITOR_GET_PUT_ARGS *args = (API_MONITOR_GET_PUT_ARGS *)parms; + memset(parms, 0, sizeof(parms)); args->func_code = API_MONITOR_PUT; args->log_type.val64 = (ULONG64)(ULONG_PTR)&Type; args->log_len.val64 = wcslen(Name) * sizeof(WCHAR); @@ -1429,6 +1454,7 @@ _FX LONG SbieApi_MonitorPut2( __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; API_MONITOR_PUT2_ARGS *args = (API_MONITOR_PUT2_ARGS *)parms; + memset(parms, 0, sizeof(parms)); args->func_code = API_MONITOR_PUT2; args->log_type.val64 = (ULONG64)(ULONG_PTR)&Type; args->log_len.val64 = wcslen(Name) * sizeof(WCHAR); @@ -1453,6 +1479,7 @@ _FX LONG SbieApi_MonitorGet( __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; API_MONITOR_GET_PUT_ARGS *args = (API_MONITOR_GET_PUT_ARGS *)parms; + memset(parms, 0, sizeof(parms)); args->func_code = API_MONITOR_GET; args->log_type.val64 = (ULONG64)(ULONG_PTR)Type; args->log_len.val64 = 256 * sizeof(WCHAR); @@ -1486,6 +1513,7 @@ _FX LONG SbieApi_MonitorGetEx( __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; API_MONITOR_GET_EX_ARGS *args = (API_MONITOR_GET_EX_ARGS *)parms; + memset(parms, 0, sizeof(parms)); args->func_code = API_MONITOR_GET_EX; args->log_seq.val64 = (ULONG64)(ULONG_PTR)SeqNum; args->log_type.val64 = (ULONG64)(ULONG_PTR)Type; @@ -1518,6 +1546,7 @@ _FX LONG SbieApi_GetUnmountHive( __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; API_GET_UNMOUNT_HIVE_ARGS *args = (API_GET_UNMOUNT_HIVE_ARGS *)parms; + memset(parms, 0, sizeof(parms)); args->func_code = API_GET_UNMOUNT_HIVE; args->path.val64 = (ULONG64)(ULONG_PTR)path; status = SbieApi_Ioctl(parms); @@ -1543,6 +1572,7 @@ _FX LONG SbieApi_SessionLeader(HANDLE TokenHandle, HANDLE *ProcessId) __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; API_SESSION_LEADER_ARGS *args = (API_SESSION_LEADER_ARGS *)parms; + memset(parms, 0, sizeof(parms)); args->func_code = API_SESSION_LEADER; if (ProcessId) { args->token_handle.val64 = (ULONG64)(ULONG_PTR)TokenHandle; diff --git a/Sandboxie/core/dll/sbieapi.h b/Sandboxie/core/dll/sbieapi.h index e9eccaf356..8718e05ac3 100644 --- a/Sandboxie/core/dll/sbieapi.h +++ b/Sandboxie/core/dll/sbieapi.h @@ -134,6 +134,12 @@ ULONG64 SbieApi_QueryProcessInfo( HANDLE ProcessId, ULONG info_type); +SBIEAPI_EXPORT +ULONG64 SbieApi_QueryProcessInfoEx( + HANDLE ProcessId, + ULONG info_type, + ULONG64 ext_data); + SBIEAPI_EXPORT LONG SbieApi_QueryBoxPath( const WCHAR *box_name, // WCHAR [34] @@ -163,13 +169,14 @@ LONG SbieApi_QueryPathList( SBIEAPI_EXPORT LONG SbieApi_EnumProcessEx( - const WCHAR *box_name, // WCHAR [34] + const WCHAR* box_name, // WCHAR [34] BOOLEAN all_sessions, ULONG which_session, // -1 for current session - ULONG *boxed_pids); // ULONG [512] + ULONG* boxed_pids, // ULONG [512] + ULONG* boxed_count); #define SbieApi_EnumProcess(box_name,boxed_pids) \ - SbieApi_EnumProcessEx(box_name,FALSE,-1,boxed_pids) + SbieApi_EnumProcessEx(box_name,FALSE,-1,boxed_pids, NULL) //--------------------------------------------------------------------------- diff --git a/Sandboxie/core/dll/sbiedll.h b/Sandboxie/core/dll/sbiedll.h index af779f2293..baf81dd0d0 100644 --- a/Sandboxie/core/dll/sbiedll.h +++ b/Sandboxie/core/dll/sbiedll.h @@ -203,6 +203,7 @@ SBIEDLL_EXPORT ULONG SbieDll_InjectLow(HANDLE hProcess, BOOLEAN is_wow64, BOOLE SBIEDLL_EXPORT BOOLEAN SbieDll_MatchImage(const WCHAR* pat_str, const WCHAR* test_str, const WCHAR* BoxName); SBIEDLL_EXPORT BOOLEAN SbieDll_CheckStringInList(const WCHAR* string, const WCHAR* boxname, const WCHAR* setting); +SBIEDLL_EXPORT BOOLEAN SbieDll_GetBoolForStringFromList(const WCHAR* string, const WCHAR* boxname, const WCHAR* setting, BOOLEAN def_found, BOOLEAN not_found); SBIEDLL_EXPORT BOOLEAN SbieDll_GetBorderColor(const WCHAR* box_name, COLORREF* color, BOOL* title, int* width); diff --git a/Sandboxie/core/dll/secure.c b/Sandboxie/core/dll/secure.c index b89cf783c3..790e6ca61e 100644 --- a/Sandboxie/core/dll/secure.c +++ b/Sandboxie/core/dll/secure.c @@ -88,6 +88,12 @@ static NTSTATUS Secure_NtAdjustPrivilegesToken( static NTSTATUS Secure_RtlQueryElevationFlags(ULONG *Flags); +static NTSTATUS Secure_RtlCheckTokenMembershipEx( + HANDLE tokenHandle, + PSID sidToCheck, + DWORD flags, + PUCHAR isMember); + static BOOLEAN Secure_IsSameBox(HANDLE idProcess); @@ -103,6 +109,7 @@ static P_NtQueryInformationToken __sys_NtQueryInformationToken = NULL; static P_NtSetInformationToken __sys_NtSetInformationToken = NULL; static P_NtAdjustPrivilegesToken __sys_NtAdjustPrivilegesToken = NULL; static P_RtlQueryElevationFlags __sys_RtlQueryElevationFlags = NULL; +static P_RtlCheckTokenMembershipEx __sys_RtlCheckTokenMembershipEx = NULL; static P_NtQuerySecurityAttributesToken __sys_NtQuerySecurityAttributesToken = NULL; @@ -118,6 +125,7 @@ PSECURITY_DESCRIPTOR Secure_EveryoneSD = NULL; BOOLEAN Secure_IsInternetExplorerTabProcess = FALSE; BOOLEAN Secure_Is_IE_NtQueryInformationToken = FALSE; +BOOLEAN Secure_FakeAdmin = FALSE; //--------------------------------------------------------------------------- // Secure_InitSecurityDescriptors @@ -242,6 +250,7 @@ void Secure_InitSecurityDescriptors(void) _FX BOOLEAN Secure_Init(void) { void *RtlQueryElevationFlags; + void *RtlCheckTokenMembershipEx; // // intercept NTDLL entry points @@ -274,13 +283,15 @@ _FX BOOLEAN Secure_Init(void) // install hooks to fake administrator privileges // + Secure_FakeAdmin = Config_GetSettingsForImageName_bool(L"FakeAdminRights", FALSE); + RtlQueryElevationFlags = GetProcAddress(Dll_Ntdll, "RtlQueryElevationFlags"); if (RtlQueryElevationFlags) { - BOOLEAN ShouldFakeRunningAsAdmin = - Dll_ImageType == DLL_IMAGE_SANDBOXIE_SBIESVC + BOOLEAN ShouldFakeRunningAsAdmin = Secure_FakeAdmin + || Dll_ImageType == DLL_IMAGE_SANDBOXIE_SBIESVC || Dll_ImageType == DLL_IMAGE_SANDBOXIE_RPCSS || Dll_ImageType == DLL_IMAGE_INTERNET_EXPLORER || (_wcsicmp(Dll_ImageName, L"SynTPEnh.exe") == 0) @@ -322,6 +333,18 @@ _FX BOOLEAN Secure_Init(void) } } + RtlCheckTokenMembershipEx = + GetProcAddress(Dll_Ntdll, "RtlCheckTokenMembershipEx"); + + if (RtlCheckTokenMembershipEx) { + + if (Secure_FakeAdmin) { + + SBIEDLL_HOOK(Secure_, RtlCheckTokenMembershipEx); + } + + } + return TRUE; } @@ -876,7 +899,7 @@ _FX NTSTATUS Secure_RtlQueryElevationFlags(ULONG *Flags) // - InstallerDetectEnabled (0x04) - Detection of installers // - BOOLEAN fake = FALSE; + BOOLEAN fake = Secure_FakeAdmin; // FALSE; if (Dll_ImageType == DLL_IMAGE_INTERNET_EXPLORER) { @@ -954,6 +977,39 @@ _FX NTSTATUS Secure_RtlQueryElevationFlags(ULONG *Flags) } +//--------------------------------------------------------------------------- +// Secure_IsRestrictedToken +//--------------------------------------------------------------------------- + +NTSTATUS Secure_RtlCheckTokenMembershipEx( + HANDLE tokenHandle, + PSID sidToCheck, + DWORD flags, + PUCHAR isMember) +{ + + static UCHAR AdministratorsSid[16] = { + 1, // Revision + 2, // SubAuthorityCount + 0,0,0,0,0,5, // SECURITY_NT_AUTHORITY // IdentifierAuthority + 0x20, 0, 0, 0, // SubAuthority 1 - SECURITY_BUILTIN_DOMAIN_RID + 0x20, 2, 0, 0 // SubAuthority 2 - DOMAIN_ALIAS_RID_ADMINS + }; + + typedef BOOL (*P_EqualSid)(PSID pSid1, PSID pSid2); + extern P_EqualSid __sys_RtlEqualSid; + + if (Secure_FakeAdmin && __sys_RtlEqualSid && __sys_RtlEqualSid(sidToCheck, AdministratorsSid)) { + if (isMember) *isMember = TRUE; + return STATUS_SUCCESS; + } + + NTSTATUS status = __sys_RtlCheckTokenMembershipEx(tokenHandle, sidToCheck, flags, isMember); + + return status; +} + + //--------------------------------------------------------------------------- // Secure_IsRestrictedToken //--------------------------------------------------------------------------- diff --git a/Sandboxie/core/drv/api_defs.h b/Sandboxie/core/drv/api_defs.h index ce2a28516d..69c04520c0 100644 --- a/Sandboxie/core/drv/api_defs.h +++ b/Sandboxie/core/drv/api_defs.h @@ -232,6 +232,7 @@ API_ARGS_BEGIN(API_QUERY_PROCESS_INFO_ARGS) API_ARGS_FIELD(HANDLE,process_id) API_ARGS_FIELD(ULONG,info_type) API_ARGS_FIELD(ULONG64 *,info_data) +API_ARGS_FIELD(ULONG64, ext_data) API_ARGS_CLOSE(API_QUERY_PROCESS_INFO_ARGS) diff --git a/Sandboxie/core/drv/api_flags.h b/Sandboxie/core/drv/api_flags.h index 11c857b234..efe99feb9a 100644 --- a/Sandboxie/core/drv/api_flags.h +++ b/Sandboxie/core/drv/api_flags.h @@ -59,7 +59,7 @@ //#define MONITOR_ 0x0FFB #define MONITOR_OPEN 0x1000 #define MONITOR_DENY 0x2000 -//#define MONITOR_ 0x4000 +#define MONITOR_USER 0x4000 #define MONITOR_TRACE 0x8000 diff --git a/Sandboxie/core/drv/file.c b/Sandboxie/core/drv/file.c index d666e65a05..09e5c1fceb 100644 --- a/Sandboxie/core/drv/file.c +++ b/Sandboxie/core/drv/file.c @@ -610,7 +610,7 @@ _FX BOOLEAN File_InitPaths(PROCESS *proc, L"\\Device\\NamedPipe\\XTIERRPCPIPE", // Novell NetIdentity NULL }; - static const WCHAR *strClosedFiles[] = { + static const WCHAR *strWinRMFiles[] = { // Windows Remote Management (WinRM) is a large security hole. A sandboxed app running in an elevated cmd shell can send any admin command to the host. // Block the WinRS.exe and the automation dlls to make it very difficult for someone to use. // See ICD-10136 "Sandboxie security hole allows guest to run any command in host as admin" @@ -618,6 +618,11 @@ _FX BOOLEAN File_InitPaths(PROCESS *proc, L"%SystemRoot%\\System32\\wsmsvc.dll", L"%SystemRoot%\\System32\\wsmauto.dll", L"%SystemRoot%\\System32\\winrs.exe", + // Don't forget the WoW64 files + L"%SystemRoot%\\SysWoW64\\wsmsvc.dll", + L"%SystemRoot%\\SysWoW64\\wsmauto.dll", + L"%SystemRoot%\\SysWoW64\\winrs.exe", + // Note: This is not a proper fix its just a cheap mitidation!!! NULL }; @@ -676,8 +681,9 @@ _FX BOOLEAN File_InitPaths(PROCESS *proc, } } - for (i = 0; strClosedFiles[i] && ok; ++i) { - ok = Process_AddPath(proc, closed_file_paths, _ClosedPath, TRUE, strClosedFiles[i], FALSE); + if(Conf_Get_Boolean(proc->box->name, L"BlockWinRM", 0, TRUE)) + for (i = 0; strWinRMFiles[i] && ok; ++i) { + ok = Process_AddPath(proc, closed_file_paths, _ClosedPath, TRUE, strWinRMFiles[i], FALSE); } if (! ok) { @@ -2224,6 +2230,35 @@ _FX NTSTATUS File_Api_Open(PROCESS *proc, ULONG64 *parms) CreateOptions |= FILE_DIRECTORY_FILE; } + if (proc->file_trace & (TRACE_ALLOW | TRACE_DENY)) { + + WCHAR access_str[48]; + WCHAR letter; + + if (is_closed && (proc->file_trace & TRACE_DENY)) + letter = L'D'; + else if (proc->file_trace & TRACE_ALLOW) + letter = L'A'; + else + letter = 0; + + if (letter) { + + USHORT mon_type = MONITOR_FILE; + mon_type |= MONITOR_TRACE; + + swprintf(access_str, L"(F%c) %08X.%02X.%08X", + letter, DesiredAccess, + 0 & 0x0F, CreateOptions); + Log_Debug_Msg(mon_type, access_str, path); + } + } + else if (is_closed) { + + Session_MonitorPut(MONITOR_FILE | MONITOR_DENY, path, proc->pid); + } + + // // for a named pipe in the sandbox, use other parameters for the // call to IoCreateFileSpecifyDeviceObjectHint. this is necessary diff --git a/Sandboxie/core/drv/file_ctrl.c b/Sandboxie/core/drv/file_ctrl.c index 6d4008dfda..08d9e0fbe6 100644 --- a/Sandboxie/core/drv/file_ctrl.c +++ b/Sandboxie/core/drv/file_ctrl.c @@ -94,11 +94,11 @@ _FX NTSTATUS Syscall_DeviceIoControlFile( case 0x211: //CM_Create_DevNode case 0x212: //CM_Uninstall_DevNode //case 0x213: //CM_Reenumerate_DevNode,CM_Setup_DevNode - case 0x214: //CM_Open_Device_Interface_Key + //case 0x214: //CM_Open_Device_Interface_Key case 0x215: //CM_Delete_Device_Interface_Key - case 0x216: //OpenLogConfKey,OpenLogConfKey,CM_Open_DevNode_Key,CM_Get_DevNode_Custom_Property,OpenDeviceHwProfileKey + //case 0x216: //OpenLogConfKey,OpenLogConfKey,CM_Open_DevNode_Key,CM_Get_DevNode_Custom_Property,OpenDeviceHwProfileKey case 0x217: //CM_Delete_DevNode_Key - case 0x218: //CM_Open_Class_Key + //case 0x218: //CM_Open_Class_Key case 0x219: //CM_Delete_Class_Key filter = TRUE; @@ -111,6 +111,25 @@ _FX NTSTATUS Syscall_DeviceIoControlFile( const WCHAR* strings[2] = { msg_str, NULL }; Session_MonitorPutEx(MONITOR_OTHER | MONITOR_TRACE, strings, NULL, PsGetCurrentProcessId(), PsGetCurrentThreadId());*/ + if (Session_MonitorCount && (proc->ipc_trace & (TRACE_ALLOW | TRACE_DENY))) { + + USHORT mon_type = MONITOR_IPC; + + if (filter && (proc->ipc_trace & TRACE_DENY)) + mon_type |= MONITOR_DENY; + else if (!filter && (proc->ipc_trace & TRACE_ALLOW)) + mon_type |= MONITOR_OPEN; + else + mon_type = 0; + + if (mon_type) { + WCHAR msg_str[24]; + swprintf(msg_str, L" Func: %02X", (ULONG)function); + const WCHAR* strings[3] = { L"\\Device\\DeviceApi\\CMApi", msg_str, NULL }; + Session_MonitorPutEx(mon_type, strings, NULL, PsGetCurrentProcessId(), PsGetCurrentThreadId()); + } + } + if(filter) return STATUS_ACCESS_DENIED; } diff --git a/Sandboxie/core/drv/ipc.c b/Sandboxie/core/drv/ipc.c index f0a42e54e8..1b22452670 100644 --- a/Sandboxie/core/drv/ipc.c +++ b/Sandboxie/core/drv/ipc.c @@ -208,6 +208,7 @@ _FX BOOLEAN Ipc_Init(void) if (!Mem_GetLockResource(&Ipc_Dynamic_Ports[WPAD_PORT].pPortLock, TRUE) || !Mem_GetLockResource(&Ipc_Dynamic_Ports[SMART_CARD_PORT].pPortLock, TRUE) || !Mem_GetLockResource(&Ipc_Dynamic_Ports[BT_PORT].pPortLock, TRUE) + || !Mem_GetLockResource(&Ipc_Dynamic_Ports[SSDP_PORT].pPortLock, TRUE) // since Windows 8 || !Mem_GetLockResource(&Ipc_Dynamic_Ports[SPOOLER_PORT].pPortLock, TRUE) // since Windows 10 @@ -647,7 +648,7 @@ _FX BOOLEAN Ipc_InitPaths(PROCESS *proc) // proc->ipc_block_password = - Conf_Get_Boolean(proc->box->name, L"BlockPassword", 0, TRUE); + Conf_Get_Boolean(proc->box->name, L"BlockPassword", 0, TRUE); // OpenLsaSSPI (Security Support Provider Interface) proc->ipc_open_lsa_endpoint = Conf_Get_Boolean(proc->box->name, L"OpenLsaEndpoint", 0, FALSE); @@ -867,7 +868,7 @@ _FX NTSTATUS Ipc_CheckGenericObject( // if (is_open && pattern[0] == L'\\' && pattern[1] == L'K' - && (wcscmp(pattern, L"\\KnownDlls\\*") == 0)) { + && (wcsncmp(pattern, L"\\KnownDlls", 10) == 0)) { // L"\\KnownDlls\\*", L"\\KnownDlls32\\*", if (GrantedAccess & (DELETE | SECTION_EXTEND_SIZE)) status = STATUS_ACCESS_DENIED; diff --git a/Sandboxie/core/drv/process.h b/Sandboxie/core/drv/process.h index 75ecb7e7ff..f9abf00d0e 100644 --- a/Sandboxie/core/drv/process.h +++ b/Sandboxie/core/drv/process.h @@ -355,7 +355,7 @@ void Process_LogMessage(PROCESS *proc, ULONG msgid); // Track process limit -void Process_TrackProcessLimit(PROCESS *proc); +//void Process_TrackProcessLimit(PROCESS *proc); // Cancel process through SbieSvc diff --git a/Sandboxie/core/drv/process_api.c b/Sandboxie/core/drv/process_api.c index 29491ab407..13f7a4ed23 100644 --- a/Sandboxie/core/drv/process_api.c +++ b/Sandboxie/core/drv/process_api.c @@ -412,8 +412,21 @@ _FX NTSTATUS Process_Api_QueryInfo(PROCESS *proc, ULONG64 *parms) else status = STATUS_NOT_FOUND; } - } - else + + } else if (args->info_type.val == 'ippt') { // is primary process token + + HANDLE handle = (HANDLE)(args->ext_data.val); + + OBJECT_TYPE* object; + status = ObReferenceObjectByHandle(handle, 0, NULL, UserMode, &object, NULL); + if (NT_SUCCESS(status)) + { + *data = (object == proc->primary_token); + + ObDereferenceObject(object); + } + + } else status = STATUS_INVALID_INFO_CLASS; // @@ -785,6 +798,9 @@ _FX NTSTATUS Process_Enumerate( ULONG num; KIRQL irql; + if (count == NULL) + return STATUS_INVALID_PARAMETER; + // // return only processes of the caller user in their logon session // @@ -812,22 +828,19 @@ _FX NTSTATUS Process_Enumerate( BOOLEAN same_session = (all_sessions || box1->session_id == session_id); if (same_box && same_session) { - ++num; if (pids) { - if (num == API_MAX_PIDS) - break; + if(num >= *count) + break; pids[num] = (ULONG)(ULONG_PTR)proc1->pid; } + ++num; } } proc1 = (PROCESS *)List_Next(proc1); } - if (pids) - *(ULONG *)pids = num; - if (count) - *count = num; + *count = num; status = STATUS_SUCCESS; @@ -850,11 +863,13 @@ _FX NTSTATUS Process_Enumerate( _FX NTSTATUS Process_Api_Enum(PROCESS *proc, ULONG64 *parms) { NTSTATUS status; + ULONG count; ULONG *user_pids; // user mode ULONG [512] WCHAR *user_boxname; // user mode WCHAR [34] BOOLEAN all_sessions; ULONG session_id; WCHAR boxname[48]; + ULONG *user_count; // get boxname from second parameter @@ -878,15 +893,33 @@ _FX NTSTATUS Process_Api_Enum(PROCESS *proc, ULONG64 *parms) // get user pid buffer from first parameter + user_count = (ULONG *)parms[5]; user_pids = (ULONG *)parms[1]; - if (! user_pids) - return STATUS_INVALID_PARAMETER; - ProbeForWrite(user_pids, sizeof(ULONG) * 512, sizeof(ULONG)); + + if (user_count) { + ProbeForRead(user_count, sizeof(ULONG), sizeof(ULONG)); + count = user_pids ? *user_count : 0; + } + else // legacy case + { + if (!user_pids) + return STATUS_INVALID_PARAMETER; + count = API_MAX_PIDS - 1; + user_count = user_pids; + user_pids += 1; + } + + ProbeForWrite(user_count, sizeof(ULONG), sizeof(ULONG)); + if (user_pids) { + ProbeForWrite(user_pids, sizeof(ULONG) * count, sizeof(ULONG)); + } status = Process_Enumerate(boxname, all_sessions, session_id, - user_pids, NULL); + user_pids, &count); if (! NT_SUCCESS(status)) return status; + *user_count = count; + return status; } diff --git a/Sandboxie/core/drv/process_util.c b/Sandboxie/core/drv/process_util.c index 1e96018213..d3fb99bdec 100644 --- a/Sandboxie/core/drv/process_util.c +++ b/Sandboxie/core/drv/process_util.c @@ -985,49 +985,49 @@ _FX void Process_LogMessage(PROCESS *proc, ULONG msgid) //--------------------------------------------------------------------------- -_FX void Process_TrackProcessLimit(PROCESS *proc) -{ - ULONG v; - ULONG ProcessLimit1; - ULONG ProcessLimit2; - - // - // get the process limits in this sandbox - // - - ProcessLimit1 = 100; - ProcessLimit2 = 200; - - v = Conf_Get_Number(proc->box->name, L"ProcessLimit1", 0, 0); - if (v >= 1 && v <= 999999) - ProcessLimit1 = v; - - v = Conf_Get_Number(proc->box->name, L"ProcessLimit2", 0, 0); - if (v >= 1 && v <= 999999) - ProcessLimit2 = v; - - if (ProcessLimit2 <= ProcessLimit1) - ProcessLimit2 = ProcessLimit1 + 1; - - // - // count number of processes in this sandbox - // - - Process_Enumerate(proc->box->name, FALSE, proc->box->session_id, - NULL, &v); - - if (v > ProcessLimit2) { - - Process_SetTerminated(proc, 4); - - } else if (v > ProcessLimit1) { - - LARGE_INTEGER time; - - time.QuadPart = -SECONDS(10); - KeDelayExecutionThread(KernelMode, FALSE, &time); - } -} +//_FX void Process_TrackProcessLimit(PROCESS *proc) +//{ +// ULONG v; +// ULONG ProcessLimit1; +// ULONG ProcessLimit2; +// +// // +// // get the process limits in this sandbox +// // +// +// ProcessLimit1 = 100; +// ProcessLimit2 = 200; +// +// v = Conf_Get_Number(proc->box->name, L"ProcessLimit1", 0, 0); +// if (v >= 1 && v <= 999999) +// ProcessLimit1 = v; +// +// v = Conf_Get_Number(proc->box->name, L"ProcessLimit2", 0, 0); +// if (v >= 1 && v <= 999999) +// ProcessLimit2 = v; +// +// if (ProcessLimit2 <= ProcessLimit1) +// ProcessLimit2 = ProcessLimit1 + 1; +// +// // +// // count number of processes in this sandbox +// // +// +// Process_Enumerate(proc->box->name, FALSE, proc->box->session_id, +// NULL, &v); +// +// if (v > ProcessLimit2) { +// +// Process_SetTerminated(proc, 4); +// +// } else if (v > ProcessLimit1) { +// +// LARGE_INTEGER time; +// +// time.QuadPart = -SECONDS(10); +// KeDelayExecutionThread(KernelMode, FALSE, &time); +// } +//} //--------------------------------------------------------------------------- diff --git a/Sandboxie/core/drv/session.c b/Sandboxie/core/drv/session.c index af76274252..465b270457 100644 --- a/Sandboxie/core/drv/session.c +++ b/Sandboxie/core/drv/session.c @@ -917,7 +917,7 @@ _FX NTSTATUS Session_Api_MonitorPut2(PROCESS *proc, ULONG64 *parms) name[1] = L'\0'; } - Session_MonitorPut(type, name, proc->pid); + Session_MonitorPut(type | MONITOR_USER, name, proc->pid); } Mem_Free(name, 260 * sizeof(WCHAR)); @@ -975,11 +975,11 @@ _FX NTSTATUS Session_Api_MonitorGetEx(PROCESS *proc, ULONG64 *parms) if (log_tid != NULL) ProbeForWrite(log_tid, sizeof(ULONG64), sizeof(ULONG64)); - log_len = args->log_len.val / sizeof(WCHAR) * sizeof(WCHAR); + log_len = args->log_len.val / sizeof(WCHAR); if (!log_len) return STATUS_INVALID_PARAMETER; log_data = args->log_ptr.val; - ProbeForWrite(log_data, log_len, sizeof(WCHAR)); + ProbeForWrite(log_data, log_len * sizeof(WCHAR), sizeof(WCHAR)); *log_type = 0; if (log_pid != NULL) @@ -1035,13 +1035,14 @@ _FX NTSTATUS Session_Api_MonitorGetEx(PROCESS *proc, ULONG64 *parms) if (log_tid != NULL) *log_tid = tid64; - log_len -= sizeof(WCHAR); // reserve room for the termination character - if (log_len > entry_size - (2 + 8 + 8)) - log_len = entry_size - (2 + 8 + 8); - log_buffer_get_bytes((CHAR*)log_data, log_len, &read_ptr, session->monitor_log); + ULONG data_len = (entry_size - (2 + 8 + 8)) / sizeof(WCHAR); + log_len -= 1; // reserve room for the termination character + if (log_len > data_len) + log_len = data_len; + log_buffer_get_bytes((CHAR*)log_data, log_len * sizeof(WCHAR), &read_ptr, session->monitor_log); // add required termination character - *(WCHAR*)(((CHAR*)log_data) + log_len) = L'\0'; + log_data[log_len] = L'\0'; if (seq_num != NULL) *seq_num = seq_number; diff --git a/Sandboxie/core/drv/syscall_open.c b/Sandboxie/core/drv/syscall_open.c index 75e56b7cde..8a1992bc7c 100644 --- a/Sandboxie/core/drv/syscall_open.c +++ b/Sandboxie/core/drv/syscall_open.c @@ -261,10 +261,10 @@ _FX NTSTATUS Syscall_OpenHandle( puName = pObj->ObjectName; ACCESS_MASK DesiredAccess = (ACCESS_MASK)user_args[1]; - if(!Conf_Get_Boolean(proc->box->name, L"AllowRawDiskRead", 0, FALSE)) if (puName->Buffer != NULL && puName->Length > (4 * sizeof(WCHAR)) && wcsncmp(puName->Buffer, L"\\??\\", 4) == 0 && (DesiredAccess & ~(SYNCHRONIZE | READ_CONTROL | FILE_READ_EA | FILE_READ_ATTRIBUTES)) != 0) { + if (!Conf_Get_Boolean(proc->box->name, L"AllowRawDiskRead", 0, FALSE)) if ((puName->Length == (6 * sizeof(WCHAR)) && puName->Buffer[5] == L':') // \??\C: || wcsncmp(&puName->Buffer[4], L"PhysicalDrive", 13) == 0 // \??\PhysicalDrive1 || wcsncmp(&puName->Buffer[4], L"Volume", 6) == 0) // \??\Volume{2b985816-4b6f-11ea-bd33-48a4725d5bbe} diff --git a/Sandboxie/core/svc/DriverAssist.cpp b/Sandboxie/core/svc/DriverAssist.cpp index ec1e108c38..b6da0609d6 100644 --- a/Sandboxie/core/svc/DriverAssist.cpp +++ b/Sandboxie/core/svc/DriverAssist.cpp @@ -533,7 +533,7 @@ void DriverAssist::UnmountHive(void *_msg) for (retries = 0; retries < 20; ++retries) { rc = SbieApi_EnumProcessEx( - msg->boxname, FALSE, msg->session_id, pids); + msg->boxname, FALSE, msg->session_id, pids, NULL); if (rc == 0 && *pids == 0) { ShouldUnmount = true; diff --git a/Sandboxie/core/svc/EpMapperServer.cpp b/Sandboxie/core/svc/EpMapperServer.cpp index 82ff4f4445..e560909a73 100644 --- a/Sandboxie/core/svc/EpMapperServer.cpp +++ b/Sandboxie/core/svc/EpMapperServer.cpp @@ -74,9 +74,11 @@ MSG_HEADER *EpMapperServer::EpmapperGetPortNameHandler(MSG_HEADER *msg) const WCHAR* wstrSpooler = L"Spooler"; const WCHAR* wstrWPAD = L"WinHttpAutoProxySvc"; //const WCHAR* wstrBT = L"bthserv"; + //const WCHAR* wstrSSDP = L"ssdpsrv"; RPC_IF_ID ifidGCS = { {0x88abcbc3, 0x34EA, 0x76AE, { 0x82, 0x15, 0x76, 0x75, 0x20, 0x65, 0x5A, 0x23 }}, 0, 0 }; RPC_IF_ID ifidSmartCard = { {0xC6B5235A, 0xE413, 0x481D, { 0x9A, 0xC8, 0x31, 0x68, 0x1B, 0x1F, 0xAA, 0xF5 }}, 1, 1 }; RPC_IF_ID ifidBluetooth = { {0x2ACB9D68, 0xB434, 0x4B3E, { 0xB9, 0x66, 0xE0, 0x6B, 0x4B, 0x3A, 0x84, 0xCB }}, 1, 0 }; + RPC_IF_ID ifidSSDP = { {0x4B112204, 0x0E19, 0x11D3, { 0xB4, 0x2B, 0x00, 0x00, 0xF8, 0x1F, 0xEB, 0x9F }}, 1, 0 }; RPC_IF_ID ifidRequest; const WCHAR* pwszServiceName = NULL; @@ -91,6 +93,10 @@ MSG_HEADER *EpMapperServer::EpmapperGetPortNameHandler(MSG_HEADER *msg) //pwszServiceName = wstrBT; break; memcpy(&ifidRequest, &ifidBluetooth, sizeof(RPC_IF_ID)); break; + case SSDP_PORT: if (!SbieApi_QueryConfBool(boxname, L"OpenUPnP", FALSE)) return SHORT_REPLY(E_ACCESSDENIED); + //pwszServiceName = wstrSSDP; break; + memcpy(&ifidRequest, &ifidSSDP, sizeof(RPC_IF_ID)); break; + case GAME_CONFIG_STORE_PORT: memcpy(&ifidRequest, &ifidGCS, sizeof(RPC_IF_ID)); break; case SMART_CARD_PORT: if (!SbieApi_QueryConfBool(boxname, L"OpenSmartCard", TRUE)) return SHORT_REPLY(E_ACCESSDENIED); diff --git a/Sandboxie/core/svc/ProcessServer.cpp b/Sandboxie/core/svc/ProcessServer.cpp index f9f08b6ea2..a0854bc1b3 100644 --- a/Sandboxie/core/svc/ProcessServer.cpp +++ b/Sandboxie/core/svc/ProcessServer.cpp @@ -269,7 +269,7 @@ NTSTATUS ProcessServer::KillAllHelper(const WCHAR *BoxName, ULONG SessionId) for (retries = 0; retries < 10; ++retries) { - status = SbieApi_EnumProcessEx(BoxName, FALSE, SessionId, pids); + status = SbieApi_EnumProcessEx(BoxName, FALSE, SessionId, pids, NULL); if (status != STATUS_SUCCESS) break; if (! pids[0]) diff --git a/SandboxiePlus/QSbieAPI/SbieAPI.cpp b/SandboxiePlus/QSbieAPI/SbieAPI.cpp index a9281916af..1ac592a42f 100644 --- a/SandboxiePlus/QSbieAPI/SbieAPI.cpp +++ b/SandboxiePlus/QSbieAPI/SbieAPI.cpp @@ -280,9 +280,8 @@ SB_STATUS CSbieAPI::Connect(bool withQueue) m->lastMessageNum = 0; m->lastRecordNum = 0; -#ifndef _DEBUG // Note: this lib is not using all functions hence it can be compatible with multiple driver ABI revisions - QStringList CompatVersions = QStringList () << "5.48.0"; + QStringList CompatVersions = QStringList () << "5.48.5"; QString CurVersion = GetVersion(); if (!CompatVersions.contains(CurVersion)) { @@ -290,7 +289,6 @@ SB_STATUS CSbieAPI::Connect(bool withQueue) m->SbieApiHandle = INVALID_HANDLE_VALUE; return SB_ERR(SB_Incompatible, QVariantList() << CurVersion << CompatVersions.join(", ")); } -#endif m_bWithQueue = withQueue; m_bTerminate = false; @@ -1085,7 +1083,7 @@ SB_STATUS CSbieAPI::UpdateProcesses(bool bKeep) return SB_OK; } -SB_STATUS CSbieAPI__GetProcessPIDs(SSbieAPI* m, const QString& BoxName, ULONG* boxed_pids_512) +SB_STATUS CSbieAPI__GetProcessPIDs(SSbieAPI* m, const QString& BoxName, ULONG* pids, ULONG* count) { WCHAR box_name[34]; BoxName.toWCharArray(box_name); // fix-me: potential overflow @@ -1097,10 +1095,11 @@ SB_STATUS CSbieAPI__GetProcessPIDs(SSbieAPI* m, const QString& BoxName, ULONG* b memset(parms, 0, sizeof(parms)); parms[0] = API_ENUM_PROCESSES; - parms[1] = (ULONG64)boxed_pids_512; + parms[1] = (ULONG64)pids; parms[2] = (ULONG64)box_name; parms[3] = (ULONG64)all_sessions; parms[4] = (ULONG64)which_session; + parms[5] = (ULONG64)count; NTSTATUS status = m->IoControl(parms); if (!NT_SUCCESS(status)) @@ -1110,14 +1109,15 @@ SB_STATUS CSbieAPI__GetProcessPIDs(SSbieAPI* m, const QString& BoxName, ULONG* b SB_STATUS CSbieAPI::UpdateProcesses(bool bKeep, const CSandBoxPtr& pBox) { - ULONG boxed_pids[512]; // ULONG [512] - SB_STATUS Status = CSbieAPI__GetProcessPIDs(m, pBox->GetName(), boxed_pids); + ULONG count = 1024; + ULONG boxed_pids[1024]; // ULONG [512] + SB_STATUS Status = CSbieAPI__GetProcessPIDs(m, pBox->GetName(), boxed_pids, &count); if (Status.IsError()) return Status; QMap OldProcessList = pBox->m_ProcessList; - for (int i=1; i < boxed_pids[0] + 1; i++) + for (int i=0; i < count; i++) { quint32 ProcessId = boxed_pids[i]; @@ -1157,8 +1157,8 @@ SB_STATUS CSbieAPI::UpdateProcesses(bool bKeep, const CSandBoxPtr& pBox) bool CSbieAPI::HasProcesses(const QString& BoxName) { - ULONG boxed_pids[512]; // ULONG [512] - return CSbieAPI__GetProcessPIDs(m, BoxName, boxed_pids) && (boxed_pids[0] > 0); + ULONG count; + return CSbieAPI__GetProcessPIDs(m, BoxName, NULL, &count) && (count > 0); } SB_STATUS CSbieAPI__QueryBoxPath(SSbieAPI* m, const WCHAR *box_name, WCHAR *out_file_path, WCHAR *out_key_path, WCHAR *out_ipc_path, diff --git a/SandboxiePlus/QSbieAPI/SbieTrace.cpp b/SandboxiePlus/QSbieAPI/SbieTrace.cpp index 7e3a04cd74..78663e0dc7 100644 --- a/SandboxiePlus/QSbieAPI/SbieTrace.cpp +++ b/SandboxiePlus/QSbieAPI/SbieTrace.cpp @@ -96,22 +96,28 @@ CTraceEntry::CTraceEntry(quint32 ProcessId, quint32 ThreadId, quint32 Type, cons QString CTraceEntry::GetTypeStr() const { + QString Type; switch (m_Type.Type) { - case MONITOR_APICALL: return "ApiCall"; - case MONITOR_SYSCALL: return "SysCall"; - case MONITOR_PIPE: return "Pipe"; - case MONITOR_IPC: return "Ipc"; - case MONITOR_WINCLASS: return "WinClass"; - case MONITOR_DRIVE: return "Drive"; - case MONITOR_COMCLASS: return "ComClass"; - case MONITOR_IGNORE: return "Ignore"; - case MONITOR_IMAGE: return "Image"; - case MONITOR_FILE: return "File"; - case MONITOR_KEY: return "Key"; - case MONITOR_OTHER: return "Debug"; - default: return "Unknown: " + QString::number(m_Type.Type); + case MONITOR_APICALL: Type = "ApiCall"; break; + case MONITOR_SYSCALL: Type = "SysCall"; break; + case MONITOR_PIPE: Type = "Pipe"; break; + case MONITOR_IPC: Type = "Ipc"; break; + case MONITOR_WINCLASS: Type = "WinClass"; break; + case MONITOR_DRIVE: Type = "Drive"; break; + case MONITOR_COMCLASS: Type = "ComClass"; break; + case MONITOR_IGNORE: Type = "Ignore"; break; + case MONITOR_IMAGE: Type = "Image"; break; + case MONITOR_FILE: Type = "File"; break; + case MONITOR_KEY: Type = "Key"; break; + case MONITOR_OTHER: Type = "Debug"; break; + default: Type = "Unknown: " + QString::number(m_Type.Type); } + + //if (!m_Type.User) + // Type.append(" (drv)"); + + return Type; } QString CTraceEntry::GetStautsStr() const @@ -126,7 +132,10 @@ QString CTraceEntry::GetStautsStr() const Status.append("Trace "); if (m_Counter > 1) - Status.append(QString("(%1)").arg(m_Counter)); + Status.append(QString("(%1) ").arg(m_Counter)); + + if (m_Type.User) + Status = Status.toLower(); return Status; } diff --git a/SandboxiePlus/QSbieAPI/SbieTrace.h b/SandboxiePlus/QSbieAPI/SbieTrace.h index 90cc90b6cc..377aa4a0ba 100644 --- a/SandboxiePlus/QSbieAPI/SbieTrace.h +++ b/SandboxiePlus/QSbieAPI/SbieTrace.h @@ -25,6 +25,57 @@ #define MONITOR_APICALL 0x000A +/* + + // Log Event +#define TRACE_LOG_SYSCALL 0x00000001 +#define TRACE_LOG_PIPE 0x00000002 +#define TRACE_LOG_IPC 0x00000003 +#define TRACE_LOG_WINCLASS 0x00000004 +#define TRACE_LOG_DRIVE 0x00000005 +#define TRACE_LOG_COMCLASS 0x00000006 +#define TRACE_LOG_IGNORE 0x00000007 +#define TRACE_LOG_IMAGE 0x00000008 +#define TRACE_LOG_FILE 0x00000009 +#define TRACE_LOG_KEY 0x0000000A +#define TRACE_LOG_OTHER1 0x0000000B +#define TRACE_LOG_OTHER2 0x0000000C +#define TRACE_LOG_OTHER3 0x0000000D +#define TRACE_LOG_OTHER4 0x0000000E +#define TRACE_LOG_APICALL 0x0000000F // needs the logapi.dll +#define TRACE_LOG_EVENT_MASK 0x000000FF + +// Event States +#define TRACE_LOG_ALLOWED 0x00000100 +#define TRACE_LOG_DENIED 0x00000200 +#define TRACE_LOG_STATE_MASK 0x00000F00 + +// Event Results +#define TRACE_LOG_SUCCESS 0x00001000 +#define TRACE_LOG_FAILED 0x00002000 +#define TRACE_LOG_RESULT_MASK 0x0000F000 + +// Reserved +#define TRACE_LOG_RESERVED_MASK 0x00FFFF00 + +// Event Presets +#define TRACE_LOG_OPEN 0x01000000 +#define TRACE_LOG_CLOSED 0x02000000 +#define TRACE_LOG_READONLY 0x03000000 +#define TRACE_LOG_HIDDEN 0x04000000 +#define TRACE_LOG_REDIRECTED 0x05000000 +#define TRACE_LOG_TYPE_MASK 0x0F000000 + +// Event Sources +#define TRACE_LOG_DLL 0x10000000 +#define TRACE_LOG_DRV 0x20000000 +#define TRACE_LOG_SVC 0x30000000 +#define TRACE_LOG_TRACE 0x40000000 +#define TRACE_LOG_SOURCE_MASK 0xF0000000 + +*/ + + class QSBIEAPI_EXPORT CTraceEntry : public QSharedData { public: @@ -66,7 +117,7 @@ class QSBIEAPI_EXPORT CTraceEntry : public QSharedData Type : 12, Open : 1, Deny : 1, - Reserved : 1, + User : 1, Trace : 1; }; } m_Type; diff --git a/SandboxiePlus/SandMan/Forms/OptionsWindow.ui b/SandboxiePlus/SandMan/Forms/OptionsWindow.ui index 8dcc0e2ce1..3790f4fc6b 100644 --- a/SandboxiePlus/SandMan/Forms/OptionsWindow.ui +++ b/SandboxiePlus/SandMan/Forms/OptionsWindow.ui @@ -6,8 +6,8 @@ 0 0 - 682 - 473 + 657 + 449 @@ -64,13 +64,36 @@ - - + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 75 + true + + - Sandbox Indicator in title: + Appearance - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + @@ -87,27 +110,30 @@ - - - - - + + - Block access to the printer spooler + Prevent change to network and firewall parameters - - + + - Block network files and folders, unless specifically opened. + px Width + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + - Drop rights from Administrators and Power Users groups + Sandbox Indicator in title: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -121,33 +147,22 @@ - - - - Prevent change to network and firewall parameters - - + + - - - - Qt::Horizontal + + + + + 75 + true + - - - 40 - 20 - + + Protect the system from sandboxed processes - - - - - px Width - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + Elevation restrictions @@ -170,46 +185,255 @@ - - + + + + Block network files and folders, unless specifically opened. + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Make applications think thay are running elevated (allows to run installers safely) + + + + + 75 true + + Protect the system from sandboxed processes + - Appearance + Network restrictions - - + + + + Drop rights from Administrators and Power Users groups + + + + + + + + 75 + true + + + + (Recommended) + + + + + + + + 75 + true + + + + Security note: Elevated applications running under the supervision of Sandboxie, with an admin token, have more opportunities to bypass isolation and modify the system outside the sandbox. + + + true + + + + + + + + + + File Options + + + + + + + + Auto delete content when last sandboxed process terminates + + + + + + + Copy file size limit: + + - + 75 true - - Protect the system from sandboxed processes + + Box Delete options + + + + + + + Qt::Horizontal + + + 40 + 20 + + + + + + - General restrictions + Protect this sandbox from deletion or emptying - - + + + + + 75 + true + + + + Raw Disk access + + + + + + + + 75 + true + + + + File Migration + + + + + + + Allow elevated sandboxed applications to read the harddrive + + + + + + + Warn when an application opens a harddrive handle + + + + + + + kilobytes + + + + + + + + 75 + 16777215 + + + + + + + + Issue message 2102 when a file is too large + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 20 + 16777215 + + - + + + + + + + Access Options + + + + + + + + Remove spooler restriction, printers can be installed outside the sandbox + + + + @@ -222,8 +446,50 @@ - - + + + + + 20 + 0 + + + + + 20 + 16777215 + + + + + + + + + + + Block access to the printer spooler + + + + + + + + 75 + true + + + + Protect the system from sandboxed processes + + + Other restrictions + + + + + Qt::Vertical @@ -235,7 +501,7 @@ - + @@ -247,14 +513,48 @@ Protect the system from sandboxed processes - Printing + Printing restrictions - - + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + - Remove spooler restriction, printers can be installed outside the sandbox + Open System Protected Storage + + + + + + + Open Windows Credentials Store + + + + + + + Allow access to Bluetooth + + + + + + + Allow access to Smart Cards @@ -344,101 +644,6 @@ - - - File Options - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Copy file size limit: - - - - - - - kilobytes - - - - - - - Protect this sandbox from deletion or emptying - - - - - - - Auto delete content when last sandboxed process terminates - - - - - - - - 75 - true - - - - File Migration - - - - - - - - 75 - 16777215 - - - - - - - - Issue message 2102 when a file is too large - - - - - - - - 75 - true - - - - Box Delete options - - - - - - - Auto Start @@ -1300,8 +1505,8 @@ For files access you can use 'Direct All' instead to make it apply to all progra - - + + 75 @@ -1309,87 +1514,82 @@ For files access you can use 'Direct All' instead to make it apply to all progra - Protect the system from sandboxed processes + Protect the sandbox integrity itself - Lift security restrictions + Sandbox isolation - - + + - Limit access to the emulated service control manager to privileged processes + Do not start sandboxed services using a system token (recommended) - - - - Qt::Vertical - - - - 20 - 40 - + + + + Add sandboxed processes to job objects (recommended) - + - - - - - 75 - true - - - - Protect the sandbox integrity itself - + + - Sandbox protection + Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes - - + + 75 true - - Protect the sandbox integrity itself - - Sandbox isolation + Compatibility - - + + - Don't alter window class names created by sandboxed programs + Force usage of custom dummy Manifest files (legacy behaviour) - - + + + + Qt::Vertical + + + + 20 + 40 + + + + + + - Do not start sandboxed services using a system token (recommended) + Don't alter window class names created by sandboxed programs - - + + - Open System Protected Storage + Limit access to the emulated service control manager to privileged processes - + Qt::Horizontal @@ -1402,58 +1602,19 @@ For files access you can use 'Direct All' instead to make it apply to all progra - - - - Allow access to Smart Cards - - - - - - - Add sandboxed processes to job objects (recommended) - - - - - - - Force usage of custom dummy Manifest files (legacy behaviour) - - - - - - - Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes - - - - - + + 75 true - - Compatibility - - - - - - - Open Windows Credentials Store + + Protect the sandbox integrity itself - - - - - Allow access to Bluetooth + Sandbox protection @@ -1637,54 +1798,75 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to - - - - - 75 - true - + + + + Qt::Horizontal + + + + 40 + 20 + + + + + - Access Tracing + COM Class Trace - - + + + + IPC Trace + + + + + - Log all SetError's to Trace log + Key Trace - - + + - Qt::Vertical + Qt::Horizontal - 20 - 40 + 40 + 20 - - + + - <- for this one the above does not apply + GUI Trace - - + + - Log Debug Output to the Trace Log + API call trace (requirers logapi to be installed in the sbie dir) - + + + + Log all SetError's to Trace log (creates a lot of output) + + + + File Trace @@ -1692,13 +1874,53 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to - + - Key Trace + Pipe Trace + + + + + + + + 75 + true + + + + Access Tracing + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + <- for this one the above does not apply + + + + + + + Log Debug Output to the Trace Log - + Log all access events as seen by the driver to the resource access log. @@ -1718,59 +1940,25 @@ instead of "*". - - - - GUI Trace - - - - - - - IPC Trace - - - - - - - COM Class Trace - - - - - + + - Pipe Trace + Ntdll syscall Trace (creates a lot of output) - - - - Qt::Horizontal - - + + + - 40 - 20 + 20 + 16777215 - - - - - - Qt::Horizontal - - - - 40 - 20 - + + - + @@ -1996,15 +2184,10 @@ instead of "*". spinBorderWidth chkBlockNetShare chkBlockNetParam - chkDropRights - chkBlockSpooler - chkOpenSpooler - chkPrintToFile treeRun btnAddCmd btnDelCmd chkCopyLimit - txtCopyLimit chkNoCopyWarn chkAutoEmpty chkProtectBox @@ -2063,9 +2246,6 @@ instead of "*". chkRestrictServices chkProtectSCM chkProtectSystem - chkOpenProtectedStorage - chkOpenCredentials - chkOpenSmartCard lstAutoExec btnAddAutoExec btnDelAutoExec diff --git a/SandboxiePlus/SandMan/SandMan.vcxproj b/SandboxiePlus/SandMan/SandMan.vcxproj index f4a5548c04..2c479958fd 100644 --- a/SandboxiePlus/SandMan/SandMan.vcxproj +++ b/SandboxiePlus/SandMan/SandMan.vcxproj @@ -255,6 +255,7 @@ + diff --git a/SandboxiePlus/SandMan/SandMan.vcxproj.filters b/SandboxiePlus/SandMan/SandMan.vcxproj.filters index 8ae7d6928f..79787e00a6 100644 --- a/SandboxiePlus/SandMan/SandMan.vcxproj.filters +++ b/SandboxiePlus/SandMan/SandMan.vcxproj.filters @@ -213,6 +213,9 @@ Translation Files + + Translation Files + diff --git a/SandboxiePlus/SandMan/SbiePlusAPI.cpp b/SandboxiePlus/SandMan/SbiePlusAPI.cpp index 79071f3671..0b3f71b9ea 100644 --- a/SandboxiePlus/SandMan/SbiePlusAPI.cpp +++ b/SandboxiePlus/SandMan/SbiePlusAPI.cpp @@ -115,7 +115,7 @@ void CSandBoxPlus::UpdateDetails() if (CheckOpenToken() || GetBool("StripSystemPrivileges", false)) m_iUnsecureDebugging = 1; - else if(GetBool("ExposeBoxedSystem", false) || GetBool("UnrestrictedSCM", false) || GetBool("RunServicesAsSystem", false)) + else if(GetBool("ExposeBoxedSystem", false) || GetBool("UnrestrictedSCM", false) /*|| GetBool("RunServicesAsSystem", false)*/) m_iUnsecureDebugging = 2; else m_iUnsecureDebugging = 0; diff --git a/SandboxiePlus/SandMan/Views/SbieView.cpp b/SandboxiePlus/SandMan/Views/SbieView.cpp index 1469c6ae2a..9fa6f418c6 100644 --- a/SandboxiePlus/SandMan/Views/SbieView.cpp +++ b/SandboxiePlus/SandMan/Views/SbieView.cpp @@ -85,14 +85,18 @@ CSbieView::CSbieView(QWidget* parent) : CPanelView(parent) m_pMenuCleanUp = m_pMenu->addAction(CSandMan::GetIcon("Erase"), tr("Delete Content"), this, SLOT(OnSandBoxAction())); m_pMenu->addSeparator(); m_pMenuPresets = m_pMenu->addMenu(CSandMan::GetIcon("Presets"), tr("Sandbox Presets")); - m_pMenuPresetsLogApi = m_pMenuPresets->addAction(tr("Enable API Call logging"), this, SLOT(OnSandBoxAction())); - m_pMenuPresetsLogApi->setCheckable(true); + + m_pMenuPresetsAdmin = new QActionGroup(m_pMenuPresets); + m_pMenuPresetsShowUAC = MakeAction(m_pMenuPresetsAdmin, m_pMenuPresets, tr("Ask for UAC Elevation"), 0); + m_pMenuPresetsNoAdmin = MakeAction(m_pMenuPresetsAdmin, m_pMenuPresets, tr("Drop Admin Rights"), 1); + m_pMenuPresetsFakeAdmin = MakeAction(m_pMenuPresetsAdmin, m_pMenuPresets, tr("Emulate Admin Rights"), 1 | 2); + connect(m_pMenuPresetsAdmin, SIGNAL(triggered(QAction*)), this, SLOT(OnSandBoxAction(QAction*))); + + m_pMenuPresets->addSeparator(); m_pMenuPresetsINet = m_pMenuPresets->addAction(tr("Block Internet Access"), this, SLOT(OnSandBoxAction())); m_pMenuPresetsINet->setCheckable(true); m_pMenuPresetsShares = m_pMenuPresets->addAction(tr("Allow Network Shares"), this, SLOT(OnSandBoxAction())); m_pMenuPresetsShares->setCheckable(true); - m_pMenuPresetsNoAdmin = m_pMenuPresets->addAction(tr("Drop Admin Rights"), this, SLOT(OnSandBoxAction())); - m_pMenuPresetsNoAdmin->setCheckable(true); m_pMenuOptions = m_pMenu->addAction(CSandMan::GetIcon("Options"), tr("Sandbox Options"), this, SLOT(OnSandBoxAction())); m_pMenuRename = m_pMenu->addAction(CSandMan::GetIcon("Rename"), tr("Rename Sandbox"), this, SLOT(OnSandBoxAction())); m_iMoveTo = m_pMenu->actions().count(); @@ -252,10 +256,11 @@ void CSbieView::OnMenu(const QPoint& Point) m_pMenuRecover->setEnabled(iSandBoxeCount == 1); m_pMenuPresets->setEnabled(iSandBoxeCount == 1); - m_pMenuPresetsLogApi->setChecked(pBox && pBox.objectCast()->HasLogApi()); + m_pMenuPresetsShowUAC->setChecked(pBox && !pBox->GetBool("DropAdminRights", false) && !pBox->GetBool("FakeAdminRights", false)); + m_pMenuPresetsNoAdmin->setChecked(pBox && pBox->GetBool("DropAdminRights", false) && !pBox->GetBool("FakeAdminRights", false)); + m_pMenuPresetsFakeAdmin->setChecked(pBox && pBox->GetBool("DropAdminRights", false) && pBox->GetBool("FakeAdminRights", false)); m_pMenuPresetsINet->setChecked(pBox && pBox.objectCast()->IsINetBlocked()); m_pMenuPresetsShares->setChecked(pBox && pBox.objectCast()->HasSharesAccess()); - m_pMenuPresetsNoAdmin->setChecked(pBox && pBox.objectCast()->IsDropRights()); m_pMenuExplore->setEnabled(iSandBoxeCount == 1); m_pMenuOptions->setEnabled(iSandBoxeCount == 1); @@ -512,10 +517,14 @@ QString CSbieView::AddNewBox() } void CSbieView::OnSandBoxAction() +{ + OnSandBoxAction(qobject_cast(sender())); +} + +void CSbieView::OnSandBoxAction(QAction* Action) { QList Results; - QAction* Action = qobject_cast(sender()); QList SandBoxes = CSbieView::GetSelectedBoxes(); if (SandBoxes.isEmpty()) return; @@ -552,14 +561,25 @@ void CSbieView::OnSandBoxAction() Results.append(SandBoxes.first()->RunStart("cmd.exe")); else if (Action == m_pMenuRunCmdAdmin) Results.append(SandBoxes.first()->RunStart("cmd.exe", true)); - else if (Action == m_pMenuPresetsLogApi) - SandBoxes.first().objectCast()->SetLogApi(m_pMenuPresetsLogApi->isChecked()); + else if (Action == m_pMenuPresetsShowUAC) + { + SandBoxes.first()->SetBool("DropAdminRights", false); + SandBoxes.first()->SetBool("FakeAdminRights", false); + } + else if (Action == m_pMenuPresetsNoAdmin) + { + SandBoxes.first()->SetBool("DropAdminRights", true); + SandBoxes.first()->SetBool("FakeAdminRights", false); + } + else if (Action == m_pMenuPresetsFakeAdmin) + { + SandBoxes.first()->SetBool("DropAdminRights", true); + SandBoxes.first()->SetBool("FakeAdminRights", true); + } else if (Action == m_pMenuPresetsINet) SandBoxes.first().objectCast()->SetINetBlock(m_pMenuPresetsINet->isChecked()); else if (Action == m_pMenuPresetsShares) SandBoxes.first().objectCast()->SetAllowShares(m_pMenuPresetsShares->isChecked()); - else if (Action == m_pMenuPresetsNoAdmin) - SandBoxes.first().objectCast()->SetDropRights(m_pMenuPresetsNoAdmin->isChecked()); else if (Action == m_pMenuOptions) { OnDoubleClicked(m_pSbieTree->selectedRows().first()); diff --git a/SandboxiePlus/SandMan/Views/SbieView.h b/SandboxiePlus/SandMan/Views/SbieView.h index f365d8533a..f4282674f0 100644 --- a/SandboxiePlus/SandMan/Views/SbieView.h +++ b/SandboxiePlus/SandMan/Views/SbieView.h @@ -36,6 +36,7 @@ private slots: void OnGroupAction(); void OnSandBoxAction(); + void OnSandBoxAction(QAction* pAction); void OnProcessAction(); protected: @@ -74,10 +75,12 @@ private slots: QAction* m_pMenuRunCmdAdmin; QAction* m_pMenuMkLink; QMenu* m_pMenuPresets; - QAction* m_pMenuPresetsLogApi; + QActionGroup* m_pMenuPresetsAdmin; + QAction* m_pMenuPresetsShowUAC; + QAction* m_pMenuPresetsNoAdmin; + QAction* m_pMenuPresetsFakeAdmin; QAction* m_pMenuPresetsINet; QAction* m_pMenuPresetsShares; - QAction* m_pMenuPresetsNoAdmin; QAction* m_pMenuOptions; QAction* m_pMenuSnapshots; QAction* m_pMenuEmptyBox; diff --git a/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp b/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp index d880841a36..87fadd2cb8 100644 --- a/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp +++ b/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp @@ -156,10 +156,16 @@ COptionsWindow::COptionsWindow(const QSharedPointer& pBox, const QStri connect(ui.chkBlockNetShare, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); connect(ui.chkBlockNetParam, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); connect(ui.chkDropRights, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); + connect(ui.chkBlockSpooler, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); connect(ui.chkOpenSpooler, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); connect(ui.chkPrintToFile, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); + connect(ui.chkOpenCredentials, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); + connect(ui.chkOpenProtectedStorage, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); + connect(ui.chkOpenSmartCard, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); + connect(ui.chkOpenBluetooth, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); + connect(ui.txtCopyLimit, SIGNAL(textChanged(const QString&)), this, SLOT(OnGeneralChanged())); connect(ui.chkCopyLimit, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); connect(ui.chkNoCopyWarn, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); @@ -167,6 +173,9 @@ COptionsWindow::COptionsWindow(const QSharedPointer& pBox, const QStri connect(ui.chkProtectBox, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); connect(ui.chkAutoEmpty, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); + connect(ui.chkRawDiskRead, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); + connect(ui.chkRawDiskNotify, SIGNAL(clicked(bool)), this, SLOT(OnGeneralChanged())); + connect(ui.btnAddCmd, SIGNAL(clicked(bool)), this, SLOT(OnAddCommand())); QMenu* pRunBtnMenu = new QMenu(ui.btnAddFile); pRunBtnMenu->addAction(tr("Browse for Program"), this, SLOT(OnBrowsePath())); @@ -261,20 +270,18 @@ COptionsWindow::COptionsWindow(const QSharedPointer& pBox, const QStri connect(ui.chkRestrictServices, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkProtectSystem, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); - connect(ui.chkOpenCredentials, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); - connect(ui.chkOpenProtectedStorage, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); - connect(ui.chkOpenSmartCard, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); - connect(ui.chkOpenBluetooth, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); //connect(ui.chkOpenLsaEndpoint, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkAddToJob, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); + connect(ui.chkCallTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkFileTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkPipeTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkKeyTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkIpcTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkGuiTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkComTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); + connect(ui.chkApiTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkDbgTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkErrTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); @@ -425,12 +432,20 @@ void COptionsWindow::LoadConfig() ui.chkBlockNetShare->setChecked(m_pBox->GetBool("BlockNetworkFiles", true)); ui.chkBlockNetParam->setChecked(m_pBox->GetBool("BlockNetParam", true)); ui.chkDropRights->setChecked(m_pBox->GetBool("DropAdminRights", false)); + ui.chkFakeElevation->setChecked(m_pBox->GetBool("FakeAdminRights", false)); + ui.chkBlockSpooler->setChecked(m_pBox->GetBool("ClosePrintSpooler", false)); ui.chkOpenSpooler->setChecked(m_pBox->GetBool("OpenPrintSpooler", false)); ui.chkOpenSpooler->setEnabled(!ui.chkBlockSpooler->isChecked()); ui.chkPrintToFile->setChecked(m_pBox->GetBool("AllowSpoolerPrintToFile", false)); ui.chkPrintToFile->setEnabled(!ui.chkBlockSpooler->isChecked()); + ui.chkOpenProtectedStorage->setChecked(m_pBox->GetBool("OpenProtectedStorage", false)); + ui.chkOpenCredentials->setEnabled(!ui.chkOpenProtectedStorage->isChecked()); + ui.chkOpenCredentials->setChecked(!ui.chkOpenCredentials->isEnabled() || m_pBox->GetBool("OpenCredentials", false)); + ui.chkOpenSmartCard->setChecked(m_pBox->GetBool("OpenSmartCard", true)); + ui.chkOpenBluetooth->setChecked(m_pBox->GetBool("OpenBluetooth", false)); + ui.treeAutoStart->clear(); foreach(const QString & Value, m_pBox->GetTextList("StartProgram", m_Template)) AddAutoRunItem(Value, 0); @@ -454,6 +469,9 @@ void COptionsWindow::LoadConfig() ui.chkProtectBox->setChecked(m_pBox->GetBool("NeverDelete", false)); ui.chkAutoEmpty->setChecked(m_pBox->GetBool("AutoDelete", false)); + ui.chkRawDiskRead->setChecked(m_pBox->GetBool("AllowRawDiskRead", false)); + ui.chkRawDiskNotify->setChecked(m_pBox->GetBool("NotifyDirectDiskAccess", false)); + m_GeneralChanged = false; } @@ -490,11 +508,10 @@ void COptionsWindow::LoadConfig() ui.chkRestrictServices->setChecked(!m_pBox->GetBool("RunServicesAsSystem", false)); ui.chkProtectSystem->setChecked(!m_pBox->GetBool("ExposeBoxedSystem", false)); - ui.chkOpenProtectedStorage->setChecked(m_pBox->GetBool("OpenProtectedStorage", false)); - ui.chkOpenCredentials->setEnabled(!ui.chkOpenProtectedStorage->isChecked()); - ui.chkOpenCredentials->setChecked(!ui.chkOpenCredentials->isEnabled() || m_pBox->GetBool("OpenCredentials", false)); - ui.chkOpenSmartCard->setChecked(m_pBox->GetBool("OpenSmartCard", true)); - ui.chkOpenBluetooth->setChecked(m_pBox->GetBool("OpenBluetooth", false)); + + //ui.chkOpenDevCMApi->setChecked(m_pBox->GetBool("OpenDevCMApi", false)); + //ui.chkOpenLsaSSPI->setChecked(!m_pBox->GetBool("BlockPassword", true)); // OpenLsaSSPI + //ui.chkOpenSamEndpoint->setChecked(m_pBox->GetBool("OpenSamEndpoint", false)); //ui.chkOpenLsaEndpoint->setChecked(m_pBox->GetBool("OpenLsaEndpoint", false)); @@ -505,15 +522,20 @@ void COptionsWindow::LoadConfig() ui.lstAutoExec->clear(); ui.lstAutoExec->addItems(AutoExec); - - ReadAdvancedCheck("FileTrace", ui.chkFileTrace, "*"); - ReadAdvancedCheck("PipeTrace", ui.chkPipeTrace, "*"); - ReadAdvancedCheck("KeyTrace", ui.chkKeyTrace, "*"); - ReadAdvancedCheck("IpcTrace", ui.chkIpcTrace, "*"); - ReadAdvancedCheck("GuiTrace", ui.chkGuiTrace, "*"); - ReadAdvancedCheck("ClsidTrace", ui.chkComTrace, "*"); - ui.chkDbgTrace->setChecked(m_pBox->GetBool("DebugTrace", false)); - ui.chkErrTrace->setChecked(m_pBox->GetBool("ErrorTrace", false)); + QSharedPointer pBoxPlus = m_pBox.objectCast(); + if (pBoxPlus) + { + ReadAdvancedCheck("CallTrace", ui.chkFileTrace, "*"); + ReadAdvancedCheck("FileTrace", ui.chkFileTrace, "*"); + ReadAdvancedCheck("PipeTrace", ui.chkPipeTrace, "*"); + ReadAdvancedCheck("KeyTrace", ui.chkKeyTrace, "*"); + ReadAdvancedCheck("IpcTrace", ui.chkIpcTrace, "*"); + ReadAdvancedCheck("GuiTrace", ui.chkGuiTrace, "*"); + ReadAdvancedCheck("ClsidTrace", ui.chkComTrace, "*"); + ui.chkDbgTrace->setChecked(m_pBox->GetBool("DebugTrace", false)); + ui.chkErrTrace->setChecked(m_pBox->GetBool("ErrorTrace", false)); + ui.chkApiTrace->setChecked(pBoxPlus->HasLogApi()); + } ui.chkHideOtherBoxes->setChecked(m_pBox->GetBool("HideOtherBoxes", false)); QStringList Processes = m_pBox->GetTextList("HideHostProcess", m_Template); @@ -585,10 +607,18 @@ void COptionsWindow::SaveConfig() m_pBox->SetBool("BlockNetworkFiles", ui.chkBlockNetShare->isChecked()); m_pBox->SetBool("BlockNetParam", ui.chkBlockNetParam->isChecked()); m_pBox->SetBool("DropAdminRights", ui.chkDropRights->isChecked()); + m_pBox->SetBool("FakeAdminRights", ui.chkFakeElevation->isChecked()); + m_pBox->SetBool("ClosePrintSpooler", ui.chkBlockSpooler->isChecked()); m_pBox->SetBool("OpenPrintSpooler", ui.chkOpenSpooler->isChecked()); m_pBox->SetBool("AllowSpoolerPrintToFile", ui.chkPrintToFile->isChecked()); + WriteAdvancedCheck(ui.chkOpenProtectedStorage, "OpenProtectedStorage", "y", ""); + if (ui.chkOpenCredentials->isEnabled()) + WriteAdvancedCheck(ui.chkOpenCredentials, "OpenCredentials", "y", ""); + WriteAdvancedCheck(ui.chkOpenSmartCard, "OpenSmartCard", "", "n"); + WriteAdvancedCheck(ui.chkOpenBluetooth, "OpenBluetooth", "y", ""); + QStringList StartProgram; QStringList StartService; @@ -616,6 +646,10 @@ void COptionsWindow::SaveConfig() m_pBox->SetBool("NeverDelete", ui.chkProtectBox->isChecked()); m_pBox->SetBool("AutoDelete", ui.chkAutoEmpty->isChecked()); + m_pBox->SetBool("AllowRawDiskRead", ui.chkRawDiskRead->isChecked()); + m_pBox->SetBool("NotifyDirectDiskAccess", ui.chkRawDiskNotify->isChecked()); + + m_GeneralChanged = false; } @@ -658,12 +692,10 @@ void COptionsWindow::SaveConfig() WriteAdvancedCheck(ui.chkRestrictServices, "RunServicesAsSystem", "", "y"); WriteAdvancedCheck(ui.chkProtectSystem, "ExposeBoxedSystem", "", "y"); - WriteAdvancedCheck(ui.chkOpenProtectedStorage, "OpenProtectedStorage", "y", ""); - if(ui.chkOpenCredentials->isEnabled()) - WriteAdvancedCheck(ui.chkOpenCredentials, "OpenCredentials", "y", ""); - WriteAdvancedCheck(ui.chkOpenSmartCard, "OpenSmartCard", "", "n"); - WriteAdvancedCheck(ui.chkOpenBluetooth, "OpenBluetooth", "y", ""); - //WriteAdvancedCheck(ui.chkOpenLsaEndpoint, "OpenLsaEndpoint", "y", ""); + //WriteAdvancedCheck(ui.chkOpenDevCMApi, "OpenDevCMApi", "n", ""); + //WriteAdvancedCheck(ui.chkOpenLsaSSPI, "BlockPassword", "", "n"); // OpenLsaSSPI + //WriteAdvancedCheck(ui.chkOpenSamEndpoint, "OpenSamEndpoint", "n", ""); + //WriteAdvancedCheck(ui.chkOpenLsaEndpoint, "OpenLsaEndpoint", "n", ""); WriteAdvancedCheck(ui.chkAddToJob, "NoAddProcessToJob", "", "y"); @@ -673,15 +705,19 @@ void COptionsWindow::SaveConfig() m_pBox->UpdateTextList("AutoExec", AutoExec, m_Template); - - WriteAdvancedCheck(ui.chkFileTrace, "FileTrace", "*"); - WriteAdvancedCheck(ui.chkPipeTrace, "PipeTrace", "*"); - WriteAdvancedCheck(ui.chkKeyTrace, "KeyTrace", "*"); - WriteAdvancedCheck(ui.chkIpcTrace, "IpcTrace", "*"); - WriteAdvancedCheck(ui.chkGuiTrace, "GuiTrace", "*"); - WriteAdvancedCheck(ui.chkComTrace, "ClsidTrace", "*"); - WriteAdvancedCheck(ui.chkDbgTrace, "DebugTrace", "y"); - WriteAdvancedCheck(ui.chkErrTrace, "ErrorTrace", "y"); + QSharedPointer pBoxPlus = m_pBox.objectCast(); + if (pBoxPlus) + { + WriteAdvancedCheck(ui.chkFileTrace, "FileTrace", "*"); + WriteAdvancedCheck(ui.chkPipeTrace, "PipeTrace", "*"); + WriteAdvancedCheck(ui.chkKeyTrace, "KeyTrace", "*"); + WriteAdvancedCheck(ui.chkIpcTrace, "IpcTrace", "*"); + WriteAdvancedCheck(ui.chkGuiTrace, "GuiTrace", "*"); + WriteAdvancedCheck(ui.chkComTrace, "ClsidTrace", "*"); + WriteAdvancedCheck(ui.chkDbgTrace, "DebugTrace", "y"); + WriteAdvancedCheck(ui.chkErrTrace, "ErrorTrace", "y"); + pBoxPlus->SetLogApi(ui.chkApiTrace->isChecked()); + } WriteAdvancedCheck(ui.chkHideOtherBoxes, "HideOtherBoxes"); diff --git a/SandboxiePlus/SandMan/sandman_de.ts b/SandboxiePlus/SandMan/sandman_de.ts index 4b3b472256..c34e38fb77 100644 --- a/SandboxiePlus/SandMan/sandman_de.ts +++ b/SandboxiePlus/SandMan/sandman_de.ts @@ -1,2937 +1,3013 @@ - - - - - CMultiErrorDialog - - - Sandboxie-Plus - Error - Sandboxie-Plus - Fehler - - - - Message - Nachricht - - - - CNewBoxWindow - - - Sandboxie-Plus - Create New Box - Sandboxie-Plus - Neue Box erstellen - - - - New Box - Neue Box - - - - Hardened - Gehärtet - - - - Default - Standard - - - - Legacy Sandboxie Behaviour - Veraltetes Sandboxieverhalten - - - - COptionsWindow - - - %1 (%2) - Same as in source - %1 (%2) - - - - Don't alter the window title - Den Fenstertitel nicht ändern - - - - Display [#] indicator only - Nur [#] als Indikator anzeigen - - - - Display box name in title - Extended the word title with the German word for Window to make sure it is understood - Den Boxnamen im Fenstertitel anzeigen - - - - Border disabled - Rahmen deaktiviert - - - - Show only when title is in focus - Extended the word title with the German word for Window to make sure it is understood - Nur Anzeigen, wenn der Fenstertitel im Fokus ist - - - - Always show - Immer anzeigen - - - - - Browse for Program - Zu Programm navigieren - - - - Browse for File - Zu Datei navigieren - - - - Browse for Folder - Zu Ordner navigieren - - - - This sandbox has been deleted hence configuration can not be saved. - Diese Sandbox wurde gelöscht, daher kann die Konfiguration nicht gespeichert werden. - - - - Some changes haven't been saved yet, do you really want to close this options window? - Einige Änderungen wurden bisher nicht gespeichert, möchten Sie dieses Einstellungsfenster wirklich schließen? - - - - kilobytes (%1) - Only capitalized - Kilobytes (%1) - - - - Please enter a program path - Bitte geben Sie einen Programmpfad ein - - - - - Select Program - Programm auswählen - - - - Executables (*.exe *.cmd);;All files (*.*) - Ausführbare Dateien (*.exe|*.cmd);;Alle Dateien(*.*) - - - - Executables (*.exe|*.cmd) - Ausführbare Dateien (*.exe|*.cmd) - - - - Please enter a service identifier - Bitte geben Sie eine Dienstbezeichnung ein - - - - Service - Dienst - - - - Program - Programm - - - - - Please enter a menu title - Bitte einen Menütitel eingeben - - - - Please enter a command - Bitte ein Kommando eingeben - - - - - - - Group: %1 - Gruppe: %1 - - - - Please enter a name for the new group - Bitte einen Namen für die neue Gruppe eingeben - - - - Enter program: - Programm eingeben: - - - - Please select group first. - Bitte zuvor eine Gruppe auswählen. - - - - COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} - COM-Objekte müssen durch ihre GUID, z.B. {00000000-0000-0000-0000-000000000000}, benannt werden - - - - RT interfaces must be specified by their name. - RT-Schnittstellen müssen durch ihren Namen benannt werden. - - - - Please enter an auto exec command - Bitte geben Sie einen Autoausführen-Kommando ein - - - - This template is enabled globally. To configure it, use the global options. - Diese Vorlage ist global aktiv, um sie zu konfigurieren müssen die globalen Optionen genutzt werden. - - - - Process - Prozess - - - - Sandboxie Plus - '%1' Options - Sandboxie Plus - '%1' Optionen - - - - - Folder - Ordner - - - - - - - Select Directory - Ordner auswählen - - - - Lingerer - Verweilende - - - - Leader - Primäre - - - - Direct - Direkt - - - - Direct All - Direkt alle - - - - Closed - Blockiert - - - - Closed RT - Blockiert RT - - - - Read Only - Nur lesen - - - - Hidden - Versteckt - - - - - Unknown - Unbekannt - - - - File/Folder - Datei/Ordner - - - - Registry - Registry - - - - IPC Path - IPC Pfad - - - - Wnd Class - Fensterklasse - - - - COM Object - COM-Objekt - - - - Select File - Datei auswählen - - - - All Files (*.*) - Alle Dateien (*.*) - - - - - All Programs - Alle Programme - - - - Template values can not be edited. - Vorlagenwerte können nicht bearbeitet werden. - - - - - Template values can not be removed. - Vorlagenwerte können nicht gelöscht werden. - - - - Exclusion - Ausnahmen - - - - Please enter a file extension to be excluded - Bitte die Dateiendung, welche ausgenommen werden soll, eingeben - - - - Please enter a program file name - Bitte den Dateinamen eines Programms eingeben - - - - All Categories - Alle Kategorien - - - - CPopUpMessage - - - ? - ? - - - - Visit %1 for a detailed explanation. - %1 besuchen für eine detaillierte Erklärung. - - - - Dismiss - Ignorieren - - - - Remove this message from the list - Diese Nachricht aus der Liste entfernen - - - - Hide all such messages - Alle diese Nachrichten verbergen - - - - CPopUpProgress - - - Dismiss - Ignorieren - - - - Remove this progress indicator from the list - Diesen Fortschrittsindikator aus der Liste entfernen - - - - CPopUpPrompt - - - Remember for this process - Für diesen Prozess merken - - - - Yes - Ja - - - - No - Nein - - - - Terminate - Beenden - - - - Yes and add to allowed programs - Ja und zu den erlaubten Programmen hinzufügen - - - - Requesting process terminated - Anfragenden Prozess beendet - - - - Request will time out in %1 sec - Anfrage läuft in %1 Sek. ab - - - - Request timed out - Anfrage abgelaufen - - - - CPopUpRecovery - - - Recover - Wiederherstellen - - - - Recover the file to original location - Die Datei zur Originalquelle wiederherstellen - - - - Recover to: - Wiederherstellen nach: - - - - Browse - Navigieren - - - - Clear folder list - Leere die Ordnerliste - - - - Recover && Explore - Wiederherstellen && Anzeigen - - - - Recover && Open/Run - Wiederherstellen && Öffnen/Starten - - - - Open file recovery for this box - Öffne Dateiwiederherstellung für diese Box - - - - Dismiss - Ignorieren - - - - Don't recover this file right now - Diese Datei jetzt nicht wiederherstellen - - - - Dismiss all from this box - Alle für diese Box ablehnen - - - - Disable quick recovery until the box restarts - Schnellwiederherstellung deaktivieren bis die Box neu gestartet wird - - - - Select Directory - Ordner auswählen - - - - CPopUpWindow - - - Sandboxie-Plus Notifications - Sandboxie-Plus Benachrichtigungen - - - - Do you want to allow the print spooler to write outside the sandbox for %1 (%2)? - Kept 'print spooler' in brackets to allow easier online lookup - Möchten Sie der Druckerwarteschlange (print spooler) erlauben außerhalb der Sandbox für %1 (%2) zu schreiben? - - - + + + + + CMultiErrorDialog + + + Sandboxie-Plus - Error + Sandboxie-Plus - Fehler + + + + Message + Nachricht + + + + CNewBoxWindow + + + Sandboxie-Plus - Create New Box + Sandboxie-Plus - Neue Box erstellen + + + + New Box + Neue Box + + + + Hardened + Gehärtet + + + + Default + Standard + + + + Legacy Sandboxie Behaviour + Veraltetes Sandboxieverhalten + + + + COptionsWindow + + + %1 (%2) + Same as in source + %1 (%2) + + + + Don't alter the window title + Den Fenstertitel nicht ändern + + + + Display [#] indicator only + Nur [#] als Indikator anzeigen + + + + Display box name in title + Extended the word title with the German word for Window to make sure it is understood + Den Boxnamen im Fenstertitel anzeigen + + + + Border disabled + Rahmen deaktiviert + + + + Show only when title is in focus + Extended the word title with the German word for Window to make sure it is understood + Nur Anzeigen, wenn der Fenstertitel im Fokus ist + + + + Always show + Immer anzeigen + + + + + Browse for Program + Zu Programm navigieren + + + + Browse for File + Zu Datei navigieren + + + + Browse for Folder + Zu Ordner navigieren + + + + This sandbox has been deleted hence configuration can not be saved. + Diese Sandbox wurde gelöscht, daher kann die Konfiguration nicht gespeichert werden. + + + + Some changes haven't been saved yet, do you really want to close this options window? + Einige Änderungen wurden bisher nicht gespeichert, möchten Sie dieses Einstellungsfenster wirklich schließen? + + + + kilobytes (%1) + Only capitalized + Kilobytes (%1) + + + + Please enter a program path + Bitte geben Sie einen Programmpfad ein + + + + + Select Program + Programm auswählen + + + + Executables (*.exe *.cmd);;All files (*.*) + Ausführbare Dateien (*.exe|*.cmd);;Alle Dateien(*.*) + + + + Executables (*.exe|*.cmd) + Ausführbare Dateien (*.exe|*.cmd) + + + + Please enter a service identifier + Bitte geben Sie eine Dienstbezeichnung ein + + + + Service + Dienst + + + + Program + Programm + + + + + Please enter a menu title + Bitte einen Menütitel eingeben + + + + Please enter a command + Bitte ein Kommando eingeben + + + + + + + Group: %1 + Gruppe: %1 + + + + Please enter a name for the new group + Bitte einen Namen für die neue Gruppe eingeben + + + + Enter program: + Programm eingeben: + + + + Please select group first. + Bitte zuvor eine Gruppe auswählen. + + + + COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} + COM-Objekte müssen durch ihre GUID, z.B. {00000000-0000-0000-0000-000000000000}, benannt werden + + + + RT interfaces must be specified by their name. + RT-Schnittstellen müssen durch ihren Namen benannt werden. + + + + Please enter an auto exec command + Bitte geben Sie einen Autoausführen-Kommando ein + + + + This template is enabled globally. To configure it, use the global options. + Diese Vorlage ist global aktiv, um sie zu konfigurieren müssen die globalen Optionen genutzt werden. + + + + Process + Prozess + + + + Sandboxie Plus - '%1' Options + Sandboxie Plus - '%1' Optionen + + + + + Folder + Ordner + + + + + + + Select Directory + Ordner auswählen + + + + Lingerer + Verweilende + + + + Leader + Primäre + + + + Direct + Direkt + + + + Direct All + Direkt alle + + + + Closed + Blockiert + + + + Closed RT + Blockiert RT + + + + Read Only + Nur lesen + + + + Hidden + Versteckt + + + + + Unknown + Unbekannt + + + + File/Folder + Datei/Ordner + + + + Registry + Registry + + + + IPC Path + IPC Pfad + + + + Wnd Class + Fensterklasse + + + + COM Object + COM-Objekt + + + + Select File + Datei auswählen + + + + All Files (*.*) + Alle Dateien (*.*) + + + + + All Programs + Alle Programme + + + + Template values can not be edited. + Vorlagenwerte können nicht bearbeitet werden. + + + + + Template values can not be removed. + Vorlagenwerte können nicht gelöscht werden. + + + + Exclusion + Ausnahmen + + + + Please enter a file extension to be excluded + Bitte die Dateiendung, welche ausgenommen werden soll, eingeben + + + + Please enter a program file name + Bitte den Dateinamen eines Programms eingeben + + + + All Categories + Alle Kategorien + + + + CPopUpMessage + + + ? + ? + + + + Visit %1 for a detailed explanation. + %1 besuchen für eine detaillierte Erklärung. + + + + Dismiss + Ignorieren + + + + Remove this message from the list + Diese Nachricht aus der Liste entfernen + + + + Hide all such messages + Alle diese Nachrichten verbergen + + + + CPopUpProgress + + + Dismiss + Ignorieren + + + + Remove this progress indicator from the list + Diesen Fortschrittsindikator aus der Liste entfernen + + + + CPopUpPrompt + + + Remember for this process + Für diesen Prozess merken + + + + Yes + Ja + + + + No + Nein + + + + Terminate + Beenden + + + + Yes and add to allowed programs + Ja und zu den erlaubten Programmen hinzufügen + + + + Requesting process terminated + Anfragenden Prozess beendet + + + + Request will time out in %1 sec + Anfrage läuft in %1 Sek. ab + + + + Request timed out + Anfrage abgelaufen + + + + CPopUpRecovery + + + Recover + Wiederherstellen + + + + Recover the file to original location + Die Datei zur Originalquelle wiederherstellen + + + + Recover to: + Wiederherstellen nach: + + + + Browse + Navigieren + + + + Clear folder list + Leere die Ordnerliste + + + + Recover && Explore + Wiederherstellen && Anzeigen + + + + Recover && Open/Run + Wiederherstellen && Öffnen/Starten + + + + Open file recovery for this box + Öffne Dateiwiederherstellung für diese Box + + + + Dismiss + Ignorieren + + + + Don't recover this file right now + Diese Datei jetzt nicht wiederherstellen + + + + Dismiss all from this box + Alle für diese Box ablehnen + + + + Disable quick recovery until the box restarts + Schnellwiederherstellung deaktivieren bis die Box neu gestartet wird + + + + Select Directory + Ordner auswählen + + + + CPopUpWindow + + + Sandboxie-Plus Notifications + Sandboxie-Plus Benachrichtigungen + + + + Do you want to allow the print spooler to write outside the sandbox for %1 (%2)? + Kept 'print spooler' in brackets to allow easier online lookup + Möchten Sie der Druckerwarteschlange (print spooler) erlauben außerhalb der Sandbox für %1 (%2) zu schreiben? + + + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? -File name: %3 - Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? -File name: %3 - Möchten Sie %4 (%5) erlauben eine %1 große Datei in die Sandbox: %2 zu kopieren? -Dateiname: %3 - - - +File name: %3 + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? +File name: %3 + Möchten Sie %4 (%5) erlauben eine %1 große Datei in die Sandbox: %2 zu kopieren? +Dateiname: %3 + + + Do you want to allow %1 (%2) access to the internet? -Full path: %3 - Do you want to allow %1 (%2) access to the internet? -Full path: %3 - Möchten Sie %1 (%2) den Zugriff auf das Internet erlauben? -Vollständiger Pfad: %3 - - - +Full path: %3 + Do you want to allow %1 (%2) access to the internet? +Full path: %3 + Möchten Sie %1 (%2) den Zugriff auf das Internet erlauben? +Vollständiger Pfad: %3 + + + %1 is eligible for quick recovery from %2. -The file was written by: %3 - %1 is eligible for quick recovery from %2. -The file was written by: %3 - %1 ist zur Schnellwiederherstellung aus %2 berechtigt. -Die Datei wurde geschrieben durch: %3 - - - +The file was written by: %3 + %1 is eligible for quick recovery from %2. +The file was written by: %3 + %1 ist zur Schnellwiederherstellung aus %2 berechtigt. +Die Datei wurde geschrieben durch: %3 + + + Migrating a large file %1 into the sandbox %2, %3 left. -Full path: %4 - Migrating a large file %1 into the sandbox %2, %3 left. -Full path: %4 - Übertrage große Datei %1 in die Sandbox %2, %3 verbleiben. -Vollständiger Pfad: %4 - - - - an UNKNOWN process. - Ein UNBEKANNTER Prozess. - - - - %1 (%2) - same as source - %1 (%2) - - - - - UNKNOWN - UNBEKANNT - - - - CRecoveryWindow - - - %1 - File Recovery - %1 - Dateiwiederherstellung - - - - File Name - Dateiname - - - - File Size - Dateigröße - - - - Full Path - Vollständiger Pfad - - - - - Select Directory - Ordner auswählen - - - - One or more selected files are located on a network share, and must be recovered to a local drive, please select a folder to recover all selected files to. - Eine oder mehrere ausgewählte Dateien befinden sich auf Netzwerkpfaden und müssen zur Wiederherstellung lokal gespeichert werden. Bitte einen Ordner auswählen, um die ausgewählten Dateien darin wiederherzustellen. - - - - There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space. - Es befinden sich %1 Dateien und %2 Ordner in der Sandbox, welche %3 bytes an Speicherplatz belegen. - - - - CResMonModel - - - Unknown - Unbekannte - - - - Process - Prozess - - - - Time Stamp - Zeitstempel - - - - Type - Typ - - - - Value - Wert - - - - Status - Status - - - - CSandBoxPlus - - - Disabled - Deaktiviert - - - - Empty - Leer - - - - NOT SECURE (Debug Config) - NICHT SICHER (Debug Konfiguration) - - - - Reduced Isolation - Reduzierte Isolation - - - - Enhanced Isolation - Erweiterte Isolation - - - - API Log - API Protokoll - - - - No INet - Kein Internet - - - - Net Share - Kept original for lack of good German wording - Netzwerkfreigabe (Net share) - - - - No Admin - Kein Admin - - - - Normal - Normal - - - - CSandMan - - - - Sandboxie-Plus v%1 - Sandboxie-Plus v%1 - - - - Reset Columns - Spalten zurücksetzen - - - - Copy Cell - Zelle kopieren - - - - Copy Row - Spalte kopieren - - - - Copy Panel - Tafel kopieren - - - - Time|Message - Zeit|Nachricht - - - - Sbie Messages - Sbie Nachrichten - - - - Resource Monitor - Ressourcenmonitor - - - - Show/Hide - Zeigen/Verstecken - - - - - Disable Forced Programs - Deaktiviere erzwungene Programme - - - - &Sandbox - &Sandbox - - - - Create New Box - Neue Box erstellen - - - - Terminate All Processes - Alle Prozesse beenden - - - - Window Finder - Fensterfinder - - - - &Maintenance - &Wartung - - - - Connect - Verbinden - - - - Disconnect - Trennen - - - - Stop All - Alle stoppen - - - - &Advanced - &Erweitert - - - - Install Driver - Treiber installieren - - - - Start Driver - Treiber starten - - - - Stop Driver - Treiber stoppen - - - - Uninstall Driver - Treiber deinstallieren - - - - Install Service - Dienst installieren - - - - Start Service - Dienst starten - - - - Stop Service - Dienst stoppen - - - - Uninstall Service - Dienst deinstallieren - - - - Exit - Beenden - - - - &View - &Ansicht - - - - Simple View - Einfache Ansicht - - - - Advanced View - Erweiterte Ansicht - - - - Always on Top - Immer oben - - - - Show Hidden Boxes - Zeige versteckte Boxen - - - - Clean Up - Aufräumen - - - - Cleanup Trace Log - Rückverfolgungsprotokoll aufräumen - - - - Default sandbox not found; creating: %1 - Standard Sandbox nicht gefunden; erstelle: %1 - - - - <p>Do you want to go to the <a href="%1">info page</a>?</p> - <p>Möchten Sie zur<a href="%1">Infoseite gehen</a>?</p> - - - - Don't show this message anymore. - Diese Meldung nicht mehr anzeigen. - - - - The selected window is running as part of program %1 in sandbox %2 - Das ausgewählte Fenster läuft als Teil des Programms %1 in der Sandbox %2 - - - - The selected window is not running as part of any sandboxed program. - Das ausgewählte Fenster läuft nicht als Teil eines Programms in einer Sandbox. - - - - Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. - Klicken und ziehen Sie das Finderwerkzeug über ein Fenster und lassen Sie die Maustaste los, um zu überprüfen, ob sich dieses Fenster in einer Sandbox befindet. - - - - Sandboxie-Plus - Window Finder - Sandboxie-Plus - Fensterfinder - - - - Keep terminated - Beendete behalten - - - - &Options - &Optionen - - - - Global Settings - Globale Einstellungen - - - - Reset all hidden messages - Alle ausgeblendeten Nachrichten zurücksetzen - - - - Edit ini file - .ini-Datei bearbeiten - - - - Reload ini file - .ini-Datei neu laden - - - - Resource Logging - Ressourcenprotokollierung - - - - &Help - &Hilfe - - - - Support Sandboxie-Plus with a Donation - Sandboxie-Plus mit einer Spende unterstützen - - - - Visit Support Forum - Supportforum besuchen - - - - Online Documentation - Onlinedokumentation - - - - Check for Updates - Auf Updates prüfen - - - - About the Qt Framework - Über das Qt Framework - - - - - About Sandboxie-Plus - Über Sandboxie-Plus - - - - Do you want to close Sandboxie Manager? - Möchten Sie den Sandboxie-Manager schließen? - - - - Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. - Sandboxie-Plus wurde im portablen Modus betrieben, nun müssen die erzeugten Dienste bereinigt werden, was Adminrechte benötigt. - - - - Failed to stop all Sandboxie components - Konnte nicht alle Sandboxiekomponenten stoppen - - - - Failed to start required Sandboxie components - Konnte nicht alle benötigten Sandboxiekomponenten starten - - - - Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? - Einige Kompatibilitätsvorlagen (%1) fehlen, möglicherweise wurden sie gelöscht. Möchten Sie diese aus allen Boxen entfernen? - - - - Cleaned up removed templates... - Entfernte Vorlagen aufgeräumt... - - - - Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? - Sandboxie-Plus wurde im portablen Modus gestartet, möchten Sie den Sandboxordner im übergeordneten Verzeichnis erstellen? - - - - - NOT connected - - NICHT verbunden - - - - The file %1 already exists, do you want to overwrite it? - Die Datei %1 existiert bereits, möchten Sie diese überschreiben? - - - - Do this for all files! - Tue dies für alle Dateien! - - - - Failed to recover some files: - - Konnte nicht alle Dateien wiederherstellen: - - - - - Do you want to terminate all processes in all sandboxes? - Möchten Sie alle Prozesse in allen Sandboxen beenden? - - - - Terminate all without asking - Alle ohne Rückfrage beenden - - - - Please enter the duration for disabling forced programs. - Bitte Dauer eingeben, in der erzwungene Programme deaktiviert sind. - - - - Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. - Sandboxie-Plus wurde im portablen Modus gestartet, nun müssen die benötigten Dienste erzeugt werden, was Adminrechte benötigt. - - - - Do you also want to reset hidden message boxes (yes), or only all log messages (no)? - Möchten Sie auch die ausgeblendeten Mitteilungsboxen zurücksetzen (Ja) oder nur alle Protokollnachrichten (Nein)? - - - - The changes will be applied automatically whenever the file gets saved. - Die Änderungen werden automatisch angewendet, sobald die Datei gespeichert wird. - - - - The changes will be applied automatically as soon as the editor is closed. - Die Änderungen werden automatisch angewendet, sobald der Editor geschlossen wird. - - - - Error Status: %1 - Fehler Code: %1 - - - - Can not create snapshot of an empty sandbox - Kann keinen Schnappschuss von einer leeren Box erstellen - - - - A sandbox with that name already exists - Es existiert bereits eine Sandbox mit diesem Namen - - - - <p>Sandboxie-Plus is an open source continuation of Sandboxie.</p><p></p><p>Visit <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> for more information.</p><p></p><p></p><p></p><p>Icons from <a href="https://icons8.com">icons8.com</a></p><p></p> - <p>Sandboxie-Plus ist eine OpenSource-Fortsetzung von Sandboxie.</p><p></p><p>Besuche <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> für weitere Informationen.</p><p></p><p></p><p></p><p>Icons von <a href="https://icons8.com">icons8.com</a></p><p></p> - - - - Failed to execute: %1 - Fehler beim Ausführen von: %1 - - - - Failed to communicate with Sandboxie Service: %1 - Fehler beim Kommunizieren mit Sandbox-Dienst: %1 - - - - Failed to copy configuration from sandbox %1: %2 - Fehler beim Kopieren der Konfiguration von Sandbox %1: %2 - - - - A sandbox of the name %1 already exists - Es existiert bereits eine Sandbox mit dem Namen %1 - - - - Failed to delete sandbox %1: %2 - Fehler beim Löschen der Sandbox %1: %2 - - - - The sandbox name can not be longer than 32 characters. - Der Name der Sandbox darf nicht länger als 32 Zeichen sein. - - - - The sandbox name can not be a device name. - Der Name der Sandbox darf kein reservierter Gerätename (device name) sein. - - - - The sandbox name can contain only letters, digits and underscores which are displayed as spaces. - Der Name der Sandbox darf nur Buchstaben, Zahlen und Unterstriche, welche als Leerstellen angezeigt werden, enthalten. - - - - Failed to terminate all processes - Konnte nicht alle Prozesse beenden - - - - Delete protection is enabled for the sandbox - Löschschutz ist für diese Sandbox aktiviert - - - - Error deleting sandbox folder: %1 - Fehler beim Löschen von Sandbox-Ordner: %1 - - - - A sandbox must be emptied before it can be renamed. - Eine Sandbox muss geleert werden, bevor Sie gelöscht werden kann. - - - - A sandbox must be emptied before it can be deleted. - Eine Sandbox muss geleert werden, bevor sie umbenannt werden kann. - - - - Failed to move directory '%1' to '%2' - Konnte Ordner '%1' nicht nach '%2' verschieben - - - - This Snapshot operation can not be performed while processes are still running in the box. - Der Schnappschuss kann nicht erstellt werden, während Prozesse in dieser Box laufen. - - - - Failed to create directory for new snapshot - Konnte den Ordner für den neuen Schnappschuss (Snapshot) nicht erstellen - - - - Failed to copy RegHive - Konnte RegHive nicht kopieren - - - - Snapshot not found - Schnappschuss (Snapshot) nicht gefunden - - - - Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. - Fehler beim Zusammenführen der Schnappschuss Ordner: '%1' with '%2', der Schnappschuss wurde nicht vollständig zusammengeführt. - - - - Failed to remove old snapshot directory '%1' - Konnte alten Schnappschuss-Ordner '%1' nicht entfernen - - - - Failed to remove old RegHive - Konnte alten RegHive nicht entfernen - - - - You are not authorized to update configuration in section '%1' - Sie sind nicht berechtigt die Konfiguration in Sektion '%1' zu aktualisieren - - - - Failed to set configuration setting %1 in section %2: %3 - Fehler beimSetzen der Konfigurationsoption %1 in Sektion %2: %3 - - - - Unknown Error Status: %1 - Unbekannter Fehlerstatus: %1 - - - - Don't show this announcement in the future. - Diese Ankündigung zukünftig nicht mehr zeigen. - - - - No new updates found, your Sandboxie-Plus is up-to-date. - Keine Updates gefunden, Sandboxie-Plus ist aktuell. - - - - <p>New Sandboxie-Plus has been downloaded to the following location:</p><p><a href="%2">%1</a></p><p>Do you want to begin the installation? If any programs are running sandboxed, they will be terminated.</p> - <p>Neue Version von Sandboxie-Plus wurde heruntergeladen zu:</p><p><a href="%2">%1</a></p><p>Möchten Sie mit der Installation beginnen? Falls Programme in einer Sandbox laufen, werden diese beendet.</p> - - - - - - - - - Don't show this message again. - Diese Meldung nicht mehr anzeigen. - - - - - - Sandboxie-Plus - Error - Sandboxie-Plus - Fehler - - - - Maintenance operation %1 - Wartungsvorgang %1 - - - - Maintenance operation Successful - Wartungsvorgang erfolgreich - - - - Do you want to check if there is a new version of Sandboxie-Plus? - Möchten Sie prüfen, ob es eine neue Version von Sandboxie-Plus gibt? - - - - Driver version: %1 - Treiber version: %1 - - - - - Portable - - Portable - - - - Sbie Directory: %1 - Sbie Ordner: %1 - - - - Cleanup Processes - Prozesse aufräumen - - - - Cleanup Message Log - Nachrichtenprotokoll aufräumen - - - - Cleanup - Aufräumen - - - - Select box: - Box auswählen: - - - - Loaded Config: %1 - Geladene Konfiguration: %1 - - - - PID %1: - PID %1: - - - - %1 (%2): - %1 (%2): - - - - Recovering file %1 to %2 - Stelle Datei %1 zu %2 wieder her - - - - Only Administrators can change the config. - Nur Administratoren können die Konfiguration editieren. - - - - Please enter the configuration password. - Bitte Konfigurationspasswort eingeben. - - - - Login Failed: %1 - Login fehlgeschlagen: %1 - - - - Executing maintenance operation, please wait... - Führe Wartungsvorgang aus, bitte warten... - - - - Administrator rights are required for this operation. - Für diesen Vorgang werden Adminrechte benötigt. - - - - Failed to connect to the driver - Fehler beim Verbinden mit dem Treiber - - - - An incompatible Sandboxie %1 was found. Compatible versions: %2 - Eine inkompatible Version von Sandboxie %1 wurde gefunden. Kompatible Versionen: %2 - - - - Can't find Sandboxie installation path. - Kann Installationspfad von Sandboxie nicht finden. - - - - Can't remove a snapshot that is shared by multiple later snapshots - Es kann kein Schnappschuss gelöscht werden der von mehreren späteren Schnappschüssen geteilt wird - - - - Operation failed for %1 item(s). - Vorgang für %1 Element(e) fehlgeschlagen. - - - - Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? - Möchten Sie %1 in einem sandgeboxten (Ja) oder in einem nicht gesandboxten (Nein) Browser öffnen? - - - - Remember choice for later. - Die Auswahl für später merken. - - - - Checking for updates... - Prüfe auf Updates... - - - - server not reachable - Server nicht erreichbar - - - - - Failed to check for updates, error: %1 - Prüfung auf Updates fehlgeschlagen, Fehler: %1 - - - - <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> - <p>Es it eine neue Version von Sandboxie-Plus verfügbar.<br /><font color='red'>Neue Versions:</font> <b>%1</b></p> - - - - <p>Do you want to download the latest version?</p> - <p>Möchten Sie die neuste Version herunterladen?</p> - - - - <p>Do you want to go to the <a href="%1">download page</a>?</p> - <p>Möchten Sie die <a href="%1">Downloadseite</a> besuchen?</p> - - - - Downloading new version... - Lade neue Version herunter... - - - - Failed to download update from: %1 - Download des Updates von: %1 fehlgeschlagen - - - - <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - <h3>Über Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - - - - CSbieModel - - - Box Groupe - Box Group - Boxgruppe - - - - Name - Name - - - - Process ID - Prozess ID - - - - Status - Status - - - - Title - Titel - - - - Start Time - Startzeit - - - - Path / Command Line - Pfad / Kommandozeile - - - - CSbieProcess - - - Terminated - Beendet - - - - Running - Laufend - - - - CSbieView - - - Create New Box - Neue Box erstellen - - - - Add Group - Gruppe hinzufügen - - - - Remove Group - Gruppe entfernen - - - - Run - Starten - - - - Run Program - Programm starten - - - - Run from Start Menu - Aus Startmenü starten - - - - Run Web Browser - Internetbrowser starten - - - - Run eMail Client - E-Mail Programm starten - - - - Run Explorer - Explorer starten - - - - Run Cmd.exe - Cmd.exe starten - - - - Run Cmd.exe as Admin - Cmd.exe als Administrator starten - - - - Terminate All Programs - Alle Prozesse beenden - - - - - Create Shortcut - Verknüpfung erstellen - - - - Explore Content - Inhalt anzeigen - - - - Snapshots Manager - Schnappschussmanager - - - - Recover Files - Dateien wiederherstellen - - - - Delete Content - Inhalte löschen - - - - Sandbox Presets - Sandboxvorgaben - - - - Enable API Call logging - Aktiviere API-Aufrufprotokoll - - - - Block Internet Access - Blockiere Internetzugriff - - - - Allow Network Shares - Erlaube Netzwerkfreigaben - - - - Drop Admin Rights - Adminrechte abgeben - - - - Sandbox Options - Sandboxeinstellungen - - - - Rename Sandbox - Sandbox umbenennen - - - - Move to Group - Zu Gruppe zuordnen - - - - Remove Sandbox - Sandbox entfernen - - - - Terminate - Beenden - - - - Preset - Vorgabe - - - - Pin to Run Menu - An das Starten-Menü anheften - - - - Block and Terminate - Blockieren und Beenden - - - - Allow internet access - Erlaube Internetzugriff - - - - Force into this sandbox - In dieser Sandbox erzwingen - - - - Set Linger Process - Setze verweilende Programme - - - - Set Leader Process - Setze primäre Programme - - - - A group can not be its own parent. - Eine Gruppe kann nicht seine eigene Quelle sein. - - - - - Don't show this message again. - Diese Meldung nicht mehr anzeigen. - - - - This Sandbox is empty. - Diese Sandbox ist leer. - - - - This Sandbox is already empty. - Diese Sandbox ist bereits leer. - - - - Do you want to delete the content of the selected sandbox? - Möchten Sie den Inhalt der ausgewählten Sandbox löschen? - - - - Do you really want to delete the content of multiple sandboxes? - Möchten Sie wirklich die Inhalte von mehreren Sandboxen löschen? - - - - Do you want to terminate all processes in the selected sandbox(es)? - Möchten Sie alle Prozesse in der/den ausgewählten Sandbox(en) beenden? - - - - This box does not have Internet restrictions in place, do you want to enable them? - Diese Sandbox hat keine Internetbeschränkungen, möchten Sie diese aktivieren? - - - - This sandbox is disabled, do you want to enable it? - Diese Sandbox ist deaktiviert. Möchten Sie diese aktivieren? - - - - File root: %1 - - Dateiquelle: %1 - - - - - Registry root: %1 - - Registry-Quelle: %1 - - - - - IPC root: %1 - - IPC-Quelle: %1 - - - - - Options: - - Optionen: - - - - - [None] - [Kein(e)] - - - - Please enter a new group name - Bitte einen Namen für die neue Gruppe eingeben - - - - Do you really want to remove the selected group(s)? - Möchten Sie wirklich die ausgewählte(n) Gruppe(n) entfernen? - - - - Please enter a new name for the Sandbox. - Bitte einen Namen für die neue Sandbox eingeben. - - - - Do you really want to remove the selected sandbox(es)? - Möchten Sie wirklich die ausgewählte(n) Sandbox(en) entfernen? - - - - - Create Shortcut to sandbox %1 - Verknüpfung zu Sandbox %1 erstellen - - - - Do you want to %1 the selected process(es) - Möchten Sie die ausgewählten Prozesse %1 - - - - CSettingsWindow - - - Sandboxie Plus - Settings - Sandboxie-Plus - Settings - Sandboxie Plus - Einstellungen - - - - Auto Detection - Autoerkennung - - - - Close to Tray - In den Tray schließen - - - - Prompt before Close - Rückfrage vor dem Schließen - - - - Close - Schließen - - - - Please enter the new configuration password. - Bitte ein Passwort für die neue Konfiguration eingeben. - - - - Please re-enter the new configuration password. - Bitte das neue Konfigurationspasswort wiederholen. - - - - Passwords did not match, please retry. - Passwörter stimmten nicht überein, bitte erneut versuchen. - - - - Process - Prozess - - - - Folder - Ordner - - - - Please enter a program file name - Bitte den Dateinamen eines Programms eingeben - - - - - Select Directory - Ordner auswählen - - - - CSnapshotsWindow - - - %1 - Snapshots - %1 - Schnappschüsse - - - - Snapshot - Schnappschuss - - - - Please enter a name for the new Snapshot. - Bitte einen Namen für den neuen Schnappschuss eingeben. - - - - New Snapshot - Neuer Schnappschuss - - - - Do you really want to switch the active snapshot? Doing so will delete the current state! - Möchten Sie wirklich den aktiven Schnappschuss wechseln? Dies führt zur Löschung des aktuellen Standes! - - - - Do you really want to delete the selected snapshot? - Möchten Sie wirklich die ausgewählten Schnappschüsse entfernen? - - - - NewBoxWindow - - - SandboxiePlus new box - Sandboxie-Plus new box - SandboxiePlus Neue Box - - - - Select restriction/isolation template: - Restriktions- oder Isolationsvorlage auswählen: - - - - Copy options from an existing box: - Kopiere Optionen von existierender Sandbox: - - - - Sandbox Name: - Sandboxname: - - - - Initial sandbox configuration: - Initiale Sandboxkonfiguration: - - - - OptionsWindow - - - SandboxiePlus Options - Sandboxie-Plus Options - SandboxiePlus Optionen - - - - General Options - Generelle Optionen - - - - Box Options - Boxoptionen - - - - Sandboxed window border: - Fensterrahmen innerhalb der Sandbox: - - - - px Width - px Breite - - - - Appearance - Erscheinung - - - - Sandbox Indicator in title: - Sandboxindikator im Fenstertitel: - - - - - - Protect the system from sandboxed processes - Schütze das System vor Prozessen in der Sandbox - - - - General restrictions - Generelle Restriktionen - - - - Block network files and folders, unless specifically opened. - Blockiere Netzwerkdateien und Ordner, außer diese wurden explizit geöffnet. - - - - Drop rights from Administrators and Power Users groups - Die Rechte der Administratoren und Hauptbenutzergruppe einschränken - - - - Prevent change to network and firewall parameters - Verhindere Änderungen an den Netzwerk- und Firewall-Einstellungen - - - - Run Menu - Startmenü - - - - You can configure custom entries for the sandbox run menu. - Sie können eigene Einträge in dem Startmenü der Sandbox einrichten. - - - - - - - - - Name - Name - - - - Command Line - Kommandozeile - - - - - - - - - - - Remove - Entfernen - - - - Add Command - Kommando hinzufügen - - - - File Options - Dateioptionen - - - - Copy file size limit: - Dateigrößenbeschränkung zum Kopieren: - - - - kilobytes - Kilobytes - - - - Protect this sandbox from deletion or emptying - Diese Sandbox vor Löschung und Leerung schützen - - - - Auto delete content when last sandboxed process terminates - Inhalte automatisch löschen, wenn der letzte Prozess in der Sandbox beendet wurde - - - - File Migration - Dateimigration - - - - Issue message 2102 when a file is too large - Meldung 2102 ausgeben, wenn die Datei zu groß ist - - - - Box Delete options - Box Löschoptionen - - - - Program Groups - Programmgruppen - - - - Add Group - Gruppe hinzufügen - - - - - - Add Program - Programm hinzufügen - - - - You can group programs together and give them a group name. Program groups can be used with some of the settings instead of program names. - Sie können Programme gruppieren und ihnen einen Gruppennamen geben. Programmgruppen können in den Einstellungen an Stelle der Programmnamen genutzt werden. - - - - Forced Programs - Erzwungene Programme - - - - Force Folder - Erzwungene Ordner - - - - - - Path - Pfad - - - - Force Program - Erzwungenes Programm - - - - - - - Show Templates - Zeige Vorlagen - - - - Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. - Programme die hier gelistet sind oder von den angegeben Ordnern gestartet werden, werden automatisch in dieser Sandbox ausgeführt, solange sie nicht explizit in einer anderen Sandbox gestartet werden. - - - - Stop Behaviour - Stopverhalten - - - - - - Remove Program - Programm entfernen - - - - Add Leader Program - Füge primäre Programme hinzu - - - - Add Lingering Program - Füge verweilende Programme hinzu - - - - - - - Type - Typ - - - - Block access to the printer spooler - Zugriff auf die Druckerwarteschlange blockieren - - - - Allow the print spooler to print to files outside the sandbox - Der Druckerwarteschlange erlauben als Dateien außerhalb der Sandbox zu drucken (Print to file) - - - - Printing - Drucken - - - - Remove spooler restriction, printers can be installed outside the sandbox - Entferne Druckerwarteschlangenrestriktionen, Drucker können außerhalb der Sandbox installiert werden - - - - - Add program - Füge Programm hinzu - - - - Auto Start - Autostart - - - - Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated - Hier können Sie Programme und/oder Dienste angeben, welche automatisch in der Sandbox gestartet werden, wenn diese aktiviert wird - - - - Add service - Füge Dienst hinzu - - - - Lingering programs will be automatically terminated if they are still running after all other processes have been terminated. - -If leader processes are defined, all others are treated as lingering processes. - Verweilende Programme werden automatisch beendet, wenn diese noch laufen, nachdem alle anderen Prozesse bereits beendet wurden. - -Falls primäre Programme/Prozesse definiert wurden, werden alle anderen als verweilende Prozesse behandelt. - - - - Start Restrictions - Starteinschränkungen - - - - Issue message 1308 when a program fails to start - Gebe Meldung 1308 aus, wenn ein Programmstart fehlschlägt - - - - Allow only selected programs to start in this sandbox. * - Erlaube nur ausgewählten Prozessen in dieser Sandbox zu starten. * - - - - Prevent selected programs from starting in this sandbox. - Verhindere die Ausführung von ausgewählten Programmen in dieser Sandbox. - - - - Allow all programs to start in this sandbox. - Erlaube allen Programmen in dieser Sandbox zu starten. - - - - * Note: Programs installed to this sandbox won't be able to start at all. - * Notiz: Programme, welche in dieser Sandbox installiert werden, werden nicht in der Lage sein zu starten. - - - - Internet Restrictions - Internetbeschränkungen - - - - Issue message 1307 when a program is denied internet access - Gebe Meldung 1307 aus, wenn einem Programm der Internetzugriff verweigert wurde - - - - Block internet access for all programs except those added to the list. - Blockiere Internetzugriff für alle Programme, außer sie sind hier gelistet. - - - - Note: Programs installed to this sandbox won't be able to access the internet at all. - Hinweis: Programme, welche in dieser Sandbox installiert werden, werden nicht in der Lage sein auf das Internet zuzugreifen. - - - - Prompt user whether to allow an exemption from the blockade. - Den Nutzer fragen, ob er eine Ausnahme von dieser Blockade erlauben will. - - - - Resource Access - Ressourcenzugriff - - - - Program - Programm - - - - Access - Zugriff - - - - Add Reg Key - Füge Registry-Schlüssel hinzu - - - - Add File/Folder - Füge Datei/Ordner hinzu - - - - Add Wnd Class - Füge Fensterklasse hinzu - - - - Add COM Object - Füge COM-Objekt hinzu - - - - Add IPC Path - Füge IPC-Pfad hinzu - - - - Move Up - Nach oben verschieben - - - - Move Down - Nach unten verschieben - - - - Configure which processes can access what resources. Double click on an entry to edit it. -'Direct' File and Key access only applies to program binaries located outside the sandbox. -Note that all Close...=!<program>,... exclusions have the same limitations. -For files access you can use 'Direct All' instead to make it apply to all programs. - Translated close to what is written in the source - Konfigurieren, welche Prozesse auf welche Ressourcen zugreifen können. Doppelklick um einen Eintrag zu bearbeiten. -'Direkter' Datei und Schlüsselzugriff trifft nur auf Programmdateien zu, die sich außerhalb der Sandbox befinden. -Beachte, dass alle Programme schließen...=!<Programm>,... Ausnahmen die gleichen Beschränkungen haben. -Zum Dateizugriff können Sie 'Direkt Alle' verwenden um für alle Programme zu zu treffen. - - - - File Recovery - Dateiwiederherstellung - - - - Add Folder - Füge Ordner hinzu - - - - Ignore Extension - Ignoriere Erweiterungen - - - - Ignore Folder - Ignoriere Ordner - - - - Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. - Enable Immediate Recovery prompt to be able to recover files as soon as they are created. - Aktivere Sofortwiederherstellungsabfrage, um alle Dateien sofort wiederherzustellen, sobald sie erzeugt werden. - - - - You can exclude folders and file types (or file extensions) from Immediate Recovery. - Sie können Ordner und Dateitypen (oder Dateierweiterungen) von der Sofortwiederherstellung ausnehmen. - - - - When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. - Wenn die Schnellwiederherstellungsfunktion aufgerufen wird, werden die folgenden Ordner in der Sandbox auf Inhalte geprüft. - - - - Advanced Options - Erweiterte Optionen - - - - Miscellaneous - Diverses - - - - Do not start sandboxed services using a system token (recommended) - Sandgeboxte Dienste nicht mit einem Systemtoken starten (empfohlen) - - - - Allow access to Smart Cards - Zugriff auf SmartCards erlauben - - - - Force usage of custom dummy Manifest files (legacy behaviour) - Erzwinge die Verwendung von eigenen dummy Manifestdateien (veraltetes Verhalten) - - - - Add sandboxed processes to job objects (recommended) - Füge gesandboxte Prozesse zu Job-Objekten hinzu (empfohlen) - - - - Limit access to the emulated service control manager to privileged processes - Beschränke Zugriff auf emulierte Dienstkontrollmanager auf privilegierte Prozesse - - - - Open System Protected Storage - Öffne systemgeschützen Speicherort - - - - Open Windows Credentials Store - Öffne Windows Anmeldeinformationsverwaltung - - - - Don't alter window class names created by sandboxed programs - Fensterklassen von gesandboxten Programmen nicht ändern - - - - - Protect the sandbox integrity itself - Die Sandboxintegrität selbst schützen - - - - Sandbox protection - Sandboxschutz - - - - Compatibility - Kompatibilität - - - - Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes - Schütze sandgeboxte SYSTEM-Prozesse vor unprivilegierten nicht sandgeboxten Prozessen - - - - Hide Processes - Verstecke Prozesse - - - - Add Process - Prozess hinzufügen - - - - Hide host processes from processes running in the sandbox. - Verstecke Host-Prozesse vor Prozessen in der Sandbox. - - - - Don't allow sandboxed processes to see processes running in other boxes - Nicht erlauben, dass sandgeboxte Prozesse die Prozesse in anderen Boxen sehen können - - - - Users - Benutzer - - - - Restrict Resource Access monitor to administrators only - Beschränke den Ressourcenzugriffsmonitor auf Administratoren - - - - Add User - Benutzer hinzufügen - - - - Remove User - Benutzer entfernen - - - - Add user accounts and user groups to the list below to limit use of the sandbox to only those accounts. If the list is empty, the sandbox can be used by all user accounts. - -Note: Forced Programs and Force Folders settings for a sandbox do not apply to user accounts which cannot use the sandbox. - Füge Nutzerkonten und -gruppen der Liste hinzu, um die Benutzung der Sandbox auf diese Konten zu beschränken.Falls die Liste leer ist, kann die Sandbox von allen Konten genutzt werden. - -Notiz: Erzwungene Programme und Ordner für eine Sandbox finden keine Anwendung auf Konten, die diese Sandbox nicht nutzen können. - - - - Tracing - Rückverfolgung - - - - Pipe Trace - Pipe Rückverfolgung - - - - Log all access events as seen by the driver to the resource access log. - -This options set the event mask to "*" - All access events -You can customize the logging using the ini by specifying -"A" - Allowed accesses -"D" - Denied accesses -"I" - Ignore access requests -instead of "*". - Protokolliere jeden Zugriffsevent, wie er durch den Treiber gesehen wird, im Ressourcenzugriffsprotokoll. - -Diese Optionen setzen die Eventmaske auf "*" - Alle Zugriffsevents -Sie können die Protokollierung in der INI anpassen in den Sie wie folgt wählen -"A" - Erlaubte Zugriffe -"D" - Verweigerte Zugriffe -"I" - Ignorierte Zugriffsanfragen -an Stelle von "*". - - - - Access Tracing - Zugriffsrückverfolgung - - - - GUI Trace - GUI Rückverfolgung - - - - Key Trace - Schlüsselrückverfolgung - - - - File Trace - Dateirückverfolgung - - - - Lift security restrictions - Sicherheitsrestriktionen aufheben - - - - Sandbox isolation - Sandboxisolation - - - - Allow access to Bluetooth - Zugriff auf Bluetooth erlauben - - - - Auto Exec - Autoausführen - - - - Here you can specify a list of commands that are executed every time the sandbox is initially populated. - Hier können Sie eine Liste mit Kommandos angeben, welche jedes Mal ausgeführt werden, wenn die Sandbox initial geladen wird. - - - - IPC Trace - IPC-Rückverfolgung - - - - Log Debug Output to the Trace Log - Protokolliere Debug-Ausgabe in das Rückverfolgungsprotokoll - - - - COM Class Trace - COM-Klassenrückverfolgung - - - - <- for this one the above does not apply - <- für dieses findet das Obige keine Anwendung - - - - Log all SetError's to Trace log - Protokolliere alle SetError ins Rückverfolgungsprotokoll - - - - Debug - Debug - - - - WARNING, these options can disable core security guarantees and break sandbox security!!! - WARNUNG, diese Optionen können Kernsicherheitsgarantien deaktivieren und die Sandboxsicherheit zerstören!!! - - - - These options are intended for debugging compatibility issues, please do not use them in production use. - Diese Optionen sind nur zur Fehlersuche bei Kompatibilitätsproblemen gedacht, bitte nicht im produktiven Einsatz verwenden. - - - - App Templates - Programmvorlagen - - - - Filter Categories - Filterkategorien - - - - Text Filter - Textfilter - - - - Category - Kategorie - - - - This list contains a large amount of sandbox compatibility enhancing templates - Diese Liste enthält eine große Menge an Vorlagen, welche die Kompatibilität der Sandbox verbessern - - - - Edit ini Section - INI Sektion bearbeiten - - - - Edit ini - INI bearbeiten - - - - Cancel - Abbrechen - - - - Save - Speichern - - - - PopUpWindow - - - SandboxiePlus Notifications - Sandboxie-Plus Notifications - SandboxiePlus Benachrichtigungen - - - - QObject - - - Drive %1 - Laufwerk %1 - - - - RecoveryWindow - - - SandboxiePlus - Recovery - SandboxiePlus Settings - SandboxiePlus-Wiederherstellung - - - - Add Folder - Ordner hinzufügen - - - - Refresh - Aktualisieren - - - - Show All Files - Zeige alle Dateien - - - - TextLabel - Beschriftungstext - - - - Recover - Wiederherstellen - - - - Recover to - Wiederherstellen nach - - - - Delete all - Alle löschen - - - - Close - Schließen - - - - SettingsWindow - - - SandboxiePlus Settings - Sandboxie-Plus Settings - SandboxiePlus Einstellungen - - - - General Options - Generelle Optionen - - - - Show Notifications for relevant log Messages - Zeige Benachrichtigungen für relevante Protokollmitteilungen - - - - Show Sys-Tray - Zeige System-Tray - - - - Use Dark Theme - Dunkles Farbschema benutzen - - - - Add 'Run Sandboxed' to the explorer context menu - Füge 'In Sandbox starten' zum Kontextmenü des Explorers hinzu - - - - On main window close: - Beim Schließen des Hauptfensters: - - - - Restart required (!) - Erfordert Neustart (!) - - - - Watch Sandboxie.ini for changes - Sandboxie.ini auf Änderungen überwachen - - - - Tray options - Tray-Optionen - - - - Check periodically for updates of Sandboxie-Plus - Periodisch nach Update für Sandboxie-Plus suchen - - - - Open urls from this ui sandboxed - Open URLs from this UI sandboxed - Öffne URLs aus dieser Benutzerschnittstelle in einer Sandbox - - - - Advanced Options - Erweiterte Optionen - - - - Only Administrator user accounts can use Disable Forced Programs command - Nur Administratoren können das Erzwingen von Programmen deaktivieren - - - - Only Administrator user accounts can make changes - Nur Administratoren können Änderungen vornehmen - - - - Config protection - Konfigurationsschutz - - - - Password must be entered in order to make changes - Passwort muss für Änderungen eingegeben werden - - - - Change Password - Passwort ändern - - - - Sandbox default - Sandboxstandard - - - - Sandbox <a href="sbie://docs/filerootpath">file system root</a>: - Sandbox <a href="sbie://docs/filerootpath">Dateisystemquelle</a>: - - - - Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: - Sandbox <a href="sbie://docs/ipcrootpath">IPC-Quelle</a>: - - - - Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: - Sandbox <a href="sbie://docs/keyrootpath">Registy-Quelle</a>: - - - - Separate user folders - Trenne Benutzerordner - - - - Clear password when main window becomes hidden - Leere Passwort, wenn das Hauptfenster versteckt wird - - - - Start UI with Windows - Starte Benutzeroberfläche mit Windows - - - - Start UI when a sandboxed process is started - Starte Benutzeroberfläche, wenn ein Prozess in einer Sandbox gestartet wird - - - - Show first recovery window when emptying sandboxes - Zeige Wiederherstellungsfenster, vor dem Leeren der Sandboxen - - - - Portable root folder - Portabler Quellordner - - - - ... - ... - - - - Other settings - Andere Einstellungen - - - - Program Restrictions - Programmrestriktionen - - - - - Name - Name - - - - Path - Pfad - - - - Remove Program - Programm entfernen - - - - Add Program - Programm hinzufügen - - - - When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301. - Wenn eines der folgenden Programme außerhalb einer Sandbox gestartet wird, wird Sandboxie die Meldung SBIE1301 ausgeben. - - - - Add Folder - Ordner hinzufügen - - - - Prevent the listed programs from starting on this system - Verhindere den Start der aufgeführten Programme auf diesem System - - - - Issue message 1308 when a program fails to start - Gebe Meldung 1308 aus, wenn ein Programmstart fehlschlägt - - - - Software Compatibility - Softwarekompatibilität - - - - In the future, don't check software compatibility - Zukünftig nicht auf Softwarekompatibilität prüfen - - - - Enable - Aktiveren - - - - Disable - Deaktivieren - - - - Sandboxie has detected the following software applications in your system. Click OK to apply configuration settings, which will improve compatibility with these applications. These configuration settings will have effect in all existing sandboxes and in any new sandboxes. - Sandboxie hat die folgenden Anwendungen auf dem System gefunden. OK klicken zur Anwendung der Konfigurationseinstellungen, welche die Softwarekompatibilität mit diesen Anwendungen verbessert. Diese Konfigurationseinstellungen haben Auswirkungen auf alle existierenden und neuen Sandboxen. - - - - SnapshotsWindow - - - SandboxiePlus - Snapshots - SandboxiePlus Settings - SandboxiePlus Schnappschüsse - - - - Selected Snapshot Details - Ausgewählte Schnappschussdetails - - - - Name: - Name: - - - - Description: - Beschreibung: - - - - Snapshot Actions - Schnappschussaktionen - - - - Remove Snapshot - Schnappschuss entfernen - - - - Take Snapshot - Schnappschuss erstellen - - - - Go to Snapshot - Gehe zum Schnappschuss - - - +Full path: %4 + Migrating a large file %1 into the sandbox %2, %3 left. +Full path: %4 + Übertrage große Datei %1 in die Sandbox %2, %3 verbleiben. +Vollständiger Pfad: %4 + + + + an UNKNOWN process. + Ein UNBEKANNTER Prozess. + + + + %1 (%2) + same as source + %1 (%2) + + + + + UNKNOWN + UNBEKANNT + + + + CRecoveryWindow + + + %1 - File Recovery + %1 - Dateiwiederherstellung + + + + File Name + Dateiname + + + + File Size + Dateigröße + + + + Full Path + Vollständiger Pfad + + + + + Select Directory + Ordner auswählen + + + + One or more selected files are located on a network share, and must be recovered to a local drive, please select a folder to recover all selected files to. + Eine oder mehrere ausgewählte Dateien befinden sich auf Netzwerkpfaden und müssen zur Wiederherstellung lokal gespeichert werden. Bitte einen Ordner auswählen, um die ausgewählten Dateien darin wiederherzustellen. + + + + There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space. + Es befinden sich %1 Dateien und %2 Ordner in der Sandbox, welche %3 bytes an Speicherplatz belegen. + + + + CResMonModel + + + Unknown + Unbekannte + + + + Process + Prozess + + + + Time Stamp + Zeitstempel + + + + Type + Typ + + + + Value + Wert + + + + Status + Status + + + + CSandBoxPlus + + + Disabled + Deaktiviert + + + + Empty + Leer + + + + NOT SECURE (Debug Config) + NICHT SICHER (Debug Konfiguration) + + + + Reduced Isolation + Reduzierte Isolation + + + + Enhanced Isolation + Erweiterte Isolation + + + + API Log + API Protokoll + + + + No INet + Kein Internet + + + + Net Share + Kept original for lack of good German wording + Netzwerkfreigabe (Net share) + + + + No Admin + Kein Admin + + + + Normal + Normal + + + + CSandMan + + + + Sandboxie-Plus v%1 + Sandboxie-Plus v%1 + + + + Reset Columns + Spalten zurücksetzen + + + + Copy Cell + Zelle kopieren + + + + Copy Row + Spalte kopieren + + + + Copy Panel + Tafel kopieren + + + + Time|Message + Zeit|Nachricht + + + + Sbie Messages + Sbie Nachrichten + + + + Resource Monitor + Ressourcenmonitor + + + + Show/Hide + Zeigen/Verstecken + + + + + Disable Forced Programs + Deaktiviere erzwungene Programme + + + + &Sandbox + &Sandbox + + + + Create New Box + Neue Box erstellen + + + + Terminate All Processes + Alle Prozesse beenden + + + + Window Finder + Fensterfinder + + + + &Maintenance + &Wartung + + + + Connect + Verbinden + + + + Disconnect + Trennen + + + + Stop All + Alle stoppen + + + + &Advanced + &Erweitert + + + + Install Driver + Treiber installieren + + + + Start Driver + Treiber starten + + + + Stop Driver + Treiber stoppen + + + + Uninstall Driver + Treiber deinstallieren + + + + Install Service + Dienst installieren + + + + Start Service + Dienst starten + + + + Stop Service + Dienst stoppen + + + + Uninstall Service + Dienst deinstallieren + + + + Exit + Beenden + + + + &View + &Ansicht + + + + Simple View + Einfache Ansicht + + + + Advanced View + Erweiterte Ansicht + + + + Always on Top + Immer oben + + + + Show Hidden Boxes + Zeige versteckte Boxen + + + + Clean Up + Aufräumen + + + + Cleanup Trace Log + Rückverfolgungsprotokoll aufräumen + + + + Default sandbox not found; creating: %1 + Standard Sandbox nicht gefunden; erstelle: %1 + + + + <p>Do you want to go to the <a href="%1">info page</a>?</p> + <p>Möchten Sie zur<a href="%1">Infoseite gehen</a>?</p> + + + + Don't show this message anymore. + Diese Meldung nicht mehr anzeigen. + + + + The selected window is running as part of program %1 in sandbox %2 + Das ausgewählte Fenster läuft als Teil des Programms %1 in der Sandbox %2 + + + + The selected window is not running as part of any sandboxed program. + Das ausgewählte Fenster läuft nicht als Teil eines Programms in einer Sandbox. + + + + Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. + Klicken und ziehen Sie das Finderwerkzeug über ein Fenster und lassen Sie die Maustaste los, um zu überprüfen, ob sich dieses Fenster in einer Sandbox befindet. + + + + Sandboxie-Plus - Window Finder + Sandboxie-Plus - Fensterfinder + + + + Keep terminated + Beendete behalten + + + + &Options + &Optionen + + + + Global Settings + Globale Einstellungen + + + + Reset all hidden messages + Alle ausgeblendeten Nachrichten zurücksetzen + + + + Edit ini file + .ini-Datei bearbeiten + + + + Reload ini file + .ini-Datei neu laden + + + + Resource Logging + Ressourcenprotokollierung + + + + &Help + &Hilfe + + + + Support Sandboxie-Plus with a Donation + Sandboxie-Plus mit einer Spende unterstützen + + + + Visit Support Forum + Supportforum besuchen + + + + Online Documentation + Onlinedokumentation + + + + Check for Updates + Auf Updates prüfen + + + + About the Qt Framework + Über das Qt Framework + + + + + About Sandboxie-Plus + Über Sandboxie-Plus + + + + Do you want to close Sandboxie Manager? + Möchten Sie den Sandboxie-Manager schließen? + + + + Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. + Sandboxie-Plus wurde im portablen Modus betrieben, nun müssen die erzeugten Dienste bereinigt werden, was Adminrechte benötigt. + + + + Failed to stop all Sandboxie components + Konnte nicht alle Sandboxiekomponenten stoppen + + + + Failed to start required Sandboxie components + Konnte nicht alle benötigten Sandboxiekomponenten starten + + + + Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? + Einige Kompatibilitätsvorlagen (%1) fehlen, möglicherweise wurden sie gelöscht. Möchten Sie diese aus allen Boxen entfernen? + + + + Cleaned up removed templates... + Entfernte Vorlagen aufgeräumt... + + + + Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? + Sandboxie-Plus wurde im portablen Modus gestartet, möchten Sie den Sandboxordner im übergeordneten Verzeichnis erstellen? + + + + - NOT connected + - NICHT verbunden + + + + The file %1 already exists, do you want to overwrite it? + Die Datei %1 existiert bereits, möchten Sie diese überschreiben? + + + + Do this for all files! + Tue dies für alle Dateien! + + + + Failed to recover some files: + + Konnte nicht alle Dateien wiederherstellen: + + + + + Do you want to terminate all processes in all sandboxes? + Möchten Sie alle Prozesse in allen Sandboxen beenden? + + + + Terminate all without asking + Alle ohne Rückfrage beenden + + + + Please enter the duration for disabling forced programs. + Bitte Dauer eingeben, in der erzwungene Programme deaktiviert sind. + + + + Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. + Sandboxie-Plus wurde im portablen Modus gestartet, nun müssen die benötigten Dienste erzeugt werden, was Adminrechte benötigt. + + + + Do you also want to reset hidden message boxes (yes), or only all log messages (no)? + Möchten Sie auch die ausgeblendeten Mitteilungsboxen zurücksetzen (Ja) oder nur alle Protokollnachrichten (Nein)? + + + + The changes will be applied automatically whenever the file gets saved. + Die Änderungen werden automatisch angewendet, sobald die Datei gespeichert wird. + + + + The changes will be applied automatically as soon as the editor is closed. + Die Änderungen werden automatisch angewendet, sobald der Editor geschlossen wird. + + + + Error Status: %1 + Fehler Code: %1 + + + + Can not create snapshot of an empty sandbox + Kann keinen Schnappschuss von einer leeren Box erstellen + + + + A sandbox with that name already exists + Es existiert bereits eine Sandbox mit diesem Namen + + + + <p>Sandboxie-Plus is an open source continuation of Sandboxie.</p><p></p><p>Visit <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> for more information.</p><p></p><p></p><p></p><p>Icons from <a href="https://icons8.com">icons8.com</a></p><p></p> + <p>Sandboxie-Plus ist eine OpenSource-Fortsetzung von Sandboxie.</p><p></p><p>Besuche <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> für weitere Informationen.</p><p></p><p></p><p></p><p>Icons von <a href="https://icons8.com">icons8.com</a></p><p></p> + + + + Failed to execute: %1 + Fehler beim Ausführen von: %1 + + + + Failed to communicate with Sandboxie Service: %1 + Fehler beim Kommunizieren mit Sandbox-Dienst: %1 + + + + Failed to copy configuration from sandbox %1: %2 + Fehler beim Kopieren der Konfiguration von Sandbox %1: %2 + + + + A sandbox of the name %1 already exists + Es existiert bereits eine Sandbox mit dem Namen %1 + + + + Failed to delete sandbox %1: %2 + Fehler beim Löschen der Sandbox %1: %2 + + + + The sandbox name can not be longer than 32 characters. + Der Name der Sandbox darf nicht länger als 32 Zeichen sein. + + + + The sandbox name can not be a device name. + Der Name der Sandbox darf kein reservierter Gerätename (device name) sein. + + + + The sandbox name can contain only letters, digits and underscores which are displayed as spaces. + Der Name der Sandbox darf nur Buchstaben, Zahlen und Unterstriche, welche als Leerstellen angezeigt werden, enthalten. + + + + Failed to terminate all processes + Konnte nicht alle Prozesse beenden + + + + Delete protection is enabled for the sandbox + Löschschutz ist für diese Sandbox aktiviert + + + + Error deleting sandbox folder: %1 + Fehler beim Löschen von Sandbox-Ordner: %1 + + + + A sandbox must be emptied before it can be renamed. + Eine Sandbox muss geleert werden, bevor Sie gelöscht werden kann. + + + + A sandbox must be emptied before it can be deleted. + Eine Sandbox muss geleert werden, bevor sie umbenannt werden kann. + + + + Failed to move directory '%1' to '%2' + Konnte Ordner '%1' nicht nach '%2' verschieben + + + + This Snapshot operation can not be performed while processes are still running in the box. + Der Schnappschuss kann nicht erstellt werden, während Prozesse in dieser Box laufen. + + + + Failed to create directory for new snapshot + Konnte den Ordner für den neuen Schnappschuss (Snapshot) nicht erstellen + + + + Failed to copy RegHive + Konnte RegHive nicht kopieren + + + + Snapshot not found + Schnappschuss (Snapshot) nicht gefunden + + + + Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. + Fehler beim Zusammenführen der Schnappschuss Ordner: '%1' with '%2', der Schnappschuss wurde nicht vollständig zusammengeführt. + + + + Failed to remove old snapshot directory '%1' + Konnte alten Schnappschuss-Ordner '%1' nicht entfernen + + + + Failed to remove old RegHive + Konnte alten RegHive nicht entfernen + + + + You are not authorized to update configuration in section '%1' + Sie sind nicht berechtigt die Konfiguration in Sektion '%1' zu aktualisieren + + + + Failed to set configuration setting %1 in section %2: %3 + Fehler beimSetzen der Konfigurationsoption %1 in Sektion %2: %3 + + + + Unknown Error Status: %1 + Unbekannter Fehlerstatus: %1 + + + + Don't show this announcement in the future. + Diese Ankündigung zukünftig nicht mehr zeigen. + + + + No new updates found, your Sandboxie-Plus is up-to-date. + Keine Updates gefunden, Sandboxie-Plus ist aktuell. + + + + <p>New Sandboxie-Plus has been downloaded to the following location:</p><p><a href="%2">%1</a></p><p>Do you want to begin the installation? If any programs are running sandboxed, they will be terminated.</p> + <p>Neue Version von Sandboxie-Plus wurde heruntergeladen zu:</p><p><a href="%2">%1</a></p><p>Möchten Sie mit der Installation beginnen? Falls Programme in einer Sandbox laufen, werden diese beendet.</p> + + + + + + + + + Don't show this message again. + Diese Meldung nicht mehr anzeigen. + + + + + + Sandboxie-Plus - Error + Sandboxie-Plus - Fehler + + + + Maintenance operation %1 + Wartungsvorgang %1 + + + + Maintenance operation Successful + Wartungsvorgang erfolgreich + + + + Do you want to check if there is a new version of Sandboxie-Plus? + Möchten Sie prüfen, ob es eine neue Version von Sandboxie-Plus gibt? + + + + Driver version: %1 + Treiber version: %1 + + + + - Portable + - Portable + + + + Sbie Directory: %1 + Sbie Ordner: %1 + + + + Cleanup Processes + Prozesse aufräumen + + + + Cleanup Message Log + Nachrichtenprotokoll aufräumen + + + + Cleanup + Aufräumen + + + + Select box: + Box auswählen: + + + + Loaded Config: %1 + Geladene Konfiguration: %1 + + + + PID %1: + PID %1: + + + + %1 (%2): + %1 (%2): + + + + Recovering file %1 to %2 + Stelle Datei %1 zu %2 wieder her + + + + Only Administrators can change the config. + Nur Administratoren können die Konfiguration editieren. + + + + Please enter the configuration password. + Bitte Konfigurationspasswort eingeben. + + + + Login Failed: %1 + Login fehlgeschlagen: %1 + + + + Executing maintenance operation, please wait... + Führe Wartungsvorgang aus, bitte warten... + + + + Administrator rights are required for this operation. + Für diesen Vorgang werden Adminrechte benötigt. + + + + Failed to connect to the driver + Fehler beim Verbinden mit dem Treiber + + + + An incompatible Sandboxie %1 was found. Compatible versions: %2 + Eine inkompatible Version von Sandboxie %1 wurde gefunden. Kompatible Versionen: %2 + + + + Can't find Sandboxie installation path. + Kann Installationspfad von Sandboxie nicht finden. + + + + Can't remove a snapshot that is shared by multiple later snapshots + Es kann kein Schnappschuss gelöscht werden der von mehreren späteren Schnappschüssen geteilt wird + + + + Operation failed for %1 item(s). + Vorgang für %1 Element(e) fehlgeschlagen. + + + + Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? + Möchten Sie %1 in einem sandgeboxten (Ja) oder in einem nicht gesandboxten (Nein) Browser öffnen? + + + + Remember choice for later. + Die Auswahl für später merken. + + + + Checking for updates... + Prüfe auf Updates... + + + + server not reachable + Server nicht erreichbar + + + + + Failed to check for updates, error: %1 + Prüfung auf Updates fehlgeschlagen, Fehler: %1 + + + + <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> + <p>Es it eine neue Version von Sandboxie-Plus verfügbar.<br /><font color='red'>Neue Versions:</font> <b>%1</b></p> + + + + <p>Do you want to download the latest version?</p> + <p>Möchten Sie die neuste Version herunterladen?</p> + + + + <p>Do you want to go to the <a href="%1">download page</a>?</p> + <p>Möchten Sie die <a href="%1">Downloadseite</a> besuchen?</p> + + + + Downloading new version... + Lade neue Version herunter... + + + + Failed to download update from: %1 + Download des Updates von: %1 fehlgeschlagen + + + + <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> + <h3>Über Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> + + + + CSbieModel + + + Box Groupe + Box Group + Boxgruppe + + + + Name + Name + + + + Process ID + Prozess ID + + + + Status + Status + + + + Title + Titel + + + + Start Time + Startzeit + + + + Path / Command Line + Pfad / Kommandozeile + + + + CSbieProcess + + + Terminated + Beendet + + + + Running + Laufend + + + + CSbieView + + + Create New Box + Neue Box erstellen + + + + Add Group + Gruppe hinzufügen + + + + Remove Group + Gruppe entfernen + + + + Run + Starten + + + + Run Program + Programm starten + + + + Run from Start Menu + Aus Startmenü starten + + + + Run Web Browser + Internetbrowser starten + + + + Run eMail Client + E-Mail Programm starten + + + + Run Explorer + Explorer starten + + + + Run Cmd.exe + Cmd.exe starten + + + + Run Cmd.exe as Admin + Cmd.exe als Administrator starten + + + + Terminate All Programs + Alle Prozesse beenden + + + + + Create Shortcut + Verknüpfung erstellen + + + + Explore Content + Inhalt anzeigen + + + + Snapshots Manager + Schnappschussmanager + + + + Recover Files + Dateien wiederherstellen + + + + Delete Content + Inhalte löschen + + + + Sandbox Presets + Sandboxvorgaben + + + Enable API Call logging + Aktiviere API-Aufrufprotokoll + + + + Block Internet Access + Blockiere Internetzugriff + + + + Allow Network Shares + Erlaube Netzwerkfreigaben + + + + Drop Admin Rights + Adminrechte abgeben + + + + Ask for UAC Elevation + + + + + Emulate Admin Rights + + + + + Sandbox Options + Sandboxeinstellungen + + + + Rename Sandbox + Sandbox umbenennen + + + + Move to Group + Zu Gruppe zuordnen + + + + Remove Sandbox + Sandbox entfernen + + + + Terminate + Beenden + + + + Preset + Vorgabe + + + + Pin to Run Menu + An das Starten-Menü anheften + + + + Block and Terminate + Blockieren und Beenden + + + + Allow internet access + Erlaube Internetzugriff + + + + Force into this sandbox + In dieser Sandbox erzwingen + + + + Set Linger Process + Setze verweilende Programme + + + + Set Leader Process + Setze primäre Programme + + + + A group can not be its own parent. + Eine Gruppe kann nicht seine eigene Quelle sein. + + + + + Don't show this message again. + Diese Meldung nicht mehr anzeigen. + + + + This Sandbox is empty. + Diese Sandbox ist leer. + + + + This Sandbox is already empty. + Diese Sandbox ist bereits leer. + + + + Do you want to delete the content of the selected sandbox? + Möchten Sie den Inhalt der ausgewählten Sandbox löschen? + + + + Do you really want to delete the content of multiple sandboxes? + Möchten Sie wirklich die Inhalte von mehreren Sandboxen löschen? + + + + Do you want to terminate all processes in the selected sandbox(es)? + Möchten Sie alle Prozesse in der/den ausgewählten Sandbox(en) beenden? + + + + This box does not have Internet restrictions in place, do you want to enable them? + Diese Sandbox hat keine Internetbeschränkungen, möchten Sie diese aktivieren? + + + + This sandbox is disabled, do you want to enable it? + Diese Sandbox ist deaktiviert. Möchten Sie diese aktivieren? + + + + File root: %1 + + Dateiquelle: %1 + + + + + Registry root: %1 + + Registry-Quelle: %1 + + + + + IPC root: %1 + + IPC-Quelle: %1 + + + + + Options: + + Optionen: + + + + + [None] + [Kein(e)] + + + + Please enter a new group name + Bitte einen Namen für die neue Gruppe eingeben + + + + Do you really want to remove the selected group(s)? + Möchten Sie wirklich die ausgewählte(n) Gruppe(n) entfernen? + + + + Please enter a new name for the Sandbox. + Bitte einen Namen für die neue Sandbox eingeben. + + + + Do you really want to remove the selected sandbox(es)? + Möchten Sie wirklich die ausgewählte(n) Sandbox(en) entfernen? + + + + + Create Shortcut to sandbox %1 + Verknüpfung zu Sandbox %1 erstellen + + + + Do you want to %1 the selected process(es) + Möchten Sie die ausgewählten Prozesse %1 + + + + CSettingsWindow + + + Sandboxie Plus - Settings + Sandboxie-Plus - Settings + Sandboxie Plus - Einstellungen + + + + Auto Detection + Autoerkennung + + + + Close to Tray + In den Tray schließen + + + + Prompt before Close + Rückfrage vor dem Schließen + + + + Close + Schließen + + + + Please enter the new configuration password. + Bitte ein Passwort für die neue Konfiguration eingeben. + + + + Please re-enter the new configuration password. + Bitte das neue Konfigurationspasswort wiederholen. + + + + Passwords did not match, please retry. + Passwörter stimmten nicht überein, bitte erneut versuchen. + + + + Process + Prozess + + + + Folder + Ordner + + + + Please enter a program file name + Bitte den Dateinamen eines Programms eingeben + + + + + Select Directory + Ordner auswählen + + + + CSnapshotsWindow + + + %1 - Snapshots + %1 - Schnappschüsse + + + + Snapshot + Schnappschuss + + + + Please enter a name for the new Snapshot. + Bitte einen Namen für den neuen Schnappschuss eingeben. + + + + New Snapshot + Neuer Schnappschuss + + + + Do you really want to switch the active snapshot? Doing so will delete the current state! + Möchten Sie wirklich den aktiven Schnappschuss wechseln? Dies führt zur Löschung des aktuellen Standes! + + + + Do you really want to delete the selected snapshot? + Möchten Sie wirklich die ausgewählten Schnappschüsse entfernen? + + + + NewBoxWindow + + + SandboxiePlus new box + Sandboxie-Plus new box + SandboxiePlus Neue Box + + + + Select restriction/isolation template: + Restriktions- oder Isolationsvorlage auswählen: + + + + Copy options from an existing box: + Kopiere Optionen von existierender Sandbox: + + + + Sandbox Name: + Sandboxname: + + + + Initial sandbox configuration: + Initiale Sandboxkonfiguration: + + + + OptionsWindow + + + SandboxiePlus Options + Sandboxie-Plus Options + SandboxiePlus Optionen + + + + General Options + Generelle Optionen + + + + Box Options + Boxoptionen + + + + Sandboxed window border: + Fensterrahmen innerhalb der Sandbox: + + + + px Width + px Breite + + + + Appearance + Erscheinung + + + + Sandbox Indicator in title: + Sandboxindikator im Fenstertitel: + + + + + + + Protect the system from sandboxed processes + Schütze das System vor Prozessen in der Sandbox + + + General restrictions + Generelle Restriktionen + + + + Block network files and folders, unless specifically opened. + Blockiere Netzwerkdateien und Ordner, außer diese wurden explizit geöffnet. + + + + Drop rights from Administrators and Power Users groups + Die Rechte der Administratoren und Hauptbenutzergruppe einschränken + + + + Prevent change to network and firewall parameters + Verhindere Änderungen an den Netzwerk- und Firewall-Einstellungen + + + + Run Menu + Startmenü + + + + You can configure custom entries for the sandbox run menu. + Sie können eigene Einträge in dem Startmenü der Sandbox einrichten. + + + + + + + + + Name + Name + + + + Command Line + Kommandozeile + + + + + + + + + + + Remove + Entfernen + + + + Add Command + Kommando hinzufügen + + + + File Options + Dateioptionen + + + + Copy file size limit: + Dateigrößenbeschränkung zum Kopieren: + + + + kilobytes + Kilobytes + + + + Protect this sandbox from deletion or emptying + Diese Sandbox vor Löschung und Leerung schützen + + + + Auto delete content when last sandboxed process terminates + Inhalte automatisch löschen, wenn der letzte Prozess in der Sandbox beendet wurde + + + + File Migration + Dateimigration + + + + Issue message 2102 when a file is too large + Meldung 2102 ausgeben, wenn die Datei zu groß ist + + + + Box Delete options + Box Löschoptionen + + + + Elevation restrictions + + + + + Make applications think thay are running elevated (allows to run installers safely) + + + + + Network restrictions + + + + + (Recommended) + + + + + Security note: Elevated applications running under the supervision of Sandboxie, with an admin token, have more opportunities to bypass isolation and modify the system outside the sandbox. + + + + + Raw Disk access + + + + + Allow elevated sandboxed applications to read the harddrive + + + + + Warn when an application opens a harddrive handle + + + + + Access Options + + + + + Program Groups + Programmgruppen + + + + Add Group + Gruppe hinzufügen + + + + + + Add Program + Programm hinzufügen + + + + You can group programs together and give them a group name. Program groups can be used with some of the settings instead of program names. + Sie können Programme gruppieren und ihnen einen Gruppennamen geben. Programmgruppen können in den Einstellungen an Stelle der Programmnamen genutzt werden. + + + + Forced Programs + Erzwungene Programme + + + + Force Folder + Erzwungene Ordner + + + + + + Path + Pfad + + + + Force Program + Erzwungenes Programm + + + + + + + Show Templates + Zeige Vorlagen + + + + Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. + Programme die hier gelistet sind oder von den angegeben Ordnern gestartet werden, werden automatisch in dieser Sandbox ausgeführt, solange sie nicht explizit in einer anderen Sandbox gestartet werden. + + + + Stop Behaviour + Stopverhalten + + + + + + Remove Program + Programm entfernen + + + + Add Leader Program + Füge primäre Programme hinzu + + + + Add Lingering Program + Füge verweilende Programme hinzu + + + + + + + Type + Typ + + + + Block access to the printer spooler + Zugriff auf die Druckerwarteschlange blockieren + + + + Allow the print spooler to print to files outside the sandbox + Der Druckerwarteschlange erlauben als Dateien außerhalb der Sandbox zu drucken (Print to file) + + + Printing + Drucken + + + + Remove spooler restriction, printers can be installed outside the sandbox + Entferne Druckerwarteschlangenrestriktionen, Drucker können außerhalb der Sandbox installiert werden + + + + Other restrictions + + + + + Printing restrictions + + + + + + Add program + Füge Programm hinzu + + + + Auto Start + Autostart + + + + Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated + Hier können Sie Programme und/oder Dienste angeben, welche automatisch in der Sandbox gestartet werden, wenn diese aktiviert wird + + + + Add service + Füge Dienst hinzu + + + + Lingering programs will be automatically terminated if they are still running after all other processes have been terminated. + +If leader processes are defined, all others are treated as lingering processes. + Verweilende Programme werden automatisch beendet, wenn diese noch laufen, nachdem alle anderen Prozesse bereits beendet wurden. + +Falls primäre Programme/Prozesse definiert wurden, werden alle anderen als verweilende Prozesse behandelt. + + + + Start Restrictions + Starteinschränkungen + + + + Issue message 1308 when a program fails to start + Gebe Meldung 1308 aus, wenn ein Programmstart fehlschlägt + + + + Allow only selected programs to start in this sandbox. * + Erlaube nur ausgewählten Prozessen in dieser Sandbox zu starten. * + + + + Prevent selected programs from starting in this sandbox. + Verhindere die Ausführung von ausgewählten Programmen in dieser Sandbox. + + + + Allow all programs to start in this sandbox. + Erlaube allen Programmen in dieser Sandbox zu starten. + + + + * Note: Programs installed to this sandbox won't be able to start at all. + * Notiz: Programme, welche in dieser Sandbox installiert werden, werden nicht in der Lage sein zu starten. + + + + Internet Restrictions + Internetbeschränkungen + + + + Issue message 1307 when a program is denied internet access + Gebe Meldung 1307 aus, wenn einem Programm der Internetzugriff verweigert wurde + + + + Block internet access for all programs except those added to the list. + Blockiere Internetzugriff für alle Programme, außer sie sind hier gelistet. + + + + Note: Programs installed to this sandbox won't be able to access the internet at all. + Hinweis: Programme, welche in dieser Sandbox installiert werden, werden nicht in der Lage sein auf das Internet zuzugreifen. + + + + Prompt user whether to allow an exemption from the blockade. + Den Nutzer fragen, ob er eine Ausnahme von dieser Blockade erlauben will. + + + + Resource Access + Ressourcenzugriff + + + + Program + Programm + + + + Access + Zugriff + + + + Add Reg Key + Füge Registry-Schlüssel hinzu + + + + Add File/Folder + Füge Datei/Ordner hinzu + + + + Add Wnd Class + Füge Fensterklasse hinzu + + + + Add COM Object + Füge COM-Objekt hinzu + + + + Add IPC Path + Füge IPC-Pfad hinzu + + + + Move Up + Nach oben verschieben + + + + Move Down + Nach unten verschieben + + + + Configure which processes can access what resources. Double click on an entry to edit it. +'Direct' File and Key access only applies to program binaries located outside the sandbox. +Note that all Close...=!<program>,... exclusions have the same limitations. +For files access you can use 'Direct All' instead to make it apply to all programs. + Translated close to what is written in the source + Konfigurieren, welche Prozesse auf welche Ressourcen zugreifen können. Doppelklick um einen Eintrag zu bearbeiten. +'Direkter' Datei und Schlüsselzugriff trifft nur auf Programmdateien zu, die sich außerhalb der Sandbox befinden. +Beachte, dass alle Programme schließen...=!<Programm>,... Ausnahmen die gleichen Beschränkungen haben. +Zum Dateizugriff können Sie 'Direkt Alle' verwenden um für alle Programme zu zu treffen. + + + + File Recovery + Dateiwiederherstellung + + + + Add Folder + Füge Ordner hinzu + + + + Ignore Extension + Ignoriere Erweiterungen + + + + Ignore Folder + Ignoriere Ordner + + + + Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. + Enable Immediate Recovery prompt to be able to recover files as soon as they are created. + Aktivere Sofortwiederherstellungsabfrage, um alle Dateien sofort wiederherzustellen, sobald sie erzeugt werden. + + + + You can exclude folders and file types (or file extensions) from Immediate Recovery. + Sie können Ordner und Dateitypen (oder Dateierweiterungen) von der Sofortwiederherstellung ausnehmen. + + + + When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. + Wenn die Schnellwiederherstellungsfunktion aufgerufen wird, werden die folgenden Ordner in der Sandbox auf Inhalte geprüft. + + + + Advanced Options + Erweiterte Optionen + + + + Miscellaneous + Diverses + + + + Do not start sandboxed services using a system token (recommended) + Sandgeboxte Dienste nicht mit einem Systemtoken starten (empfohlen) + + + + Ntdll syscall Trace (creates a lot of output) + + + + + Allow access to Smart Cards + Zugriff auf SmartCards erlauben + + + + Force usage of custom dummy Manifest files (legacy behaviour) + Erzwinge die Verwendung von eigenen dummy Manifestdateien (veraltetes Verhalten) + + + + Add sandboxed processes to job objects (recommended) + Füge gesandboxte Prozesse zu Job-Objekten hinzu (empfohlen) + + + + Limit access to the emulated service control manager to privileged processes + Beschränke Zugriff auf emulierte Dienstkontrollmanager auf privilegierte Prozesse + + + + Open System Protected Storage + Öffne systemgeschützen Speicherort + + + + Open Windows Credentials Store + Öffne Windows Anmeldeinformationsverwaltung + + + + Don't alter window class names created by sandboxed programs + Fensterklassen von gesandboxten Programmen nicht ändern + + + + + Protect the sandbox integrity itself + Die Sandboxintegrität selbst schützen + + + + Sandbox protection + Sandboxschutz + + + + Compatibility + Kompatibilität + + + + Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes + Schütze sandgeboxte SYSTEM-Prozesse vor unprivilegierten nicht sandgeboxten Prozessen + + + + Hide Processes + Verstecke Prozesse + + + + Add Process + Prozess hinzufügen + + + + Hide host processes from processes running in the sandbox. + Verstecke Host-Prozesse vor Prozessen in der Sandbox. + + + + Don't allow sandboxed processes to see processes running in other boxes + Nicht erlauben, dass sandgeboxte Prozesse die Prozesse in anderen Boxen sehen können + + + + Users + Benutzer + + + + Restrict Resource Access monitor to administrators only + Beschränke den Ressourcenzugriffsmonitor auf Administratoren + + + + Add User + Benutzer hinzufügen + + + + Remove User + Benutzer entfernen + + + + Add user accounts and user groups to the list below to limit use of the sandbox to only those accounts. If the list is empty, the sandbox can be used by all user accounts. + +Note: Forced Programs and Force Folders settings for a sandbox do not apply to user accounts which cannot use the sandbox. + Füge Nutzerkonten und -gruppen der Liste hinzu, um die Benutzung der Sandbox auf diese Konten zu beschränken.Falls die Liste leer ist, kann die Sandbox von allen Konten genutzt werden. + +Notiz: Erzwungene Programme und Ordner für eine Sandbox finden keine Anwendung auf Konten, die diese Sandbox nicht nutzen können. + + + + Tracing + Rückverfolgung + + + + API call trace (requirers logapi to be installed in the sbie dir) + + + + + Log all SetError's to Trace log (creates a lot of output) + + + + + Pipe Trace + Pipe Rückverfolgung + + + + Log all access events as seen by the driver to the resource access log. + +This options set the event mask to "*" - All access events +You can customize the logging using the ini by specifying +"A" - Allowed accesses +"D" - Denied accesses +"I" - Ignore access requests +instead of "*". + Protokolliere jeden Zugriffsevent, wie er durch den Treiber gesehen wird, im Ressourcenzugriffsprotokoll. + +Diese Optionen setzen die Eventmaske auf "*" - Alle Zugriffsevents +Sie können die Protokollierung in der INI anpassen in den Sie wie folgt wählen +"A" - Erlaubte Zugriffe +"D" - Verweigerte Zugriffe +"I" - Ignorierte Zugriffsanfragen +an Stelle von "*". + + + + Access Tracing + Zugriffsrückverfolgung + + + + GUI Trace + GUI Rückverfolgung + + + + Key Trace + Schlüsselrückverfolgung + + + + File Trace + Dateirückverfolgung + + + Lift security restrictions + Sicherheitsrestriktionen aufheben + + + + Sandbox isolation + Sandboxisolation + + + + Allow access to Bluetooth + Zugriff auf Bluetooth erlauben + + + + Auto Exec + Autoausführen + + + + Here you can specify a list of commands that are executed every time the sandbox is initially populated. + Hier können Sie eine Liste mit Kommandos angeben, welche jedes Mal ausgeführt werden, wenn die Sandbox initial geladen wird. + + + + IPC Trace + IPC-Rückverfolgung + + + + Log Debug Output to the Trace Log + Protokolliere Debug-Ausgabe in das Rückverfolgungsprotokoll + + + + COM Class Trace + COM-Klassenrückverfolgung + + + + <- for this one the above does not apply + <- für dieses findet das Obige keine Anwendung + + + Log all SetError's to Trace log + Protokolliere alle SetError ins Rückverfolgungsprotokoll + + + + Debug + Debug + + + + WARNING, these options can disable core security guarantees and break sandbox security!!! + WARNUNG, diese Optionen können Kernsicherheitsgarantien deaktivieren und die Sandboxsicherheit zerstören!!! + + + + These options are intended for debugging compatibility issues, please do not use them in production use. + Diese Optionen sind nur zur Fehlersuche bei Kompatibilitätsproblemen gedacht, bitte nicht im produktiven Einsatz verwenden. + + + + App Templates + Programmvorlagen + + + + Filter Categories + Filterkategorien + + + + Text Filter + Textfilter + + + + Category + Kategorie + + + + This list contains a large amount of sandbox compatibility enhancing templates + Diese Liste enthält eine große Menge an Vorlagen, welche die Kompatibilität der Sandbox verbessern + + + + Edit ini Section + INI Sektion bearbeiten + + + + Edit ini + INI bearbeiten + + + + Cancel + Abbrechen + + + + Save + Speichern + + + + PopUpWindow + + + SandboxiePlus Notifications + Sandboxie-Plus Notifications + SandboxiePlus Benachrichtigungen + + + + QObject + + + Drive %1 + Laufwerk %1 + + + + RecoveryWindow + + + SandboxiePlus - Recovery + SandboxiePlus Settings + SandboxiePlus-Wiederherstellung + + + + Add Folder + Ordner hinzufügen + + + + Refresh + Aktualisieren + + + + Show All Files + Zeige alle Dateien + + + + TextLabel + Beschriftungstext + + + + Recover + Wiederherstellen + + + + Recover to + Wiederherstellen nach + + + + Delete all + Alle löschen + + + + Close + Schließen + + + + SettingsWindow + + + SandboxiePlus Settings + Sandboxie-Plus Settings + SandboxiePlus Einstellungen + + + + General Options + Generelle Optionen + + + + Show Notifications for relevant log Messages + Zeige Benachrichtigungen für relevante Protokollmitteilungen + + + + Show Sys-Tray + Zeige System-Tray + + + + Use Dark Theme + Dunkles Farbschema benutzen + + + + Add 'Run Sandboxed' to the explorer context menu + Füge 'In Sandbox starten' zum Kontextmenü des Explorers hinzu + + + + On main window close: + Beim Schließen des Hauptfensters: + + + + Restart required (!) + Erfordert Neustart (!) + + + + Watch Sandboxie.ini for changes + Sandboxie.ini auf Änderungen überwachen + + + + Tray options + Tray-Optionen + + + + Check periodically for updates of Sandboxie-Plus + Periodisch nach Update für Sandboxie-Plus suchen + + + + Open urls from this ui sandboxed + Open URLs from this UI sandboxed + Öffne URLs aus dieser Benutzerschnittstelle in einer Sandbox + + + + Advanced Options + Erweiterte Optionen + + + + Only Administrator user accounts can use Disable Forced Programs command + Nur Administratoren können das Erzwingen von Programmen deaktivieren + + + + Only Administrator user accounts can make changes + Nur Administratoren können Änderungen vornehmen + + + + Config protection + Konfigurationsschutz + + + + Password must be entered in order to make changes + Passwort muss für Änderungen eingegeben werden + + + + Change Password + Passwort ändern + + + + Sandbox default + Sandboxstandard + + + + Sandbox <a href="sbie://docs/filerootpath">file system root</a>: + Sandbox <a href="sbie://docs/filerootpath">Dateisystemquelle</a>: + + + + Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: + Sandbox <a href="sbie://docs/ipcrootpath">IPC-Quelle</a>: + + + + Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: + Sandbox <a href="sbie://docs/keyrootpath">Registy-Quelle</a>: + + + + Separate user folders + Trenne Benutzerordner + + + + Clear password when main window becomes hidden + Leere Passwort, wenn das Hauptfenster versteckt wird + + + + Start UI with Windows + Starte Benutzeroberfläche mit Windows + + + + Start UI when a sandboxed process is started + Starte Benutzeroberfläche, wenn ein Prozess in einer Sandbox gestartet wird + + + + Show first recovery window when emptying sandboxes + Zeige Wiederherstellungsfenster, vor dem Leeren der Sandboxen + + + + Portable root folder + Portabler Quellordner + + + + ... + ... + + + + Other settings + Andere Einstellungen + + + + Program Restrictions + Programmrestriktionen + + + + + Name + Name + + + + Path + Pfad + + + + Remove Program + Programm entfernen + + + + Add Program + Programm hinzufügen + + + + When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301. + Wenn eines der folgenden Programme außerhalb einer Sandbox gestartet wird, wird Sandboxie die Meldung SBIE1301 ausgeben. + + + + Add Folder + Ordner hinzufügen + + + + Prevent the listed programs from starting on this system + Verhindere den Start der aufgeführten Programme auf diesem System + + + + Issue message 1308 when a program fails to start + Gebe Meldung 1308 aus, wenn ein Programmstart fehlschlägt + + + + Software Compatibility + Softwarekompatibilität + + + + In the future, don't check software compatibility + Zukünftig nicht auf Softwarekompatibilität prüfen + + + + Enable + Aktiveren + + + + Disable + Deaktivieren + + + + Sandboxie has detected the following software applications in your system. Click OK to apply configuration settings, which will improve compatibility with these applications. These configuration settings will have effect in all existing sandboxes and in any new sandboxes. + Sandboxie hat die folgenden Anwendungen auf dem System gefunden. OK klicken zur Anwendung der Konfigurationseinstellungen, welche die Softwarekompatibilität mit diesen Anwendungen verbessert. Diese Konfigurationseinstellungen haben Auswirkungen auf alle existierenden und neuen Sandboxen. + + + + SnapshotsWindow + + + SandboxiePlus - Snapshots + SandboxiePlus Settings + SandboxiePlus Schnappschüsse + + + + Selected Snapshot Details + Ausgewählte Schnappschussdetails + + + + Name: + Name: + + + + Description: + Beschreibung: + + + + Snapshot Actions + Schnappschussaktionen + + + + Remove Snapshot + Schnappschuss entfernen + + + + Take Snapshot + Schnappschuss erstellen + + + + Go to Snapshot + Gehe zum Schnappschuss + + + diff --git a/SandboxiePlus/SandMan/sandman_es.ts b/SandboxiePlus/SandMan/sandman_es.ts index ad98130be7..d480dc084d 100644 --- a/SandboxiePlus/SandMan/sandman_es.ts +++ b/SandboxiePlus/SandMan/sandman_es.ts @@ -511,18 +511,24 @@ Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? File name: %3 + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? +File name: %3 Do you want to allow %1 (%2) access to the internet? Full path: %3 + Do you want to allow %1 (%2) access to the internet? +Full path: %3 %1 is eligible for quick recovery from %2. The file was written by: %3 + %1 is eligible for quick recovery from %2. +The file was written by: %3 @@ -545,6 +551,8 @@ The file was written by: %3 Migrating a large file %1 into the sandbox %2, %3 left. Full path: %4 + Migrating a large file %1 into the sandbox %2, %3 left. +Full path: %4 diff --git a/SandboxiePlus/SandMan/sandman_pl.ts b/SandboxiePlus/SandMan/sandman_pl.ts index 749de91edb..49b3052e0f 100644 --- a/SandboxiePlus/SandMan/sandman_pl.ts +++ b/SandboxiePlus/SandMan/sandman_pl.ts @@ -100,260 +100,260 @@ Zawsze pokasuj - - + + Browse for Program Wybierz programu - + Browse for File Wybierz pliku - + Browse for Folder Wybierz folderu - + This sandbox has been deleted hence configuration can not be saved. Ta piaskownica została skasowana, więc konfiguracja nie morze być zapisana. - + Some changes haven't been saved yet, do you really want to close this options window? Niektóre ustawienia nie zostały jeszcze zapisane, czy naprawdę chcesz zamknąć ustawienia? - + kilobytes (%1) kilobajty (%1) - + Please enter a program path Proszę podać ścieżkę programu - - + + Select Program Wybierz program - + Executables (*.exe *.cmd);;All files (*.*) Programy (*.exe *.cmd);;Wszystkie pliki (*.*) - + Please enter a service identifier Proszę podać identyfikator usługi - + Service Usługa - + Program Program - + Executables (*.exe|*.cmd) Programy (*.exe|*.cmd) - - + + Please enter a menu title Proszę podać tytuł menu - + Please enter a command Proszę podać rozkaz menu - - - - + + + + Group: %1 Grupa: %1 - + Please enter a name for the new group Proszę podaj nazwę nowej grupy - + Enter program: Podaj program: - + Please select group first. Proszę najpierw wybrać grupę. - + Process Proces - - + + Folder Folder - - - - + + + + Select Directory Wybierz folder - + Lingerer Oporn - + Leader Przewódca - + Direct Bezpośredni - + Direct All Bezpośredni, wszystkie - + Closed Zamknięte - + Closed RT Zamknięte RT - + Read Only Tylko czytać - + Hidden Ukryte - - + + Unknown Nieznane - + File/Folder Pliki/Foldery - + Registry Rejestr Systemu - + IPC Path Ścieżka IPC - + Wnd Class Klasa Okna - + COM Object Objekt COM - + Select File Wybierz plik - + All Files (*.*) Wszystkie pliki(*.*) - - + + All Programs Wszystkie programy - + COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} Obiekty COM musza być podane w formacie GUID, tak ja: {00000000-0000-0000-0000-000000000000} - + RT interfaces must be specified by their name. Interfejsy RT musza być podane jako nazwy. - + Template values can not be edited. Wartości szablonów nie mogą być zmienione. - - + + Template values can not be removed. Wartości szablonów nie mogą być usunięte. - + Exclusion Wykluczenie - + Please enter a file extension to be excluded Proszę podać rozszerzenie pliku to wyłączenia - + Please enter an auto exec command Proszę podać rozkaz auto exec - + Please enter a program file name Proszę podać nazwę pliku programu - + All Categories Wszystkie kategorie - + This template is enabled globally. To configure it, use the global options. Ten szablon jest włączony globalnie. Aby zmienić tą konfiguracje użyj globalnych opcji. @@ -889,12 +889,6 @@ Full path: %4 Cleanup Resource Log Wyczyść log dostępów do zasobów - - - Cleanup Processes - Cleanup Api Call Log - Wyczyść log wywołana API - Cleanup Trace Log @@ -1556,7 +1550,7 @@ Full path: %4 - + Create Shortcut Wytwórz skrót @@ -1586,192 +1580,201 @@ Full path: %4 Ustawienia wstępne - Enable API Call logging - Włącz logowanie Wywołani API + Włącz logowanie Wywołani API - + Block Internet Access Zablokuj dostęp do Internetu - + Allow Network Shares Zezwól dostęp do dysków sieciowych - + Drop Admin Rights Wyłącz uprawnienia administratorskie - + + Ask for UAC Elevation + + + + + Emulate Admin Rights + + + + Sandbox Options Ustawienia piaskownicy - + Rename Sandbox Przemianuj piaskownice - + Move to Group Przenieś do grupy - + Remove Sandbox Usuń piaskownice - + Terminate Zakończyć - + Preset Ustawienia - + Pin to Run Menu Umocuj do Menu 'Wykonaj' - + Block and Terminate Zakończ i zablokuj - + Allow internet access Zezwól na dostęp do Internetu - + Force into this sandbox Wymuś wykonanie w tej piaskownicy - + Set Linger Process Oznacz jako oporny program - + Set Leader Process Oznacz jako przywódczy program - + File root: %1 File root: %1 - + Registry root: %1 Registry root: %1 - + IPC root: %1 IPC root: %1 - + Options: Opcje: - + [None] [żadne] - + Please enter a new group name Proszę podaj nazwę nowej grupy - + Do you really want to remove the selected group(s)? Czy naprawdę chcesz skasować wybrane grupy? - + A group can not be its own parent. Grupa nie orze być swoim własnym rodzicem. - - + + Don't show this message again. Nie pokazuj tej widomości ponownie. - + This Sandbox is empty. Ta piaskownice jest pusta. - + Please enter a new name for the Sandbox. Proszę podaj nową nazwę dla piaskownicy. - + Do you really want to remove the selected sandbox(es)? Czy naprawdę chcesz skasować wybrane piaskownice? - + This Sandbox is already empty. Ta piaskownica jest już pusta. - + Do you want to delete the content of the selected sandbox? Czy naprawdę chcesz skasować zawartość wybranej piaskownicy? - + Do you really want to delete the content of multiple sandboxes? Czy naprawdę chcesz skasować zawartość wybranych piaskownic? - + Do you want to terminate all processes in the selected sandbox(es)? Czy naprawdę chcesz skasować zakończyć wszystkie procesy w wybranych piaskowniach? - - + + Create Shortcut to sandbox %1 Wytwórz skrót do piaskownicy %1 - + Do you want to %1 the selected process(es) Czy naprawdę chcesz %1 wybrane procesy - + This box does not have Internet restrictions in place, do you want to enable them? Ta piaskownica nie ma aktualnie ograniczonego dostępu do Internetu, czy chcesz teras aktywować ograniczenia? - + This sandbox is disabled, do you want to enable it? Ta piaskownica jest wyłączona, czy chcesz ja teras włączyć? @@ -1919,259 +1922,313 @@ Full path: %4 Opcje piaskownicy - + Sandbox Indicator in title: Indykator piaskownicy w tytule: - + Block access to the printer spooler Zablokuj dostęp do drukarki - + Block network files and folders, unless specifically opened. Zablokuj dostęp do dysków sieciowych, chyba że specjalnie dopuszczone. - + Drop rights from Administrators and Power Users groups Usuń uprawnienia administracyjne - + Sandboxed window border: Granica okien w piaskownicy: - + Prevent change to network and firewall parameters Zabroń zmian ustawień sieci I firewalla - + px Width px Szerokość - + Appearance Wygląd - - - + + + + Protect the system from sandboxed processes Chroń system przed programami w piaskownicy - General restrictions - Ogólne ograniczenia + Ogólne ograniczenia - + Allow the print spooler to print to files outside the sandbox Zezwól, aby proces drukarki tworzył pliki poza piaskownicą - Printing - Drukowanie + Drukowanie - + Remove spooler restriction, printers can be installed outside the sandbox Wyłącz ograniczenia dostępu do drukarki, drukarki mogą być instalowane poza piaskownica - + Run Menu - + You can configure custom entries for the sandbox run menu. To możesz skonfigurować własne wpisy do menu ‘wykonaj’. - - + - - - + + + + Name Nazwa - + Command Line Wiersz polecenia - - + + Add program Dodaj program - - - - - - - - + + + + + + + + Remove Usuń - + File Options Opcje plików - + Copy file size limit: Ograniczenie rozmiaru plików do kopiowania: - + kilobytes kilobajtów - + Protect this sandbox from deletion or emptying Chroń tą piaskownice przed skasowaniem lob opróżnieniem - + Auto delete content when last sandboxed process terminates Automatycznie opróżnij piaskownice, gdy ostatni program zostanie zakończony - + File Migration Kopiowanie plików - + Issue message 2102 when a file is too large Ukarz wiadomość 2102 jak plik jest za durzy - + Box Delete options Opcje kasowania piaskownicy - + + Elevation restrictions + + + + + Make applications think thay are running elevated (allows to run installers safely) + + + + + Network restrictions + + + + + (Recommended) + + + + + Security note: Elevated applications running under the supervision of Sandboxie, with an admin token, have more opportunities to bypass isolation and modify the system outside the sandbox. + + + + + Raw Disk access + + + + + Allow elevated sandboxed applications to read the harddrive + + + + + Warn when an application opens a harddrive handle + + + + + Access Options + + + + + Other restrictions + + + + + Printing restrictions + + + + Auto Start Auto start - + Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated To możesz skonfigurować programy oraz usługi do wykonania przy starcie piaskownicy - - - - + + + + Type Typ - + Add service Dodaj usługe - + Program Groups Grupy programów - + Add Group Dodaj grupę - - - + + + Add Program Dodaj program - + You can group programs together and give them a group name. Program groups can be used with some of the settings instead of program names. Możesz zgrupować wiele programów i nadać im nazwę grupy. Grupy programów mogą być używane z niektórymi z ustawień, które przyjmują nazwy programu. - + Forced Programs Monitor programów - + Force Folder Wymuś folder - - - + + + Path Ścieżka - + Force Program Wymuś program - - - - + + + + Show Templates Pokarz szablony - + Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. To podane programy lob programy wystartowane z to podanych ścieżek będą automatycznie umieszczone w tej piaskownicy, chyba że są specjalnie umieszczone w innej. - + Stop Behaviour Zakańczanie programów - - - + + + Remove Program Usuń program - + Add Leader Program Dodaj przywódczy program - + Add Lingering Program Dodaj oporny program - + Lingering programs will be automatically terminated if they are still running after all other processes have been terminated. If leader processes are defined, all others are treated as lingering processes. @@ -2180,112 +2237,112 @@ If leader processes are defined, all others are treated as lingering processes.< Jeśli programy przywódcze są podane, to wszystkie inne programy są traktowane ja oporne. - + Start Restrictions Ograniczenia wykonania - + Issue message 1308 when a program fails to start Pokarz wiadomość 1308 jak program nie morze wystartować - + Allow only selected programs to start in this sandbox. * Pozwól tylko wybranym programom startować w tej piaskownicy.* - + Prevent selected programs from starting in this sandbox. Zapobiegnij aby wybranie programy startowały w tej piaskownicy. - + Allow all programs to start in this sandbox. Pozwól wszystkim programom startować w tej piaskownicy. - + * Note: Programs installed to this sandbox won't be able to start at all. * Programy zainstalowane w piaskownicy nie będą mogły wystartować. - + Internet Restrictions Ograniczenia internetowe - + Issue message 1307 when a program is denied internet access Pokarz wiadomość 1307 jak programowi został zabroniony dostęp do Internetu - + Block internet access for all programs except those added to the list. Zablokuj dostęp programów do Internetu które nie znajduje się na tej liście. - + Note: Programs installed to this sandbox won't be able to access the internet at all. * Programy zainstalowane w piaskownicy nie będą mogły używać Internetu. - + Prompt user whether to allow an exemption from the blockade. Zapytaj użytkownika o pozwolenie dostępu do Internetu. - + Resource Access Dostęp do zasobów - + Program Program - + Access Dostęp - + Add Reg Key Dodaj klucz rejestru - + Add File/Folder Dodaj plik/folder - + Add Wnd Class Dodaj klase okna - + Add COM Object Dodaj objekt COM - + Add IPC Path Dodaj ścieżkę IPC - + Move Up Przesuń w górę - + Move Down Przesuń w dół - + Configure which processes can access what resources. Double click on an entry to edit it. 'Direct' File and Key access only applies to program binaries located outside the sandbox. Note that all Close...=!<program>,... exclusions have the same limitations. @@ -2295,183 +2352,182 @@ Bezpośredni dostęp do plików i kluczy działa tylko z programami umieszczonyc - + File Recovery Odtwarzanie plików - + Add Folder Dodaj folder - + Ignore Extension Ignoruj rozszerzenie pliku - + Ignore Folder Ignoruj folder - + Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. Aktywuj bezzwłoczne odtwarzanie plików jak tylko zostaną zapisane. - + You can exclude folders and file types (or file extensions) from Immediate Recovery. Można wyłączyć foldery (lub rozszerzenia plików) z bezzwłocznego odtwarzania. - + When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. Jak funkcja do odtwarzania plików jest użyta, następujące foldery będą przeszukane. - + Advanced Options Opcje zaawansowane - + Miscellaneous Różne - Lift security restrictions - Usuń ograniczenia bezpieczeństwa + Usuń ograniczenia bezpieczeństwa - + Limit access to the emulated service control manager to privileged processes Ogranicz dostęp do emulowanego menagera usług dla uprzywilejowanych procesów - - + + Protect the sandbox integrity itself Chroń integralność piaskownicy - + Sandbox protection Ochrona piaskownicy - + Sandbox isolation Izolacja piaskownicy - + Don't alter window class names created by sandboxed programs Nie zmieniaj nazw klas okienek w piaskownicy - + Do not start sandboxed services using a system token (recommended) Nie dawaj usługa w piaskownicy uprawnień systemowych (wskazane) - + Open System Protected Storage Otwórz ochroniony zakład systemu - + Allow access to Smart Cards Zezwól na dostęp do Smart Card - + Add sandboxed processes to job objects (recommended) Dodaj procesy w piaskownicy to obiektu zdań (wskazane) - + Force usage of custom dummy Manifest files (legacy behaviour) Wymuś używanie manekinów manifestu (staromodne zachowanie) - + Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes Chroń procesy w piaskownicy uprawnieniami systemowymi - + Compatibility Kompatybilność - + Open Windows Credentials Store Otwórz zakład kwalifikacji Windows - + Allow access to Bluetooth Zezwól na dostęp do Bluetooth - + Auto Exec Auto exec - + Add Command Dodaj wiersz poleceń - + Here you can specify a list of commands that are executed every time the sandbox is initially populated. To można skonfigurować listę poleceń do wykonania przy inicjalizacji pustej piaskownicy. - + Hide Processes Schowaj proces - + Add Process Dodaj proces - + Hide host processes from processes running in the sandbox. Schowaj procesy poza piaskownica przed piaskownica. - + Don't allow sandboxed processes to see processes running in other boxes Schowaj procesy w piaskownicach przed procesami w innych piaskownica - + Users Użytkownicy - + Restrict Resource Access monitor to administrators only Ogranicz dostęp do monitora dostępu do zasobów tylko dla administratorów - + Add User Dodaj użytkownika - + Remove User Usuń użytkownika - + Add user accounts and user groups to the list below to limit use of the sandbox to only those accounts. If the list is empty, the sandbox can be used by all user accounts. Note: Forced Programs and Force Folders settings for a sandbox do not apply to user accounts which cannot use the sandbox. @@ -2480,52 +2536,47 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Uwaga: Ustawieni monitora procesów są także ograniczone. - + Tracing Śledzenie - - Log all SetError's to Trace log - - - - + GUI Trace Śledzenie GUI - + IPC Trace Śledzenie IPC - + Pipe Trace Śledzenie pipe - + Access Tracing Śledzenie dostępów - + Log Debug Output to the Trace Log Loguj wpadanie debugowe - + File Trace Śledzenie plikow - + Key Trace Śledzenie kluczy - + Log all access events as seen by the driver to the resource access log. This options set the event mask to "*" - All access events @@ -2537,72 +2588,87 @@ instead of "*". - + COM Class Trace Śledzenie klas COM - + + API call trace (requirers logapi to be installed in the sbie dir) + + + + + Log all SetError's to Trace log (creates a lot of output) + + + + <- for this one the above does not apply - + + Ntdll syscall Trace (creates a lot of output) + + + + Debug Debug - + WARNING, these options can disable core security guarantees and break sandbox security!!! - + These options are intended for debugging compatibility issues, please do not use them in production use. - + App Templates Dodaj szablony - + Filter Categories Filtruj kategorie - + Text Filter Filtruj text - + Category Kategoria - + This list contains a large amount of sandbox compatibility enhancing templates Ta lista zawiera durzą ilość szablonów poprawiających kompatybilność programów z piaskownica - + Edit ini Section Edytuj sekcje ini - + Edit ini Edytuj ini - + Cancel Anuluj - + Save Zapisz @@ -2618,7 +2684,7 @@ instead of "*". QObject - + Drive %1 Dysk %1 diff --git a/SandboxiePlus/SandMan/sandman_pt.ts b/SandboxiePlus/SandMan/sandman_pt.ts index 2b7d4976be..ca9b40ae25 100644 --- a/SandboxiePlus/SandMan/sandman_pt.ts +++ b/SandboxiePlus/SandMan/sandman_pt.ts @@ -108,124 +108,124 @@ Sempre exibir - - + + Browse for Program Procurar pelo programa - + Browse for File Procurar por Arquivo - + Browse for Folder Procurar por Pasta - + This sandbox has been deleted hence configuration can not be saved. Esta caixa de areia foi excluída, portanto, a configuração não pode ser salva. - + Some changes haven't been saved yet, do you really want to close this options window? Algumas alterações ainda não foram salvas, você realmente quer fechar essa janela de opções? - + kilobytes (%1) Only capitalized Kilobytes (%1) - + Please enter a program path Insira um caminho do programa - - + + Select Program Selecionar Programa - + Executables (*.exe *.cmd);;All files (*.*) Executáveis (*.exe *.cmd);;Todos os arquivos (*.*) - + Executables (*.exe|*.cmd) Executáveis (*.exe|*.cmd) - + Please enter a service identifier Por favor, insira um identificador de serviço - + Service Serviço - + Program Programa - - + + Please enter a menu title Por favor insira um título de menu - + Please enter a command Por favor, digite um comando - - - - + + + + Group: %1 Grupo: %1 - + Please enter a name for the new group Insira um nome para o novo grupo - + Enter program: Insira um programa: - + Please select group first. Selecione o grupo primeiro. - + COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} Os objetos COM devem ser especificados pelo seu GUID, como: {00000000-0000-0000-0000-000000000000} - + RT interfaces must be specified by their name. As interfaces RT devem ser especificadas pelo nome. - + Please enter an auto exec command Por favor, insira um comando auto exec - + This template is enabled globally. To configure it, use the global options. Este modelo é habilitado globalmente para configura-lo usando as opções globais. @@ -234,139 +234,139 @@ Selecione primeiro o grupo. - + Process Processo - - + + Folder Pasta - - - - + + + + Select Directory Selecionar Diretório - + Lingerer Lingerer - + Leader Líder - + Direct Direto - + Direct All Direto Todos - + Closed Fechado - + Closed RT RT fechado - + Read Only Somente Leitura - + Hidden Oculto - - + + Unknown Desconhecido - + File/Folder Arquivo/Pasta - + Registry Registro - + IPC Path - + Wnd Class - + COM Object Objeto COM - + Select File Selecionar Arquivo - + All Files (*.*) Todos os Arquivos (*.*) - - + + All Programs Todos os Programas - + Template values can not be edited. Os valores do modelo não podem ser editados. - - + + Template values can not be removed. Os valores do modelo não podem ser removidos. - + Exclusion Exclusão - + Please enter a file extension to be excluded Insira uma extensão de arquivo a ser excluída - + Please enter a program file name Insira o nome do programa - + All Categories Todas as Categorias @@ -923,12 +923,6 @@ Caminho completo: %4 Cleanup Resource Log Limpar Log de Recurso - - - Cleanup Processes - Cleanup Api Call Log - Limpar Log de Chamada Api - Cleanup Trace Log @@ -1712,7 +1706,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme - + Create Shortcut Create Desktop Shortcut Criar Atalho @@ -1743,128 +1737,137 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Predefinições do Sandbox - Enable API Call logging - Ativar registro de chamadas de API + Ativar registro de chamadas de API - + Block Internet Access Bloquear Acesso à Internet - + Allow Network Shares Permitir Compartilhamentos de Rede - + Drop Admin Rights Liberar Direitos de Administrador - + + Ask for UAC Elevation + + + + + Emulate Admin Rights + + + + Sandbox Options Opções da Caixa de Areia - + Rename Sandbox Renomear Caixa de Areia - + Move to Group Mover para o Grupo - + Remove Sandbox Remover Caixa de Areia - + Terminate Terminar - + Preset Predefinição - + Pin to Run Menu Fixar no Menu Executar - + Block and Terminate Bloquear e Terminar - + Allow internet access Permitir acesso à internet - + Force into this sandbox Força nessa caixa de areia - + Set Linger Process Definir Processo Permanênte - + Set Leader Process Definir Processo do Líder - + A group can not be its own parent. Um grupo não pode ser seu próprio pai. - - + + Don't show this message again. Não mostrar essa mensagem novamente. - + This Sandbox is empty. Essa caixa está vazia. - + This Sandbox is already empty. Esta Caixa de Areia já está vazia. - + Do you want to delete the content of the selected sandbox? Deseja excluir o conteúdo da caixa de areia selecionada? - + Do you really want to delete the content of multiple sandboxes? Você realmente deseja excluir o conteúdo de várias caixas de areia? - + Do you want to terminate all processes in the selected sandbox(es)? Você deseja encerrar todos os processos na (s) caixa (s) selecionada (s)? - + This box does not have Internet restrictions in place, do you want to enable them? Esta caixa não possui restrições à Internet. Deseja ativá-las? - + This sandbox is disabled, do you want to enable it? Essa caixa está desativada, deseja ativá-la? @@ -1877,56 +1880,56 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Retomar - + File root: %1 Pasta de arquivo: %1 - + Registry root: %1 Pasta de registro: %1 - + IPC root: %1 Pasta do IPC: %1 - + Options: Opções: - + [None] [Nenhum] - + Please enter a new group name Por favor insira um novo nome de grupo - + Do you really want to remove the selected group(s)? Do you really want remove the selected group(s)? Tem certeza de que deseja remover o(s) grupo(s) selecionado(s)? - + Please enter a new name for the Sandbox. Insira um novo nome para caixa de areia. - + Do you really want to remove the selected sandbox(es)? Do you really want remove the selected sandbox(es)? Tem certeza de que deseja remover as caixas de areia selecionadas? @@ -1937,13 +1940,13 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Tem certeza de que deseja excluir o conteúdo da(s) caixa(s) de areia? - - + + Create Shortcut to sandbox %1 Criar Atalho para o sandboxie %1 - + Do you want to %1 the selected process(es) Deseja %1 o(s) processo(s) selecionado(s) @@ -2101,54 +2104,54 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Opções da Caixa - + Sandboxed window border: Borda da janela da caixa: - + px Width Largura (px) - + Appearance Aparência - + Sandbox Indicator in title: Indicador de caixa no título: - - - + + + + Protect the system from sandboxed processes Proteger o sistema de processos do sandbox - General restrictions - Restrições Gerais + Restrições Gerais - + Block network files and folders, unless specifically opened. Bloquear arquivos e pastas de rede, a menos que especificamente abertos. - + Drop rights from Administrators and Power Users groups Retirar direitos de grupos de Administradores e Usuários Avançados - + Prevent change to network and firewall parameters Impedir alterações nos parâmetros de rede e firewall - + Run Menu Menu Executar @@ -2157,212 +2160,266 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Procurar - + You can configure custom entries for the sandbox run menu. Você pode configurar entradas personalizadas para o menu de execução do sandbox. - - + - - - + + + + Name Nome - + Command Line Linha de Comando - - - - - - - - + + + + + + + + Remove Remover - + Add Command Adicionar Comando - + File Options Opções de Arquivo - + Copy file size limit: Limitar tamanho de cópia de arquivo: - + kilobytes Kilobytes - + Protect this sandbox from deletion or emptying Protejer essa caixa de areia contra exclusão ou esvaziamento - + Auto delete content when last sandboxed process terminates Excluir automaticamente o conteúdo quando o último processo da caixa for encerrado - + File Migration Migração de Arquivo - + Issue message 2102 when a file is too large Mensagem de problema 2102 quando o arquivo for muito grande - + Box Delete options Opções de exclusão de caixa - + + Elevation restrictions + + + + + Make applications think thay are running elevated (allows to run installers safely) + + + + + Network restrictions + + + + + (Recommended) + + + + + Security note: Elevated applications running under the supervision of Sandboxie, with an admin token, have more opportunities to bypass isolation and modify the system outside the sandbox. + + + + + Raw Disk access + + + + + Allow elevated sandboxed applications to read the harddrive + + + + + Warn when an application opens a harddrive handle + + + + + Access Options + + + + Program Groups Grupos de Programas - + Add Group Adicionar Grupo - - - + + + Add Program Adicionar Programa - + You can group programs together and give them a group name. Program groups can be used with some of the settings instead of program names. Você pode agrupar programas e dar um nome ao grupo. Os grupos de programas podem ser usados com algumas das configurações em vez de nomes de programas. - + Forced Programs Programas Forçados - + Force Folder Pasta Forçada - - - + + + Path Caminho - + Force Program Programa Forçado - - - - + + + + Show Templates Mostrar Modelos - + Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. Programas inseridos aqui, ou iniciados a partir de locais inseridos, serão colocados nessa caixa automaticamente, a menos que seja explicitamente iniciado em outra caixa de areia. - + Stop Behaviour Parar Comportamento - - - + + + Remove Program Remover Programa - + Add Leader Program Adicionar Programa Líder - + Add Lingering Program Adicionar Programa Persistente - - - - + + + + Type Tipo - + Block access to the printer spooler Bloqueie o acesso ao spooler de impressão - + Allow the print spooler to print to files outside the sandbox Permitir que o spooler de impressão imprima arquivos fora da caixa - Printing - Impressão + Impressão - + Remove spooler restriction, printers can be installed outside the sandbox Remova a restrição do spooler, as impressoras podem ser instaladas fora do sandbox - - + + Other restrictions + + + + + Printing restrictions + + + + + Add program Adicionar programa - + Auto Start Auto Iniciar - + Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated Aqui você pode especificar programas ou serviços que devem ser iniciados automaticamente na caixa de areia quando ela for ativada - + Add service Adicionar serviço - + Lingering programs will be automatically terminated if they are still running after all other processes have been terminated. If leader processes are defined, all others are treated as lingering processes. @@ -2371,112 +2428,112 @@ If leader processes are defined, all others are treated as lingering processes.< Se os processos do líder são definidos, todos os outros são tratados como processos remanescentes. - + Start Restrictions Restrições ao Iniciar - + Issue message 1308 when a program fails to start Emitir mensagem 1308 quando um programa não começa - + Allow only selected programs to start in this sandbox. * Permitir que apenas programas selecionados sejam iniciados nessa caixa de areia. * - + Prevent selected programs from starting in this sandbox. Impedir que programas selecionados sejam iniciados nessa caixa de areia. - + Allow all programs to start in this sandbox. Permitir que todos os programas comecem nessa caixa de areia. - + * Note: Programs installed to this sandbox won't be able to start at all. * Nota: Programas instalados nessa caixa de areia não serão capazes de iniciar em todas. - + Internet Restrictions Restrições à Internet - + Issue message 1307 when a program is denied internet access Emitir mensagem 1307 quando um programa é negado acesso à internet - + Block internet access for all programs except those added to the list. Bloquear acesso à internet para todos os programas, exceto aqueles adicionados à lista. - + Note: Programs installed to this sandbox won't be able to access the internet at all. Nota: Os programas instalados nessa caixa de areia não poderão acessar a internet. - + Prompt user whether to allow an exemption from the blockade. Solicitar ao usuário se permite uma isenção do bloqueio. - + Resource Access Acesso a Recursos - + Program Programa - + Access Acesso - + Add Reg Key Adicionar Chave de Registro - + Add File/Folder Adicionar Arquivo/Pasta - + Add Wnd Class Adicionar Wnd Class - + Add COM Object Adicionar Objeto COM - + Add IPC Path Adicionar Caminho IPC - + Move Up Mover para Cima - + Move Down Mover para Baixo - + Configure which processes can access what resources. Double click on an entry to edit it. 'Direct' File and Key access only applies to program binaries located outside the sandbox. Note that all Close...=!<program>,... exclusions have the same limitations. @@ -2488,62 +2545,67 @@ Note que todos fecham...=!<programa>,... as exclusões têm as mesmas limi Para acesso a arquivos, você pode usar o 'Direct All' em vez de fazê-lo se aplicar a todos os programas. - + File Recovery Recuperação de Arquivos - + Add Folder Adicionar Pasta - + Ignore Extension Ignorar Extensão - + Ignore Folder Ignorar Pasta - + Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. Ativar mensagem de recuperação imediata para poder recuperar arquivos assim que for criado. - + You can exclude folders and file types (or file extensions) from Immediate Recovery. Você pode excluir pastas e tipos de arquivos (ou extensões de arquivos) da Recuperação Imediata. - + When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. Quando a função Recuperação Rápida for invocada, as seguintes pastas serão verificadas para obter conteúdo da caixa de areia. - + Advanced Options Opções Avançadas - + Miscellaneous Diversos - + Do not start sandboxed services using a system token (recommended) Não iniciar serviços no sandbox usando um token de sistema (recomendado) - + + Ntdll syscall Trace (creates a lot of output) + + + + Allow access to Smart Cards Permitir acesso a cartões inteligentes - + Force usage of custom dummy Manifest files (legacy behaviour) Forçar uso de arquivos de manifesto fictícios personalizados (comportamento legado) @@ -2552,17 +2614,17 @@ Para acesso a arquivos, você pode usar o 'Direct All' em vez de fazê Iniciar RpcSs com caixa de areia como um processo do SISTEMA (quebra alguma compatibilidade) - + Add sandboxed processes to job objects (recommended) Adicionar processos do sandbox a objetos de trabalho (recomendado) - + Limit access to the emulated service control manager to privileged processes Limitar acesso ao gerenciador de controle de serviço emulado para processos privilegiados - + Open System Protected Storage Abrir Armazenamento Protegido pelo Sistema @@ -2571,33 +2633,33 @@ Para acesso a arquivos, você pode usar o 'Direct All' em vez de fazê Restrições de Elevação - + Open Windows Credentials Store Abrir Credencias de Armazenamento do Windows - + Don't alter window class names created by sandboxed programs Não alterar nomes das classes de janelas criadas por programas na caixa de areia - - + + Protect the sandbox integrity itself Proteger integridade da própria caixa de areia - + Sandbox protection Proteção da caixa de areia - + Compatibility Compatibilidade - + Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes Proteger processos do SISTEMA da caixa de areia de processos fora da caixa sem privilégios @@ -2606,17 +2668,17 @@ Para acesso a arquivos, você pode usar o 'Direct All' em vez de fazê Isolamento da caixa de areia - + Hide Processes Ocultar Processo - + Add Process Adicionar Processo - + Hide host processes from processes running in the sandbox. Ocultar processos do host de processos em execução na sandbox. @@ -2625,32 +2687,32 @@ Para acesso a arquivos, você pode usar o 'Direct All' em vez de fazê Remover Processo - + Don't allow sandboxed processes to see processes running in other boxes Não permitir que processos do sandbox vejam processos em execução de outras caixas - + Users Usuários - + Restrict Resource Access monitor to administrators only Restringir o monitor de acesso a recursos apenas para administradores - + Add User Adicionar Usuário - + Remove User Remover Usuário - + Add user accounts and user groups to the list below to limit use of the sandbox to only those accounts. If the list is empty, the sandbox can be used by all user accounts. Note: Forced Programs and Force Folders settings for a sandbox do not apply to user accounts which cannot use the sandbox. @@ -2659,17 +2721,27 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Nota: As configurações de programas e pastas forçadas para uma caixa de areia não se aplicam a contas de usuários que não podem usar o sandbox. - + Tracing Rastreamento - + + API call trace (requirers logapi to be installed in the sbie dir) + + + + + Log all SetError's to Trace log (creates a lot of output) + + + + Pipe Trace Rastreamento de Pipe - + Log all access events as seen by the driver to the resource access log. This options set the event mask to "*" - All access events @@ -2688,132 +2760,126 @@ Você pode personalizar o registro usando o ini, especificando ao invés de "*". - + Access Tracing Rastrear acesso - + GUI Trace Rastreamento de GUI - + Key Trace Rastreamento de Chave - + File Trace Rastreamento de Arquivo - Lift security restrictions - Levantar restrições de segurança + Levantar restrições de segurança - + Sandbox isolation Isolamento da caixa de areia - + Allow access to Bluetooth Permitir acesso ao Bluetooth - + Auto Exec Auto Executar - + Here you can specify a list of commands that are executed every time the sandbox is initially populated. Aqui você pode especificar uma lista de comandos que serão executados sempre que o sandbox for iniciado. - + IPC Trace Rastreamento IPC - + Log Debug Output to the Trace Log Registrar a saída de depuração no log de rastreamento - + COM Class Trace COM Class Trace - + <- for this one the above does not apply <- para este o acima não se aplica - - Log all SetError's to Trace log - - - - + Debug Depurar - + WARNING, these options can disable core security guarantees and break sandbox security!!! AVISO, essas opções podem desativar as garantias de segurança essenciais e interromper a segurança da sandbox!!! - + These options are intended for debugging compatibility issues, please do not use them in production use. Essas opções destinam-se a depurar problemas de compatibilidade, não as use em produção. - + App Templates Modelos de Aplicativos - + Filter Categories Categorias de Filtro - + Text Filter Filtro de Texto - + Category Categoria - + This list contains a large amount of sandbox compatibility enhancing templates Esta lista contém uma grande quantidade de modelos de compatibilidade de caixa de areia - + Edit ini Section Editar Seção ini - + Edit ini Editar ini - + Cancel Cancelar - + Save Salvar @@ -2829,7 +2895,7 @@ ao invés de "*". QObject - + Drive %1 Drive %1 diff --git a/SandboxiePlus/SandMan/sandman_ru.ts b/SandboxiePlus/SandMan/sandman_ru.ts index 7ea38cfdc6..8de8e5aabd 100644 --- a/SandboxiePlus/SandMan/sandman_ru.ts +++ b/SandboxiePlus/SandMan/sandman_ru.ts @@ -416,27 +416,47 @@ Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? File name: %3 - Разрешить %4 (%5) копировать большой файл %1 в песочницу: %2? + Разрешить %4 (%5) копировать большой файл %1 в песочницу: %2? Имя файла: %3 Do you want to allow %1 (%2) access to the internet? Full path: %3 - Вы хотите разрешить %1 (%2) доступ к Интернету? + Вы хотите разрешить %1 (%2) доступ к Интернету? Полный путь: %3 %1 is eligible for quick recovery from %2. The file was written by: %3 - %1 имеет право на быстрое восстановление с %2. + %1 имеет право на быстрое восстановление с %2. Файл был записан: %3 Migrating a large file %1 into the sandbox %2, %3 left. Full path: %4 - Перенос большого файла %1 в песочницу %2, осталось %3. + Перенос большого файла %1 в песочницу %2, осталось %3. Полный путь: %4 + + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? +File name: %3 + + + + Do you want to allow %1 (%2) access to the internet? +Full path: %3 + + + + %1 is eligible for quick recovery from %2. +The file was written by: %3 + + + + Migrating a large file %1 into the sandbox %2, %3 left. +Full path: %4 + + CRecoveryWindow @@ -1220,7 +1240,7 @@ Full path: %4 Enable API Call logging - Включить ведение журнала вызовов API + Включить ведение журнала вызовов API [None] @@ -1381,6 +1401,14 @@ Full path: %4 Run Cmd.exe as Admin Запуск Cmd.exe от имени администратора + + Ask for UAC Elevation + + + + Emulate Admin Rights + + CSettingsWindow @@ -1601,7 +1629,7 @@ If leader processes are defined, all others are treated as lingering processes.< General restrictions - Общие ограничения + Общие ограничения Move Up @@ -1984,7 +2012,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Printing - Печать + Печать Remove spooler restriction, printers can be installed outside the sandbox @@ -2016,7 +2044,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Lift security restrictions - Снять ограничения безопасности + Снять ограничения безопасности Sandbox isolation @@ -2036,7 +2064,63 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Log all SetError's to Trace log - Записывать все SetError в журнал трассировки + Записывать все SetError в журнал трассировки + + + Elevation restrictions + + + + Make applications think thay are running elevated (allows to run installers safely) + + + + Network restrictions + + + + (Recommended) + + + + Security note: Elevated applications running under the supervision of Sandboxie, with an admin token, have more opportunities to bypass isolation and modify the system outside the sandbox. + + + + Raw Disk access + + + + Allow elevated sandboxed applications to read the harddrive + + + + Warn when an application opens a harddrive handle + + + + Access Options + + + + Other restrictions + + + + Printing restrictions + + + + API call trace (requirers logapi to be installed in the sbie dir) + + + + Log all SetError's to Trace log (creates a lot of output) + + + + Ntdll syscall Trace (creates a lot of output) + @@ -2057,23 +2141,23 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to QPlatformTheme Cancel - Отмена + Отмена Apply - Применить + Применить OK - ОК + ОК &Yes - &Да + &Да &No - &Нет + &Нет diff --git a/SandboxiePlus/SandMan/sandman_tr.ts b/SandboxiePlus/SandMan/sandman_tr.ts index cd380cae95..7463f53491 100644 --- a/SandboxiePlus/SandMan/sandman_tr.ts +++ b/SandboxiePlus/SandMan/sandman_tr.ts @@ -416,27 +416,47 @@ Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? File name: %3 - %4 (%5)'in %1 büyük bir dosyayı %2 korumalı kutusuna kopyalamasına izin vermek istiyor musunuz? + %4 (%5)'in %1 büyük bir dosyayı %2 korumalı kutusuna kopyalamasına izin vermek istiyor musunuz? Dosya adı: %3 Do you want to allow %1 (%2) access to the internet? Full path: %3 - %1 (%2)'in internet erişimine izin vermek istiyor musunuz? + %1 (%2)'in internet erişimine izin vermek istiyor musunuz? Tam yol: %3 %1 is eligible for quick recovery from %2. The file was written by: %3 - %1, %2'den hızlı kurtarma için uygun. + %1, %2'den hızlı kurtarma için uygun. Dosyayı yazan: %3 Migrating a large file %1 into the sandbox %2, %3 left. Full path: %4 - Büyük bir dosya %1, %2 korumalı kutusuna taşınıyor, %3 kaldı. + Büyük bir dosya %1, %2 korumalı kutusuna taşınıyor, %3 kaldı. Tam yol: %4 + + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? +File name: %3 + + + + Do you want to allow %1 (%2) access to the internet? +Full path: %3 + + + + %1 is eligible for quick recovery from %2. +The file was written by: %3 + + + + Migrating a large file %1 into the sandbox %2, %3 left. +Full path: %4 + + CRecoveryWindow @@ -1220,7 +1240,7 @@ Tam yol: %4 Enable API Call logging - API Çağrısı günlük kaydını etkinleştir + API Çağrısı günlük kaydını etkinleştir [None] @@ -1381,6 +1401,14 @@ Tam yol: %4 Run Cmd.exe as Admin Cmd.exe yi yönetici olarak çalıştır + + Ask for UAC Elevation + + + + Emulate Admin Rights + + CSettingsWindow @@ -1601,7 +1629,7 @@ If leader processes are defined, all others are treated as lingering processes.< General restrictions - Genel kısıtlamalar + Genel kısıtlamalar Move Up @@ -1984,7 +2012,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle Printing - Yazdırma + Yazdırma Remove spooler restriction, printers can be installed outside the sandbox @@ -2016,7 +2044,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle Lift security restrictions - Güvenlik kısıtlamalarını kaldır + Güvenlik kısıtlamalarını kaldır Sandbox isolation @@ -2036,7 +2064,63 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle Log all SetError's to Trace log - Tüm SetError ları logla + Tüm SetError ları logla + + + Elevation restrictions + + + + Make applications think thay are running elevated (allows to run installers safely) + + + + Network restrictions + + + + (Recommended) + + + + Security note: Elevated applications running under the supervision of Sandboxie, with an admin token, have more opportunities to bypass isolation and modify the system outside the sandbox. + + + + Raw Disk access + + + + Allow elevated sandboxed applications to read the harddrive + + + + Warn when an application opens a harddrive handle + + + + Access Options + + + + Other restrictions + + + + Printing restrictions + + + + API call trace (requirers logapi to be installed in the sbie dir) + + + + Log all SetError's to Trace log (creates a lot of output) + + + + Ntdll syscall Trace (creates a lot of output) + @@ -2057,23 +2141,23 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle QPlatformTheme Cancel - İptal + İptal Apply - Uygula + Uygula OK - TAMAM + TAMAM &Yes - &Evet + &Evet &No - &Hayır + &Hayır diff --git a/SandboxiePlus/SandMan/sandman_zh-CN.ts b/SandboxiePlus/SandMan/sandman_zh-CN.ts index 7a07cd0c0b..03191fc273 100644 --- a/SandboxiePlus/SandMan/sandman_zh-CN.ts +++ b/SandboxiePlus/SandMan/sandman_zh-CN.ts @@ -1284,7 +1284,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Enable API Call logging - 启用API调用日志 + 启用API调用日志 [None] @@ -1444,6 +1444,14 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Run Cmd.exe as Admin + + Ask for UAC Elevation + + + + Emulate Admin Rights + + CSettingsWindow @@ -1672,7 +1680,7 @@ If leader processes are defined, all others are treated as lingering processes.< General restrictions - 通用限制 + 通用限制 Move Up @@ -2028,7 +2036,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Printing - 打印 + 打印 Remove spooler restriction, printers can be installed outside the sandbox @@ -2060,7 +2068,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Lift security restrictions - 提升安全限制 + 提升安全限制 Sandbox isolation @@ -2097,7 +2105,59 @@ instead of "*". 允许访问蓝牙 - Log all SetError's to Trace log + Elevation restrictions + + + + Make applications think thay are running elevated (allows to run installers safely) + + + + Network restrictions + + + + (Recommended) + + + + Security note: Elevated applications running under the supervision of Sandboxie, with an admin token, have more opportunities to bypass isolation and modify the system outside the sandbox. + + + + Raw Disk access + + + + Allow elevated sandboxed applications to read the harddrive + + + + Warn when an application opens a harddrive handle + + + + Access Options + + + + Other restrictions + + + + Printing restrictions + + + + API call trace (requirers logapi to be installed in the sbie dir) + + + + Log all SetError's to Trace log (creates a lot of output) + + + + Ntdll syscall Trace (creates a lot of output) diff --git a/SandboxiePlus/SandMan/sandman_zh-TW.ts b/SandboxiePlus/SandMan/sandman_zh-TW.ts index fd1fa03a3f..87c9ea8e26 100644 --- a/SandboxiePlus/SandMan/sandman_zh-TW.ts +++ b/SandboxiePlus/SandMan/sandman_zh-TW.ts @@ -1296,7 +1296,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Enable API Call logging - 啟用 API 呼叫日誌 + 啟用 API 呼叫日誌 [None] @@ -1456,6 +1456,14 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Run Cmd.exe as Admin + + Ask for UAC Elevation + + + + Emulate Admin Rights + + CSettingsWindow @@ -1688,7 +1696,7 @@ If leader processes are defined, all others are treated as lingering processes.< General restrictions - 通用限制 + 通用限制 Move Up @@ -2044,7 +2052,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Printing - 列印 + 列印 Remove spooler restriction, printers can be installed outside the sandbox @@ -2076,7 +2084,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Lift security restrictions - 提升安全限制 + 提升安全限制 Sandbox isolation @@ -2113,7 +2121,59 @@ instead of "*". 允許訪問藍牙 - Log all SetError's to Trace log + Elevation restrictions + + + + Make applications think thay are running elevated (allows to run installers safely) + + + + Network restrictions + + + + (Recommended) + + + + Security note: Elevated applications running under the supervision of Sandboxie, with an admin token, have more opportunities to bypass isolation and modify the system outside the sandbox. + + + + Raw Disk access + + + + Allow elevated sandboxed applications to read the harddrive + + + + Warn when an application opens a harddrive handle + + + + Access Options + + + + Other restrictions + + + + Printing restrictions + + + + API call trace (requirers logapi to be installed in the sbie dir) + + + + Log all SetError's to Trace log (creates a lot of output) + + + + Ntdll syscall Trace (creates a lot of output) diff --git a/SandboxiePlus/SandboxiePlus.sln b/SandboxiePlus/SandboxiePlus.sln index bcc649c91f..9dab64f88d 100644 --- a/SandboxiePlus/SandboxiePlus.sln +++ b/SandboxiePlus/SandboxiePlus.sln @@ -18,57 +18,58 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ProjectSection(SolutionItems) = preProject ..\CHANGELOG.md = ..\CHANGELOG.md ..\TODO.md = ..\TODO.md + version.h = version.h EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QtSingleApp", "QtSingleApp\qtsingleapp\qtsingleapp\qtsingleapp.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 Debug|Win32 = Debug|Win32 - Release|x64 = Release|x64 + Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Debug|x64.ActiveCfg = Debug|x64 - {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Debug|x64.Build.0 = Debug|x64 {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Debug|Win32.ActiveCfg = Debug|Win32 {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Debug|Win32.Build.0 = Debug|Win32 - {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Release|x64.ActiveCfg = Release|x64 - {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Release|x64.Build.0 = Release|x64 + {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Debug|x64.ActiveCfg = Debug|x64 + {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Debug|x64.Build.0 = Debug|x64 {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Release|Win32.ActiveCfg = Release|Win32 {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Release|Win32.Build.0 = Release|Win32 - {1433EC85-BDA4-402E-BEC1-48611206A64A}.Debug|x64.ActiveCfg = Debug|x64 - {1433EC85-BDA4-402E-BEC1-48611206A64A}.Debug|x64.Build.0 = Debug|x64 + {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Release|x64.ActiveCfg = Release|x64 + {B7A8576D-A08A-4A97-84E8-013DAF4D4F1F}.Release|x64.Build.0 = Release|x64 {1433EC85-BDA4-402E-BEC1-48611206A64A}.Debug|Win32.ActiveCfg = Debug|Win32 {1433EC85-BDA4-402E-BEC1-48611206A64A}.Debug|Win32.Build.0 = Debug|Win32 - {1433EC85-BDA4-402E-BEC1-48611206A64A}.Release|x64.ActiveCfg = Release|x64 - {1433EC85-BDA4-402E-BEC1-48611206A64A}.Release|x64.Build.0 = Release|x64 + {1433EC85-BDA4-402E-BEC1-48611206A64A}.Debug|x64.ActiveCfg = Debug|x64 + {1433EC85-BDA4-402E-BEC1-48611206A64A}.Debug|x64.Build.0 = Debug|x64 {1433EC85-BDA4-402E-BEC1-48611206A64A}.Release|Win32.ActiveCfg = Release|Win32 {1433EC85-BDA4-402E-BEC1-48611206A64A}.Release|Win32.Build.0 = Release|Win32 - {7AB8215A-59A4-4B8B-8090-16C87A860429}.Debug|x64.ActiveCfg = Debug|x64 - {7AB8215A-59A4-4B8B-8090-16C87A860429}.Debug|x64.Build.0 = Debug|x64 + {1433EC85-BDA4-402E-BEC1-48611206A64A}.Release|x64.ActiveCfg = Release|x64 + {1433EC85-BDA4-402E-BEC1-48611206A64A}.Release|x64.Build.0 = Release|x64 {7AB8215A-59A4-4B8B-8090-16C87A860429}.Debug|Win32.ActiveCfg = Debug|Win32 {7AB8215A-59A4-4B8B-8090-16C87A860429}.Debug|Win32.Build.0 = Debug|Win32 - {7AB8215A-59A4-4B8B-8090-16C87A860429}.Release|x64.ActiveCfg = Release|x64 - {7AB8215A-59A4-4B8B-8090-16C87A860429}.Release|x64.Build.0 = Release|x64 + {7AB8215A-59A4-4B8B-8090-16C87A860429}.Debug|x64.ActiveCfg = Debug|x64 + {7AB8215A-59A4-4B8B-8090-16C87A860429}.Debug|x64.Build.0 = Debug|x64 {7AB8215A-59A4-4B8B-8090-16C87A860429}.Release|Win32.ActiveCfg = Release|Win32 {7AB8215A-59A4-4B8B-8090-16C87A860429}.Release|Win32.Build.0 = Release|Win32 - {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64 - {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64 + {7AB8215A-59A4-4B8B-8090-16C87A860429}.Release|x64.ActiveCfg = Release|x64 + {7AB8215A-59A4-4B8B-8090-16C87A860429}.Release|x64.Build.0 = Release|x64 {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.ActiveCfg = Debug|Win32 {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.Build.0 = Debug|Win32 - {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64 - {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64 {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.ActiveCfg = Release|Win32 {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.Build.0 = Release|Win32 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - Qt5Version = msvc2015_64 SolutionGuid = {1DAAF42A-43C6-40CB-848F-DF67122CD602} + Qt5Version = msvc2015_64 EndGlobalSection GlobalSection(SubversionScc) = preSolution Svn-Managed = True diff --git a/SandboxiePlus/version.h b/SandboxiePlus/version.h index 0279f13338..22c0fbbe9f 100644 --- a/SandboxiePlus/version.h +++ b/SandboxiePlus/version.h @@ -2,7 +2,7 @@ #define VERSION_MJR 0 #define VERSION_MIN 7 -#define VERSION_REV 0 +#define VERSION_REV 1 #define VERSION_UPD 0 #ifndef STR