From bdd0c17e1e527685c9d70122eb9ec88be8135d07 Mon Sep 17 00:00:00 2001 From: typpos <28550406+typpos@users.noreply.github.com> Date: Tue, 2 Feb 2021 07:18:44 +1100 Subject: [PATCH 01/30] (#503) Fix sandboxie.ini corruption by 3-byte UTF-8 chars. --- Sandboxie/core/svc/sbieiniserver.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Sandboxie/core/svc/sbieiniserver.cpp b/Sandboxie/core/svc/sbieiniserver.cpp index 3a6cee4c..1ffc23f4 100644 --- a/Sandboxie/core/svc/sbieiniserver.cpp +++ b/Sandboxie/core/svc/sbieiniserver.cpp @@ -1462,8 +1462,9 @@ ULONG SbieIniServer::RefreshConf() char* text_utf8 = NULL; if (IsUTF8) { - text_utf8 = (char*)HeapAlloc(GetProcessHeap(), 0, lenToWrite + 16); - lenToWrite = WideCharToMultiByte(CP_UTF8, 0, m_text_base, lenToWrite / sizeof(WCHAR), text_utf8, lenToWrite + 16, NULL, NULL); + ULONG utf8_len = WideCharToMultiByte(CP_UTF8, 0, m_text_base, lenToWrite / sizeof(WCHAR), NULL, 0, NULL, NULL); + text_utf8 = (char*)HeapAlloc(GetProcessHeap(), 0, utf8_len); + lenToWrite = WideCharToMultiByte(CP_UTF8, 0, m_text_base, lenToWrite / sizeof(WCHAR), text_utf8, utf8_len, NULL, NULL); } ULONG lenWritten = 0; From 9d4446ef39321dde048c8b2739be1a365fb7dc55 Mon Sep 17 00:00:00 2001 From: NewKidOnTheBlock Date: Mon, 1 Feb 2021 21:38:13 +0100 Subject: [PATCH 02/30] Update changelog 5.47.1 --- CHANGELOG.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3db7dd8f..02128e37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,14 +12,14 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [0.6.7 / 5.47.1] - 2021-02-01 ### Added -- added UI Language auto detection +- added UI language auto-detection ### Fixed -- fixed brave.exe is now properly recognized as chrome based not firefox based -- fixed issue introduced in 0.6.5 with recent edge builds --- the 0.6.5 behavioure can be set ona per process basis using "RpcMgmtSetComTimeout=POPPeeper.exe,n" +- fixed Brave.exe now being properly recognized as Chrome-, not Firefox-based +- fixed issue introduced in 0.6.5 with recent Edge builds +-- the 0.6.5 behaviour can be set on a per-process basis using "RpcMgmtSetComTimeout=POPPeeper.exe,n" - fixed grouping issues -- fixed main windows restore state from tray +- fixed main window restore state from tray From 02e15dd405e42072585c56a92c03798187e1eccd Mon Sep 17 00:00:00 2001 From: isaak654 Date: Tue, 2 Feb 2021 01:14:23 +0100 Subject: [PATCH 03/30] Update Text-Italian-1040.txt --- Sandboxie/msgs/Text-Italian-1040.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sandboxie/msgs/Text-Italian-1040.txt b/Sandboxie/msgs/Text-Italian-1040.txt index 49eb1ff7..1bce55ca 100644 --- a/Sandboxie/msgs/Text-Italian-1040.txt +++ b/Sandboxie/msgs/Text-Italian-1040.txt @@ -2232,7 +2232,7 @@ I file e le cartelle di rete sono normalmente visibili alle applicazioni present . 3957;txt;01 -Per impedire alle applicazioni presenti nell'area virtuale di accedere a file e cartelle di rete, è possibile attivare questa impostazione. I file e le cartelle di rete possono essere aperti per le applicazioni dell'area virtuale, aggiungendoli sotto Accesso alle risorse -> Accesso ai file. +Per impedire alle applicazioni presenti nell'area virtuale di accedere a file e cartelle di rete, è possibile attivare questa funzione. I file e le cartelle di rete possono comunque avere accesso alle applicazioni dell'area virtuale in Accesso alle risorse -> Accesso ai file. . 3958;txt;01 From 489f2db43d4f5508bcc7e85bb5b6f654d44c6b8a Mon Sep 17 00:00:00 2001 From: isaak654 Date: Tue, 2 Feb 2021 01:17:27 +0100 Subject: [PATCH 04/30] Update Text-Italian-1040.txt --- Sandboxie/msgs/Text-Italian-1040.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sandboxie/msgs/Text-Italian-1040.txt b/Sandboxie/msgs/Text-Italian-1040.txt index 1bce55ca..d039d351 100644 --- a/Sandboxie/msgs/Text-Italian-1040.txt +++ b/Sandboxie/msgs/Text-Italian-1040.txt @@ -2232,7 +2232,7 @@ I file e le cartelle di rete sono normalmente visibili alle applicazioni present . 3957;txt;01 -Per impedire alle applicazioni presenti nell'area virtuale di accedere a file e cartelle di rete, è possibile attivare questa funzione. I file e le cartelle di rete possono comunque avere accesso alle applicazioni dell'area virtuale in Accesso alle risorse -> Accesso ai file. +Per impedire alle applicazioni presenti nell'area virtuale di accedere a file e cartelle di rete, è possibile attivare questa funzione. I file e le cartelle di rete possono comunque accedere alle applicazioni dell'area virtuale nella sezione Accesso alle risorse -> Accesso ai file. . 3958;txt;01 From 65dbe592cf0044ef907782c944c365464979f43b Mon Sep 17 00:00:00 2001 From: isaak654 Date: Tue, 2 Feb 2021 01:43:36 +0100 Subject: [PATCH 05/30] Update Text-Italian-1040.txt --- Sandboxie/msgs/Text-Italian-1040.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sandboxie/msgs/Text-Italian-1040.txt b/Sandboxie/msgs/Text-Italian-1040.txt index d039d351..bd878b67 100644 --- a/Sandboxie/msgs/Text-Italian-1040.txt +++ b/Sandboxie/msgs/Text-Italian-1040.txt @@ -2232,7 +2232,7 @@ I file e le cartelle di rete sono normalmente visibili alle applicazioni present . 3957;txt;01 -Per impedire alle applicazioni presenti nell'area virtuale di accedere a file e cartelle di rete, è possibile attivare questa funzione. I file e le cartelle di rete possono comunque accedere alle applicazioni dell'area virtuale nella sezione Accesso alle risorse -> Accesso ai file. +Per impedire alle applicazioni presenti nell'area virtuale di accedere a file e cartelle di rete, è possibile attivare questa funzione. I file e le cartelle di rete possono essere aperti alle applicazioni dell'area virtuale nella sezione Accesso alle risorse -> Accesso ai file. . 3958;txt;01 From ecea86b739b17100d4326e4776b0457b1f817d74 Mon Sep 17 00:00:00 2001 From: DavidXanatos Date: Tue, 2 Feb 2021 13:13:49 +0100 Subject: [PATCH 06/30] Rename sandman_zh.ts to sandman_zh-CN.ts --- .../{sandman_zh.ts => sandman_zh-CN.ts} | 4764 ++++++++--------- 1 file changed, 2382 insertions(+), 2382 deletions(-) rename SandboxiePlus/SandMan/{sandman_zh.ts => sandman_zh-CN.ts} (97%) diff --git a/SandboxiePlus/SandMan/sandman_zh.ts b/SandboxiePlus/SandMan/sandman_zh-CN.ts similarity index 97% rename from SandboxiePlus/SandMan/sandman_zh.ts rename to SandboxiePlus/SandMan/sandman_zh-CN.ts index c1771a60..6db4d156 100644 --- a/SandboxiePlus/SandMan/sandman_zh.ts +++ b/SandboxiePlus/SandMan/sandman_zh-CN.ts @@ -1,2386 +1,2386 @@ - - - - - CApiMonModel - - Message - 信息 - - - Time Stamp - 时间戳 - - - Process - 进程 - - - - CMultiErrorDialog - - Message - 信息 - - - Sandboxie-Plus - Error - Sandboxie-Plus - 错误 - - - - CNewBoxWindow - - New Box - 新沙盒 - - - Hardened - 加强 - - - Default - 默认 - - - Sandboxie-Plus - Create New Box - Sandboxie-Plus - 创建新沙盒 - - - Legacy Sandboxie Behaviour - 保留沙盒行为 - - - - COptionsWindow - - Always show - 总是显示 - - - Template values can not be edited. - 模板值无法编辑. - - - Lingerer - 驻留项 - - - Browse for File - 浏览文件 - - - Please enter a menu title - 请输入清单标题 - - - Select Directory - 选择目录 - - - Please enter a name for the new group - 请输入新的组名称 - - - Please enter a program file name - 请输入程序文件名称 - - - Template values can not be removed. - 模板值无法删除. - - - Display box name in title - 标题显示沙盒名称 - - - Folder - 文件夹 - - - Sandboxie Plus - '%1' Options - Sandboxie Plus - '%1' 选项 - - - Leader - 引导 - - - Group: %1 - 组: %1 - - - Process - 进程 - - - Display [#] indicator only - 只显示 [#] 标记 - - - COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} - COM对象必须被它们的GUID制定,例如: {00000000-0000-0000-0000-000000000000} - - - %1 (%2) - %1 (%2) - - - Border disabled - 边框禁用 - - - All Categories - 所有类别 - - - Please enter a file extension to be excluded - 请输入要排除的文件扩展名 - - - Exclusion - 排除 - - - Select File - 选择文件 - - - This template is enabled globally. To configure it, use the global options. - 此模板已全局启用.请使用全局选项配置. - - - Please select group first. - 请先选择组. - - - All Files (*.*) - 所有文件 (*.*) - - - Show only when title is in focus - 仅在标题处在焦点时显示 - - - Select Program - 选择程序 - - - Please enter a command - 请输入命令 - - - kilobytes (%1) - kb (%1) - - - Don't alter the window title - 不要改变窗口标题 - - - All Programs - 所有程序 - - - Browse for Folder - 浏览文件夹 - - - Enter program: - 输入程序: - - - Executables (*.exe|*.cmd) - 可执行文件 (*.exe|*.cmd) - - - RT interfaces must be specified by their name. - RT接口必须被它们名称制定. - - - Browse for Program - 浏览程序 - - - Please enter a program path - 请输入程序路径 - - - Please enter a service identifier - 请输入服务标识符 - - - Service - 服务 - - - Program - 程序 - - - Please enter an auto exec command - 请输入自动运行命令 - - - This sandbox has been deleted hence configuration can not be saved. - 沙盒已删除,故配置没有被保存 - - - Some changes haven't been saved yet, do you really want to close this options window? - 一些变更还未保存, 您确定关闭此选项窗口吗? - - - Executables (*.exe *.cmd);;All files (*.*) - 可执行文件 (*.exe *.cmd);;所有文件 (*.*) - - - Direct - - - - Direct All - - - - Closed - - - - Closed RT - - - - Read Only - - - - Hidden - - - - Unknown - 未知 - - - File/Folder - - - - Registry - - - - IPC Path - - - - Wnd Class - - - - COM Object - - - - - CPopUpMessage - - ? - ? - - - Hide all such messages - 隐藏所有类似消息 - - - Remove this message from the list - 列表中删除此信息 - - - Dismiss - 忽略 - - - Visit %1 for a detailed explanation. - 访问 %1 详细说明 - - - - CPopUpProgress - - Remove this progress indicator from the list - 在列表中删除此进程标记 - - - Dismiss - 忽略 - - - - CPopUpPrompt - - No - - - - Yes - - - - Requesting process terminated - 请求进程被终止 - - - Remember for this process - 标记此进程 - - - Terminate - 终止 - - - Request will time out in %1 sec - 请求将在 %1 秒后超时 - - - Request timed out - 请求超时 - - - Yes and add to allowed programs - 确定并添加到允许的程序中 - - - - CPopUpRecovery - - Recover to: - 恢复到: - - - Browse - 浏览 - - - Clear folder list - 清除文件夹列表 - - - Recover - 恢复 - - - Recover the file to original location - 恢复文件到原始路径 - - - Recover && Explore - 恢复 && 浏览 - - - Recover && Open/Run - 恢复 && 打开/运行 - - - Open file recovery for this box - 为此沙盒打开文件恢复 - - - Dismiss - 忽略 - - - Don't recover this file right now - 此时暂不恢复此文件 - - - Dismiss all from this box - 此沙盒忽略全部 - - - Disable quick recovery until the box restarts - 在沙盒重启前禁用快速恢复 - - - Select Directory - 选择目录 - - - - CPopUpWindow - - an UNKNOWN process. - 未知进程. - - - Sandboxie-Plus Notifications - Sandboxie-Plus通知 - - - %1 (%2) - %1 (%2) - - - UNKNOWN - 未知 - - - Do you want to allow the print spooler to write outside the sandbox for %1 (%2)? - 您想允许打印服务在沙盒外写入因 %1 (%2) 吗? - - - Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? -File name: %3 - 您确定允许 %4 (%5) 复制大文件 %1 到沙盒: %2? -文件名称: %3 - - - Do you want to allow %1 (%2) access to the internet? -Full path: %3 - 您确定允许 %1 (%2) 访问网络吗? -完整路径: %3 - - - %1 is eligible for quick recovery from %2. -The file was written by: %3 - %1 可以从 %2 快速恢复. -文件写入自: %3 - - - Migrating a large file %1 into the sandbox %2, %3 left. -Full path: %4 - 移动大文件 %1 到沙盒 %2, %3 剩余. -完整路径: %4 - - + + + + + CApiMonModel + + Message + 信息 + + + Time Stamp + 时间戳 + + + Process + 进程 + + + + CMultiErrorDialog + + Message + 信息 + + + Sandboxie-Plus - Error + Sandboxie-Plus - 错误 + + + + CNewBoxWindow + + New Box + 新沙盒 + + + Hardened + 加强 + + + Default + 默认 + + + Sandboxie-Plus - Create New Box + Sandboxie-Plus - 创建新沙盒 + + + Legacy Sandboxie Behaviour + 保留沙盒行为 + + + + COptionsWindow + + Always show + 总是显示 + + + Template values can not be edited. + 模板值无法编辑. + + + Lingerer + 驻留项 + + + Browse for File + 浏览文件 + + + Please enter a menu title + 请输入清单标题 + + + Select Directory + 选择目录 + + + Please enter a name for the new group + 请输入新的组名称 + + + Please enter a program file name + 请输入程序文件名称 + + + Template values can not be removed. + 模板值无法删除. + + + Display box name in title + 标题显示沙盒名称 + + + Folder + 文件夹 + + + Sandboxie Plus - '%1' Options + Sandboxie Plus - '%1' 选项 + + + Leader + 引导 + + + Group: %1 + 组: %1 + + + Process + 进程 + + + Display [#] indicator only + 只显示 [#] 标记 + + + COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} + COM对象必须被它们的GUID制定,例如: {00000000-0000-0000-0000-000000000000} + + + %1 (%2) + %1 (%2) + + + Border disabled + 边框禁用 + + + All Categories + 所有类别 + + + Please enter a file extension to be excluded + 请输入要排除的文件扩展名 + + + Exclusion + 排除 + + + Select File + 选择文件 + + + This template is enabled globally. To configure it, use the global options. + 此模板已全局启用.请使用全局选项配置. + + + Please select group first. + 请先选择组. + + + All Files (*.*) + 所有文件 (*.*) + + + Show only when title is in focus + 仅在标题处在焦点时显示 + + + Select Program + 选择程序 + + + Please enter a command + 请输入命令 + + + kilobytes (%1) + kb (%1) + + + Don't alter the window title + 不要改变窗口标题 + + + All Programs + 所有程序 + + + Browse for Folder + 浏览文件夹 + + + Enter program: + 输入程序: + + + Executables (*.exe|*.cmd) + 可执行文件 (*.exe|*.cmd) + + + RT interfaces must be specified by their name. + RT接口必须被它们名称制定. + + + Browse for Program + 浏览程序 + + + Please enter a program path + 请输入程序路径 + + + Please enter a service identifier + 请输入服务标识符 + + + Service + 服务 + + + Program + 程序 + + + Please enter an auto exec command + 请输入自动运行命令 + + + This sandbox has been deleted hence configuration can not be saved. + 沙盒已删除,故配置没有被保存 + + + Some changes haven't been saved yet, do you really want to close this options window? + 一些变更还未保存, 您确定关闭此选项窗口吗? + + + Executables (*.exe *.cmd);;All files (*.*) + 可执行文件 (*.exe *.cmd);;所有文件 (*.*) + + + Direct + + + + Direct All + + + + Closed + + + + Closed RT + + + + Read Only + + + + Hidden + + + + Unknown + 未知 + + + File/Folder + + + + Registry + + + + IPC Path + + + + Wnd Class + + + + COM Object + + + + + CPopUpMessage + + ? + ? + + + Hide all such messages + 隐藏所有类似消息 + + + Remove this message from the list + 列表中删除此信息 + + + Dismiss + 忽略 + + + Visit %1 for a detailed explanation. + 访问 %1 详细说明 + + + + CPopUpProgress + + Remove this progress indicator from the list + 在列表中删除此进程标记 + + + Dismiss + 忽略 + + + + CPopUpPrompt + + No + + + + Yes + + + + Requesting process terminated + 请求进程被终止 + + + Remember for this process + 标记此进程 + + + Terminate + 终止 + + + Request will time out in %1 sec + 请求将在 %1 秒后超时 + + + Request timed out + 请求超时 + + + Yes and add to allowed programs + 确定并添加到允许的程序中 + + + + CPopUpRecovery + + Recover to: + 恢复到: + + + Browse + 浏览 + + + Clear folder list + 清除文件夹列表 + + + Recover + 恢复 + + + Recover the file to original location + 恢复文件到原始路径 + + + Recover && Explore + 恢复 && 浏览 + + + Recover && Open/Run + 恢复 && 打开/运行 + + + Open file recovery for this box + 为此沙盒打开文件恢复 + + + Dismiss + 忽略 + + + Don't recover this file right now + 此时暂不恢复此文件 + + + Dismiss all from this box + 此沙盒忽略全部 + + + Disable quick recovery until the box restarts + 在沙盒重启前禁用快速恢复 + + + Select Directory + 选择目录 + + + + CPopUpWindow + + an UNKNOWN process. + 未知进程. + + + Sandboxie-Plus Notifications + Sandboxie-Plus通知 + + + %1 (%2) + %1 (%2) + + + UNKNOWN + 未知 + + + Do you want to allow the print spooler to write outside the sandbox for %1 (%2)? + 您想允许打印服务在沙盒外写入因 %1 (%2) 吗? + + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? -File name: %3 - - - +File name: %3 + 您确定允许 %4 (%5) 复制大文件 %1 到沙盒: %2? +文件名称: %3 + + Do you want to allow %1 (%2) access to the internet? -Full path: %3 - - - +Full path: %3 + 您确定允许 %1 (%2) 访问网络吗? +完整路径: %3 + + %1 is eligible for quick recovery from %2. -The file was written by: %3 - - - +The file was written by: %3 + %1 可以从 %2 快速恢复. +文件写入自: %3 + + Migrating a large file %1 into the sandbox %2, %3 left. -Full path: %4 - - - - - CRecoveryWindow - - File Name - 文件名称 - - - File Size - 文件大小 - - - Full Path - 详细路径 - - - Select Directory - 选择目录 - - - %1 - File Recovery - %1 - 文件恢复 - - - 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. - 一个或多个被选择的文件位于网络共享, 并必须恢复到本地磁盘, 请选择要将所选文件恢复到的文件夹. - - - There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space. - 有 %1 文件和 %2 文件夹在沙盒中, 占用磁盘 %3 字节. - - - - CResMonModel - - Type - 类型 - - - Value - - - - Status - 状态 - - - Time Stamp - 时间戳 - - - Process - 进程 - - - Unknown - 未知 - - - - CSandBoxPlus - - No Admin - 无管理员 - - - No INet - 无INet - - - Normal - 标准 - - - API Log - API日志 - - - Net Share - 网络共享 - - - NOT SECURE (Debug Config) - 不安全(调试配置) - - - Enhanced Isolation - 增强隔离 - - - Reduced Isolation - 减弱隔离 - - - Disabled - 禁用 - - - - CSandMan - - Exit - 退出 - - - <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>新版本Sandboxie-Plus 将被下载到:</p><p><a href="%2">%1</a></p><p>您想要开始安装吗? 正在沙盒运行的其他程序将会被终止.</p> - - - Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. - 便携模式启动Sandboxie-Plus,需要创建必需的服务.将会提示管理员权限. - - - Cleanup Processes - 清理所有操作 - - - Maintenance operation %1 - 运行维护 %1 - - - &Help - &帮助 - - - &View - &视图 - - - Error deleting sandbox folder: %1 - 删除沙盒文件夹错误: %1 - - - About Sandboxie-Plus - 关于Sandboxie-Plus - - - Driver version: %1 - 驱动版本: %1 - - - Sandboxie-Plus v%1 - Sandboxie-Plus v%1 - - - Start Driver - 启动驱动 - - - Install Driver - 安装驱动 - - - Uninstall Driver - 卸载驱动 - - - Check for Updates - 检查更新 - - - Visit Support Forum - 支持论坛 - - - Failed to copy configuration from sandbox %1: %2 - 复制沙盒配置 %1: %2 失败 - - - Do you want to check if there is a new version of Sandboxie-Plus? - 当有Sandboxie-Plus新版本时您想要检查吗? - - - Cleanup Api Call Log - 清理Api调用日志 - - - Simple View - 简易视图 - - - %1 (%2): - %1 (%2): - - - Login Failed: %1 - 登录失败: %1 - - - Clean Up - 清理 - - - Don't show this message again. - 不再显示此消息 - - - Uninstall Service - 卸载服务 - - - Start Service - 启动服务 - - - Install Service - 安装服务 - - - Failed to remove old snapshot directory '%1' - 删除旧的快照目录 '%1' 失败 - - - The changes will be applied automatically as soon as the editor is closed. - 变更将在编辑器关闭后自动提交. - - - Can't remove a snapshot that is shared by multiple later snapshots - 无法删除由多个后续快照共享的快照 - - - Do you want to close Sandboxie Manager? - 您确定要关闭Sandboxie管理器? - - - Support Sandboxie-Plus with a Donation - 捐赠支持Sandboxie-Plus - - - Unknown Error Status: %1 - 未知错误代码: %1 - - - Failed to create directory for new snapshot - 创建新的快照目录失败 - - - Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. - Sandboxie-Plus运行于便携模式,现在将清理所创建的服务.将会提示管理员权限 - - - - Portable - - 便携 - - - Failed to download update from: %1 - 在: %1 下载更新失败 - - - Api Call Log - Api调用日志 - - - The sandbox name can not be longer than 32 characters. - 沙盒名称不能超过32个字符. - - - Stop Driver - 停止驱动 - - - Don't show this announcement in the future. - 此后不再显示此通告. - - - Sbie Messages - Sbie信息 - - - Failed to recover some files: - - 恢复某些文件失败: - - - - Failed to move directory '%1' to '%2' - 移动目录 '%1' 到 '%2' 失败 - - - Recovering file %1 to %2 - 恢复文件 %1 到 %2 - - - Resource Logging - 资源日志 - - - Online Documentation - 在线文档 - - - Ignore this update, notify me about the next one. - 忽略此升级,下一个再提示我. - - - Please enter the duration for disabling forced programs. - 请输入禁用强制运行程序的时间. - - - Sbie Directory: %1 - Sbie目录: %1 - - - - NOT connected - - 未连接 - - - <p>Do you want to download the latest version?</p> - <p>确定要下载最新版?</p> - - - Sandboxie-Plus - Error - Sandboxie-Plus - 错误 - - - The changes will be applied automatically whenever the file gets saved. - 每当文件保存后更改将自动应用. - - - Time|Message - 时间|信息 - - - &Options - &选项 - - - Show/Hide - 显示/隐藏 - - - Resource Monitor - 资源监控 - - - Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? - 确定要打开 %1 在沙盒化 (是) 未沙盒化 (否) 的浏览器中? - - - Reset all hidden messages - 重置所有隐藏消息 - - - A sandbox must be emptied before it can be deleted. - 删除沙盒之前必须清空. - - - The sandbox name can contain only letters, digits and underscores which are displayed as spaces. - 沙盒名称不能为空格,只能包含字母,数字和下划线. - - - A sandbox must be emptied before it can be renamed. - 重命名沙盒之前必须清空. - - - API Call Logging - API调用记录 - - - Loaded Config: %1 - 加载的配置: %1 - - - Reload ini file - 重载ini文件 - - - Remember choice for later. - 以后记住选择. - - - &Maintenance - &维护 - - - The sandbox name can not be a device name. - 沙盒名称不能为设备名称. - - - Operation failed for %1 item(s). - %1 项操作失败. - - - Global Settings - 全局设置 - - - Downloading new version... - 下载新版本... - - - &Sandbox - &沙盒 - - - <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - <h3>关于Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - - - Cleanup - 清理 - - - Failed to check for updates, error: %1 - 检查更新失败,错误: %1 - - - Disconnect - 断开 - - - Connect - 连接 - - - Only Administrators can change the config. - 仅限管理员可更改配置. - - - Disable Forced Programs - 禁用强制运行程序 - - - Snapshot not found - 未发现快照 - - - Failed to remove old RegHive - 删除旧的注册表项失败 - - - Stop All - 停止所有 - - - Can't find Sandboxie installation path. - 未找到Sandboxie安装路径. - - - Delete protection is enabled for the sandbox - 沙盒的删除保护被启用 - - - &Advanced - &高级 - - - An incompatible Sandboxie %1 was found. Compatible versions: %2 - 不兼容的Sandboxie %1 被发现.兼容版本为: %2 - - - Administrator rights are required for this operation. - 此操作需要管理员权限. - - - Executing maintenance operation, please wait... - 执行操作维护,请稍等... - - - <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> - <p>有新版本Sandboxie-Plus可用.<br /><font color='red'>New version:</font> <b>%1</b></p> - - - Stop Service - 停止服务 - - - Create New Box - 创建新沙盒 - - - Failed to copy RegHive - 复制RegHive失败 - - - Failed to terminate all processes - 终止所有进程失败 - - - Advanced View - 高级视图 - - - Failed to delete sandbox %1: %2 - 删除沙盒 %1: %2 失败 - - - <p>Do you want to go to the <a href="%1">download page</a>?</p> - <p>确定要打开 <a href="%1">下载页面</a>?</p> - - - Maintenance operation Successful - 维护操作成功 - - - PID %1: - 进程ID %1: - - - Error Status: %1 - 错误代码: %1 - - - Terminate All Processes - 终止所有进程 - - - Please enter the configuration password. - 请输入配置密码. - - - Do you also want to reset hidden message boxes (yes), or only all log messages (no)? - 确定连隐藏信息窗口一起重置 (是) 或仅用于所有日志信息 (否)? - - - You are not authorized to update configuration in section '%1' - 您无权在此处更新配置 '%1' - - - Failed to connect to the driver - 连接驱动失败 - - - Failed to communicate with Sandboxie Service: %1 - 无法联系Sandboxie服务: %1 - - - Failed to execute: %1 - 执行失败: %1 - - - This Snapshot operation can not be performed while processes are still running in the box. - 因进程正在沙盒中运行,此快照操作无法完成. - - - server not reachable - 服务器无法访问 - - - Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. - 合并快照目录 '%1' 和 '%2' 错误,快照没有全部合并. - - - Edit ini file - 编辑ini文件 - - - Checking for updates... - 检查更新... - - - No sandboxes found; creating: %1 - 没找到沙盒;创建: %1 - - - Cleanup Resource Log - 清理资源日志 - - - Cleanup Message Log - 清理消息日志 - - - About the Qt Framework - 关于Qt框架 - - - Keep terminated - 保持终止 - - - A sandbox of the name %1 already exists - 沙盒名称 %1 已存在 - - - Failed to set configuration setting %1 in section %2: %3 - 配置设置 %1 失败于 %2: %3 - - - Copy Cell - 复制单元格 - - - Copy Row - 复制行 - - - Copy Panel - 复制表格 - - - Failed to stop all Sandboxie components - 停止Sandboxie所有组件失败 - - - Failed to start required Sandboxie components - 启动所需Sandboxie组件失败 - - - Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? - Sandboxie-Plus于便携模式运行,您想将沙盒目录放到它的上级目录吗? - - - The file %1 already exists, do you want to overwrite it? - 文件 %1 已存在,您确定要覆盖它吗? - - - Do this for all files! - 所有文件执行此操作! - - - To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. -Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. - 要使用API记录日志首先必须从 https://github.com/sandboxie-plus/LogApiDll 下载LogApiDll,并用沙盒来建立. -请下载最新发布版,并用sandboxie.ini安装,详情请参考README.md里此项的说明. - - - No new updates found, your Sandboxie-Plus is up-to-date. - 无可用更新,您的Sandboxie-Plus是最新的 - - - <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是著名开源程序Sandboxie的延续.</p><p></p><p>访问 <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> 来获取更多信息.</p><p></p><p></p><p></p><p>图标来自 <a href="https://icons8.com">icons8.com</a></p><p></p> - - - Always on Top - 保持窗口最前 - - - Cleaned up removed templates... - 清理已删除的模板... - - - Can not create snapshot of an empty sandbox - 无法为空沙盒创建快照 - - - A sandbox with that name already exists - 已存在同名沙盒 - - - Reset Columns - 重置菜单 - - - Window Finder - 窗口查找器 - - - Show Hidden Boxes - 显示隐藏沙盒 - - - Select box: - 选择沙盒 - - - Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? - 一些兼容性模板 (%1) 丢失, 可能被删除, 您确定在所有沙盒中删除它们? - - - Do you want to terminate all processes in all sandboxes? - 您确定要终止所有沙盒中的所有进程吗? - - - Terminate all without asking - 不询问终止所有 - - - The selected window is running as part of program %1 in sandbox %2 - 选择的窗口正作为程序 %1 一部分运行在 %2 中 - - - The selected window is not running as part of any sandboxed program. - 选择的窗口没有作为任何沙盒化程序的一部分运行 - - - Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. - 拖动查找工具到一个窗口上去选择,然后松开鼠标检查窗口是否沙盒化 - - - Sandboxie-Plus - Window Finder - Sandboxie-Plus - 窗口查找器 - - - Default sandbox not found; creating: %1 - - - - <p>Do you want to go to the <a href="%1">info page</a>?</p> - - - - Don't show this message anymore. - - - - - CSbieModel - - Name - 名称 - - - Box Groupe - 沙盒组 - - - Status - 状态 - - - Path / Command Line - 路径 / 命令行 - - - Start Time - 开始时间 - - - Process ID - 进程ID - - - Title - 标题 - - - - CSbieProcess - - Terminated - 终止 - - - Running - 运行 - - - - CSbieView - - Run - 运行 - - - Create Shortcut to sandbox %1 - 为沙盒 %1 创建快捷方式 - - - Options: - - 选项: - - - - Drop Admin Rights - 撤销管理员权限 - - - Run eMail Client - 运行邮件客户端 - - - Remove Group - 删除组 - - - Sandbox Options - 沙盒选项 - - - Sandbox Presets - 沙盒预置 - - - Do you want to %1 the selected process(es) - 确定要 %1 所选进程 - - - Move to Group - 移动到组 - - - Remove Sandbox - 删除沙盒 - - - Rename Sandbox - 重命名沙盒 - - - Run from Start Menu - 在开始菜单运行 - - - Preset - 预置 - - - Please enter a new group name - 请输入新的组名 - - - Enable API Call logging - 启用API调用日志 - - - [None] - [无] - - - Please enter a new name for the Sandbox. - 请为沙盒输入新名称 - - - Add Group - 添加组 - - - Delete Content - 删除内容 - - - Create Shortcut - 创建快捷方式 - - - Do you really want to remove the selected sandbox(es)? - 确定要删除所选沙盒吗 - - - Run Program - 运行程序 - - - IPC root: %1 - - IPC根目录: %1 - - - - Block and Terminate - 阻止并终止 - - - Registry root: %1 - - 注册表根目录: %1 - - - - File root: %1 - - 文件根目录: %1 - - - - Terminate - 终止 - - - Set Leader Process - 设置先导进程 - - - Terminate All Programs - 终止所有程序 - - - Do you really want to remove the selected group(s)? - 确定要删除所选组吗? - - - Run Web Browser - 运行网页浏览器 - - - Force into this sandbox - 强制入此沙盒 - - - Allow Network Shares - 允许网络共享 - - - Run Cmd.exe - 运行Cmd.exe - - - Snapshots Manager - 快照管理 - - - Run Explorer - 运行资源管理器 - - - Block Internet Access - 禁止网络访问 - - - Set Linger Process - 设置驻留进程 - - - Create New Box - 创建新沙盒 - - - Pin to Run Menu - 固定到运行菜单 - - - Recover Files - 恢复文件 - - - This box does not have Internet restrictions in place, do you want to enable them? - 此沙盒无互联网限制,确定要启用它们吗? - - - Explore Content - 浏览内容 - - - Allow internet access - 允许网络访问 - - - Don't show this message again. - 不再显示此消息 - - - This Sandbox is already empty. - 此沙盒已空. - - - Do you want to delete the content of the selected sandbox? - 您确定要删除所选沙盒的内容? - - - Do you really want to delete the content of multiple sandboxes? - 您确定要删除多个沙盒的内容? - - - Do you want to terminate all processes in the selected sandbox(es)? - 您确定终止所选沙盒中的所有进程吗? - - - This sandbox is disabled, do you want to enable it? - 此沙盒被禁用,您确定启用吗? - - - A group can not be its own parent. - - - - This Sandbox is empty. - - - - - CSettingsWindow - - Close - 关闭 - - - Please enter the new configuration password. - 请输入新配置密码. - - - Close to Tray - 关闭到托盘 - - - Select Directory - 选择目录 - - - Please enter a program file name - 请输入程序文件名 - - - Folder - 文件夹 - - - Prompt before Close - 关闭前提示 - - - Process - 进程 - - - Sandboxie Plus - Settings - Sandboxie Plus - 设置 - - - Please re-enter the new configuration password. - 请再次输入新配置密码. - - - Passwords did not match, please retry. - 密码不正确,请重新输入. - - - Auto Detection - - - - - CSnapshotsWindow - - Do you really want to delete the selected snapshot? - 确定要删除所选快照? - - - New Snapshot - 新快照 - - - Snapshot - 快照 - - - Do you really want to switch the active snapshot? Doing so will delete the current state! - 确定要切换正在使用的快照? 这样做会删除当前状态! - - - %1 - Snapshots - %1 - 快照 - - - Please enter a name for the new Snapshot. - 请输入新快照名称. - - - - NewBoxWindow - - Copy options from an existing box: - 从已有沙盒复制选项: - - - Initial sandbox configuration: - 初始沙盒配置: - - - Select restriction/isolation template: - 选择限制/隔离模板: - - - SandboxiePlus new box - SandboxiePlus新沙盒 - - - Sandbox Name: - 沙盒名称: - - - - OptionsWindow - - Name - 名称 - - - Path - 路径 - - - Save - 保存 - - - Type - 类型 - - - Allow only selected programs to start in this sandbox. * - 仅允许被选择的程序在此沙盒中启动. * - - - Force Folder - 强制运行文件夹 - - - Add IPC Path - 添加IPC路径 - - - Sandbox Indicator in title: - 在标题显示沙盒标记: - - - Debug - 调试 - - - Users - 用户 - - - <- for this one the above does not apply - <- 因此原因以上不适用 - - - Block network files and folders, unless specifically opened. - 禁用网络文件和文件夹,除非专门打开. - - - Command Line - 命令行 - - - Don't alter window class names created by sandboxed programs - 不要改变由沙盒程序创建的窗口类名 - - - Prevent change to network and firewall parameters - 阻止更改网络和防火墙参数 - - - Internet Restrictions - 联网限制 - - - 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. - 配置进程所访问的资源. 双击进入编辑. -'管理' 文件和键值仅适用于沙盒外的程序二进制文件. -注意所有都将关闭...=!<program>,... 例外也有相同限制. -文件访问可使用 '管理全部' 使其适用于所有程序. - - - Log Debug Output to the Trace Log - 日志调试输出到追踪日志 - - - Forced Programs - 强制运行程序 - - - Add Wnd Class - 添加窗口类 - - - Access Tracing - 访问追踪 - - - File Options - 文件选项 - - - General Options - 通用选项 - - - Open Windows Credentials Store - 打开系统证书库 - - - kilobytes - kb - - - 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. - 如果其他所有程序已经终止后,驻留程序仍在运行,将自动终止. - -如果引导进程已确定, 其他将被当成驻留进程. - - - Allow all programs to start in this sandbox. - 允许所有程序在此沙盒中启动. - - - Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. - 启用快速恢复提示以便创建文件时能尽快恢复. - - - General restrictions - 通用限制 - - - Move Up - 上移 - - - Access - 访问 - - - These options are intended for debugging compatibility issues, please do not use them in production use. - 这些选项是计划调试设备而设计的,在日常使用时请不要使用. - - - Text Filter - 文本过滤 - - - Cancel - 取消 - - - Restrict Resource Access monitor to administrators only - 限制资源访问监视器仅限管理员 - - - Protect the sandbox integrity itself - 沙盒完整性保护 - - - Add Folder - 添加文件夹 - - - Prompt user whether to allow an exemption from the blockade. - 提示用户是否允许例外免于封锁. - - - IPC Trace - IPC追踪 - - - Limit access to the emulated service control manager to privileged processes - 限制访问模拟服务控制管理器来提权进程 - - - Remove - 删除 - - - Add File/Folder - 添加文件/文件夹 - - - Block internet access for all programs except those added to the list. - 禁止所有程序访问网络,这些添加到清单里的除外 - - - Issue message 1307 when a program is denied internet access - 错误代码1307,程序被拒绝网络访问 - - - Compatibility - 兼容性 - - - Stop Behaviour - 停止行为 - - - Note: Programs installed to this sandbox won't be able to access the internet at all. - 注意: 安装在此沙盒里程序将完全无法访问网络. - - - Box Options - 沙盒选项 - - - Don't allow sandboxed processes to see processes running in other boxes - 不允许沙盒化的进程查看其他沙盒里进程的运行 - - - Add Group - 添加组 - - - Sandboxed window border: - 沙盒化窗口边框: - - - Prevent selected programs from starting in this sandbox. - 阻止所选程序在此沙盒中启动. - - - Miscellaneous - 其他 - - - Issue message 2102 when a file is too large - 问题代码2102,文件太大 - - - File Recovery - 文件恢复 - - - Box Delete options - 沙盒删除选项 - - - Pipe Trace - Pipe追踪 - - - File Trace - 文件追踪 - - - Program - 程序 - - - Add Process - 添加进程 - - - Add Program - 添加程序 - - - Filter Categories - 筛选类别 - - - Copy file size limit: - 复制文件大小限制: - - - Open System Protected Storage - 开放系统保护存储 - - - Protect the system from sandboxed processes - 保护系统来自沙盒化的进程 - - - Add Leader Program - 添加引导程序 - - - SandboxiePlus Options - SandboxiePlus选项 - - - Category - 类别 - - - Drop rights from Administrators and Power Users groups - 撤销管理员和超级用户组的权限 - - - Add Reg Key - 添加注册表键值 - - - Sandbox protection - 沙盒保护 - - - 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. - 您可将程序分组并且给它们组名.程序组可以代替程序名被用于一些设置. - - - Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes - 保护沙盒化系统进程来自未授权的未沙盒化的进程 - - - COM Class Trace - COM组件追踪 - - - Add Command - 添加命令 - - - Hide Processes - 隐藏进程 - - - When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. - 当快速恢复功能被调用,下列文件夹将被检查沙盒化内容. - - - px Width - 宽度 - - - Add User - 添加用户 - - - Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. - 此处输入的程序,或指定位置启动的程序,将自动入此沙盒,除非它们明确在其他沙盒启动. - - - Force Program - 强制运行程序 - - - WARNING, these options can disable core security guarantees and break sandbox security!!! - 警告,这些选项可以使核心安全保障失效并且破坏沙盒安全!!! - - - Edit ini - 编辑ini - - - Show Templates - 显示模板 - - - Ignore Folder - 忽略文件夹 - - - GUI Trace - GUI追踪 - - - Key Trace - 键值追踪 - - - Tracing - 追踪 - - - Appearance - 外观 - - - Add sandboxed processes to job objects (recommended) - 添加沙盒化进程到作业对象(建议) - - - Remove Program - 删除程序 - - - You can exclude folders and file types (or file extensions) from Immediate Recovery. - 您可从快速恢复中排除文件夹和文件类型 (或文件扩展名) . - - - Run Menu - 运行菜单 - - - App Templates - 应用程序模板 - - - Remove User - 删除用户 - - - Ignore Extension - 忽略扩展名 - - - Move Down - 下移 - - - Protect this sandbox from deletion or emptying - 保护此沙盒删除或清空 - - - 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. - 添加用户账户和用户组到下面清单中来仅限这些账户使用沙盒. 如果清单内容为空,所有账户均可使用沙盒. - -注意: 沙盒的强制运行程序和强制运行文件夹设置不接受不能运行沙盘的账户. - - - * Note: Programs installed to this sandbox won't be able to start at all. - * 注意: 安装在此沙盒里的程序将完全无法启动. - - - This list contains a large amount of sandbox compatibility enhancing templates - 此清单包含大量沙盒兼容性增强模板 - - - Add Lingering Program - 添加驻留程序 - - - Program Groups - 程序组 - - - Issue message 1308 when a program fails to start - 错误代码1308,程序启动失败 - - - Resource Access - 资源访问 - - - Advanced Options - 高级选项 - - - Hide host processes from processes running in the sandbox. - 隐藏沙盒中运行进程的主进程. - - - File Migration - 文件迁移 - - - Auto delete content when last sandboxed process terminates - 上一次沙盒化的进程终止后自动删除内容 - - - Add COM Object - 添加COM对象 - - - You can configure custom entries for the sandbox run menu. - 您可为沙盒运行菜单配置自定义条目. - - - Start Restrictions - 启动限制 - - - Force usage of custom dummy Manifest files (legacy behaviour) - 强制使用自定义虚拟Manifest文件(遗留行为) - - - Edit ini Section - 编辑ini部分 - - - Block access to the printer spooler - 阻止访问打印服务 - - - Allow the print spooler to print to files outside the sandbox - 允许打印服务在沙盒外打印文件 - - - Printing - 打印 - - - Remove spooler restriction, printers can be installed outside the sandbox - 移除打印限制,打印机可以在沙盒外安装 - - - Add program - 添加程序 - - - Auto Start - 自动启动 - - - Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated - 这里您可以详列将在沙盒中自动启动的程序或服务,当它被激活时 - - - Add service - 添加服务 - - - Do not start sandboxed services using a system token (recommended) - 不启动使用系统令牌的沙盒化服务 (建议) - - - Allow access to Smart Cards - 允许访问智能卡 - - - Lift security restrictions - 提升安全限制 - - - Sandbox isolation - 沙盒隔离 - - - Auto Exec - 自动运行 - - - Here you can specify a list of commands that are executed every time the sandbox is initially populated. - 这里您可以详列每次沙盒启动被执行的命令清单. - - - 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 "*". - 将驱动程序看到的所有访问事件记录到资源访问日志中. - -这些选项设置事件标记到 "*" - 所有访问事件 -您可以通过ini来详细定制记录 -"A" - 允许访问 -"D" - 拒绝访问 -"I" - 忽略拒绝请求 -代替 "*". - - - Allow access to Bluetooth - - - - - PopUpWindow - - SandboxiePlus Notifications - SandboxiePlus通知 - - - - QObject - - Drive %1 - 磁盘 %1 - - - - QPlatformTheme - - OK - 确定 - - - Apply - 应用 - - - Cancel - 取消 - - - &Yes - &是 - - - &No - &否 - - - - RecoveryWindow - - Close - 关闭 - - - SandboxiePlus Settings - SandboxiePlus设置 - - - Add Folder - 添加文件夹 - - - Recover to - 恢复到 - - - Recover - 恢复 - - - Refresh - 刷新 - - - Delete all - 删除全部 - - - Show All Files - 显示所有文件 - - - TextLabel - 文本标签 - - - SandboxiePlus - Recovery - - - - - SettingsWindow - - Name - 名称 - - - Path - 路径 - - - Change Password - 更改密码 - - - Clear password when main window becomes hidden - 主窗口隐藏时清除密码 - - - SandboxiePlus Settings - SandboxiePlus设置 - - - Password must be entered in order to make changes - 必须输入密码以便进行更改 - - - Check periodically for updates of Sandboxie-Plus - 定期检查Sandboxie-Plus的更新 - - - General Options - 通用选项 - - - Program Restrictions - 程序限制 - - - Restart required (!) - 需要重启 (!) - - - Tray options - 磁盘选项 - - - Use Dark Theme - 使用暗主题 - - - Enable - 启用 - - - Add Folder - 添加文件夹 - - - Only Administrator user accounts can make changes - 仅限管理员账户更改 - - - Config protection - 配置保护 - - - Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: - 沙盒 <a href="sbie://docs/keyrootpath">注册表根目录</a>: - - - Add Program - 添加程序 - - - 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. - 沙盒在您系统中检测到下列软件程序. 点击 确定 接受配置设置,将增强这些软件程序的兼容性.这些配置设置将影响所有已存在的沙盒和任何新沙盒. - - - Watch Sandboxie.ini for changes - 查看Sandboxie.ini变更 - - - Show Sys-Tray - 系统托盘显示 - - - Open urls from this ui sandboxed - 在此用户界面打开的链接均沙盒化 - - - In the future, don't check software compatibility - 以后,不再检查软件兼容性 - - - Disable - 禁用 - - - When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301. - 当下列程序在任意沙盒之外启动时, Sandboxie将出现错误代码SBIE1301. - - - Remove Program - 删除程序 - - - Software Compatibility - 软件兼容性 - - - On main window close: - 主窗体关闭时: - - - Add 'Run Sandboxed' to the explorer context menu - 在资源管理器添加'在沙盒中运行' - - - Issue message 1308 when a program fails to start - 错误代码1308,程序启动失败 - - - Sandbox default - 沙盒预置 - - - Separate user folders - 独立用户文件夹 - - - Advanced Options - 高级选项 - - - Prevent the listed programs from starting on this system - 阻止列表程序在此系统中启动 - - - Only Administrator user accounts can use Disable Forced Programs command - 仅管理员账户可使用禁用强制运行程序命令 - - - Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: - 沙盒 <a href="sbie://docs/ipcrootpath">ipc根目录</a>: - - - Show Notifications for relevant log Messages - 显示相关日志信息的通知 - - - Sandbox <a href="sbie://docs/filerootpath">file system root</a>: - 沙盒 <a href="sbie://docs/filerootpath">文件系统根目录</a>: - - - Portable root folder - 便携化根目录 - - - Start UI with Windows - 开机启动UI - - - Start UI when a sandboxed process is started - 当沙盒进程启动时启动UI - - - Show first recovery window when emptying sandboxes - 当清空沙盒时显示第一个恢复窗口 - - - ... - ... - - - Other settings - 其他设置 - - - - SnapshotsWindow - - Name: - 名称: - - - Remove Snapshot - 删除快照 - - - SandboxiePlus Settings - SandboxiePlus设置 - - - Description: - 说明: - - - Go to Snapshot - 进入快照 - - - Take Snapshot - 抓取快照 - - - Selected Snapshot Details - 所选快照详情 - - - Snapshot Actions - 快照行为 - - - SandboxiePlus - Snapshots - - - - +Full path: %4 + 移动大文件 %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 + + File Name + 文件名称 + + + File Size + 文件大小 + + + Full Path + 详细路径 + + + Select Directory + 选择目录 + + + %1 - File Recovery + %1 - 文件恢复 + + + 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. + 一个或多个被选择的文件位于网络共享, 并必须恢复到本地磁盘, 请选择要将所选文件恢复到的文件夹. + + + There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space. + 有 %1 文件和 %2 文件夹在沙盒中, 占用磁盘 %3 字节. + + + + CResMonModel + + Type + 类型 + + + Value + + + + Status + 状态 + + + Time Stamp + 时间戳 + + + Process + 进程 + + + Unknown + 未知 + + + + CSandBoxPlus + + No Admin + 无管理员 + + + No INet + 无INet + + + Normal + 标准 + + + API Log + API日志 + + + Net Share + 网络共享 + + + NOT SECURE (Debug Config) + 不安全(调试配置) + + + Enhanced Isolation + 增强隔离 + + + Reduced Isolation + 减弱隔离 + + + Disabled + 禁用 + + + + CSandMan + + Exit + 退出 + + + <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>新版本Sandboxie-Plus 将被下载到:</p><p><a href="%2">%1</a></p><p>您想要开始安装吗? 正在沙盒运行的其他程序将会被终止.</p> + + + Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. + 便携模式启动Sandboxie-Plus,需要创建必需的服务.将会提示管理员权限. + + + Cleanup Processes + 清理所有操作 + + + Maintenance operation %1 + 运行维护 %1 + + + &Help + &帮助 + + + &View + &视图 + + + Error deleting sandbox folder: %1 + 删除沙盒文件夹错误: %1 + + + About Sandboxie-Plus + 关于Sandboxie-Plus + + + Driver version: %1 + 驱动版本: %1 + + + Sandboxie-Plus v%1 + Sandboxie-Plus v%1 + + + Start Driver + 启动驱动 + + + Install Driver + 安装驱动 + + + Uninstall Driver + 卸载驱动 + + + Check for Updates + 检查更新 + + + Visit Support Forum + 支持论坛 + + + Failed to copy configuration from sandbox %1: %2 + 复制沙盒配置 %1: %2 失败 + + + Do you want to check if there is a new version of Sandboxie-Plus? + 当有Sandboxie-Plus新版本时您想要检查吗? + + + Cleanup Api Call Log + 清理Api调用日志 + + + Simple View + 简易视图 + + + %1 (%2): + %1 (%2): + + + Login Failed: %1 + 登录失败: %1 + + + Clean Up + 清理 + + + Don't show this message again. + 不再显示此消息 + + + Uninstall Service + 卸载服务 + + + Start Service + 启动服务 + + + Install Service + 安装服务 + + + Failed to remove old snapshot directory '%1' + 删除旧的快照目录 '%1' 失败 + + + The changes will be applied automatically as soon as the editor is closed. + 变更将在编辑器关闭后自动提交. + + + Can't remove a snapshot that is shared by multiple later snapshots + 无法删除由多个后续快照共享的快照 + + + Do you want to close Sandboxie Manager? + 您确定要关闭Sandboxie管理器? + + + Support Sandboxie-Plus with a Donation + 捐赠支持Sandboxie-Plus + + + Unknown Error Status: %1 + 未知错误代码: %1 + + + Failed to create directory for new snapshot + 创建新的快照目录失败 + + + Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. + Sandboxie-Plus运行于便携模式,现在将清理所创建的服务.将会提示管理员权限 + + + - Portable + - 便携 + + + Failed to download update from: %1 + 在: %1 下载更新失败 + + + Api Call Log + Api调用日志 + + + The sandbox name can not be longer than 32 characters. + 沙盒名称不能超过32个字符. + + + Stop Driver + 停止驱动 + + + Don't show this announcement in the future. + 此后不再显示此通告. + + + Sbie Messages + Sbie信息 + + + Failed to recover some files: + + 恢复某些文件失败: + + + + Failed to move directory '%1' to '%2' + 移动目录 '%1' 到 '%2' 失败 + + + Recovering file %1 to %2 + 恢复文件 %1 到 %2 + + + Resource Logging + 资源日志 + + + Online Documentation + 在线文档 + + + Ignore this update, notify me about the next one. + 忽略此升级,下一个再提示我. + + + Please enter the duration for disabling forced programs. + 请输入禁用强制运行程序的时间. + + + Sbie Directory: %1 + Sbie目录: %1 + + + - NOT connected + - 未连接 + + + <p>Do you want to download the latest version?</p> + <p>确定要下载最新版?</p> + + + Sandboxie-Plus - Error + Sandboxie-Plus - 错误 + + + The changes will be applied automatically whenever the file gets saved. + 每当文件保存后更改将自动应用. + + + Time|Message + 时间|信息 + + + &Options + &选项 + + + Show/Hide + 显示/隐藏 + + + Resource Monitor + 资源监控 + + + Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? + 确定要打开 %1 在沙盒化 (是) 未沙盒化 (否) 的浏览器中? + + + Reset all hidden messages + 重置所有隐藏消息 + + + A sandbox must be emptied before it can be deleted. + 删除沙盒之前必须清空. + + + The sandbox name can contain only letters, digits and underscores which are displayed as spaces. + 沙盒名称不能为空格,只能包含字母,数字和下划线. + + + A sandbox must be emptied before it can be renamed. + 重命名沙盒之前必须清空. + + + API Call Logging + API调用记录 + + + Loaded Config: %1 + 加载的配置: %1 + + + Reload ini file + 重载ini文件 + + + Remember choice for later. + 以后记住选择. + + + &Maintenance + &维护 + + + The sandbox name can not be a device name. + 沙盒名称不能为设备名称. + + + Operation failed for %1 item(s). + %1 项操作失败. + + + Global Settings + 全局设置 + + + Downloading new version... + 下载新版本... + + + &Sandbox + &沙盒 + + + <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> + <h3>关于Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> + + + Cleanup + 清理 + + + Failed to check for updates, error: %1 + 检查更新失败,错误: %1 + + + Disconnect + 断开 + + + Connect + 连接 + + + Only Administrators can change the config. + 仅限管理员可更改配置. + + + Disable Forced Programs + 禁用强制运行程序 + + + Snapshot not found + 未发现快照 + + + Failed to remove old RegHive + 删除旧的注册表项失败 + + + Stop All + 停止所有 + + + Can't find Sandboxie installation path. + 未找到Sandboxie安装路径. + + + Delete protection is enabled for the sandbox + 沙盒的删除保护被启用 + + + &Advanced + &高级 + + + An incompatible Sandboxie %1 was found. Compatible versions: %2 + 不兼容的Sandboxie %1 被发现.兼容版本为: %2 + + + Administrator rights are required for this operation. + 此操作需要管理员权限. + + + Executing maintenance operation, please wait... + 执行操作维护,请稍等... + + + <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> + <p>有新版本Sandboxie-Plus可用.<br /><font color='red'>New version:</font> <b>%1</b></p> + + + Stop Service + 停止服务 + + + Create New Box + 创建新沙盒 + + + Failed to copy RegHive + 复制RegHive失败 + + + Failed to terminate all processes + 终止所有进程失败 + + + Advanced View + 高级视图 + + + Failed to delete sandbox %1: %2 + 删除沙盒 %1: %2 失败 + + + <p>Do you want to go to the <a href="%1">download page</a>?</p> + <p>确定要打开 <a href="%1">下载页面</a>?</p> + + + Maintenance operation Successful + 维护操作成功 + + + PID %1: + 进程ID %1: + + + Error Status: %1 + 错误代码: %1 + + + Terminate All Processes + 终止所有进程 + + + Please enter the configuration password. + 请输入配置密码. + + + Do you also want to reset hidden message boxes (yes), or only all log messages (no)? + 确定连隐藏信息窗口一起重置 (是) 或仅用于所有日志信息 (否)? + + + You are not authorized to update configuration in section '%1' + 您无权在此处更新配置 '%1' + + + Failed to connect to the driver + 连接驱动失败 + + + Failed to communicate with Sandboxie Service: %1 + 无法联系Sandboxie服务: %1 + + + Failed to execute: %1 + 执行失败: %1 + + + This Snapshot operation can not be performed while processes are still running in the box. + 因进程正在沙盒中运行,此快照操作无法完成. + + + server not reachable + 服务器无法访问 + + + Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. + 合并快照目录 '%1' 和 '%2' 错误,快照没有全部合并. + + + Edit ini file + 编辑ini文件 + + + Checking for updates... + 检查更新... + + + No sandboxes found; creating: %1 + 没找到沙盒;创建: %1 + + + Cleanup Resource Log + 清理资源日志 + + + Cleanup Message Log + 清理消息日志 + + + About the Qt Framework + 关于Qt框架 + + + Keep terminated + 保持终止 + + + A sandbox of the name %1 already exists + 沙盒名称 %1 已存在 + + + Failed to set configuration setting %1 in section %2: %3 + 配置设置 %1 失败于 %2: %3 + + + Copy Cell + 复制单元格 + + + Copy Row + 复制行 + + + Copy Panel + 复制表格 + + + Failed to stop all Sandboxie components + 停止Sandboxie所有组件失败 + + + Failed to start required Sandboxie components + 启动所需Sandboxie组件失败 + + + Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? + Sandboxie-Plus于便携模式运行,您想将沙盒目录放到它的上级目录吗? + + + The file %1 already exists, do you want to overwrite it? + 文件 %1 已存在,您确定要覆盖它吗? + + + Do this for all files! + 所有文件执行此操作! + + + To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. +Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. + 要使用API记录日志首先必须从 https://github.com/sandboxie-plus/LogApiDll 下载LogApiDll,并用沙盒来建立. +请下载最新发布版,并用sandboxie.ini安装,详情请参考README.md里此项的说明. + + + No new updates found, your Sandboxie-Plus is up-to-date. + 无可用更新,您的Sandboxie-Plus是最新的 + + + <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是著名开源程序Sandboxie的延续.</p><p></p><p>访问 <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> 来获取更多信息.</p><p></p><p></p><p></p><p>图标来自 <a href="https://icons8.com">icons8.com</a></p><p></p> + + + Always on Top + 保持窗口最前 + + + Cleaned up removed templates... + 清理已删除的模板... + + + Can not create snapshot of an empty sandbox + 无法为空沙盒创建快照 + + + A sandbox with that name already exists + 已存在同名沙盒 + + + Reset Columns + 重置菜单 + + + Window Finder + 窗口查找器 + + + Show Hidden Boxes + 显示隐藏沙盒 + + + Select box: + 选择沙盒 + + + Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? + 一些兼容性模板 (%1) 丢失, 可能被删除, 您确定在所有沙盒中删除它们? + + + Do you want to terminate all processes in all sandboxes? + 您确定要终止所有沙盒中的所有进程吗? + + + Terminate all without asking + 不询问终止所有 + + + The selected window is running as part of program %1 in sandbox %2 + 选择的窗口正作为程序 %1 一部分运行在 %2 中 + + + The selected window is not running as part of any sandboxed program. + 选择的窗口没有作为任何沙盒化程序的一部分运行 + + + Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. + 拖动查找工具到一个窗口上去选择,然后松开鼠标检查窗口是否沙盒化 + + + Sandboxie-Plus - Window Finder + Sandboxie-Plus - 窗口查找器 + + + Default sandbox not found; creating: %1 + + + + <p>Do you want to go to the <a href="%1">info page</a>?</p> + + + + Don't show this message anymore. + + + + + CSbieModel + + Name + 名称 + + + Box Groupe + 沙盒组 + + + Status + 状态 + + + Path / Command Line + 路径 / 命令行 + + + Start Time + 开始时间 + + + Process ID + 进程ID + + + Title + 标题 + + + + CSbieProcess + + Terminated + 终止 + + + Running + 运行 + + + + CSbieView + + Run + 运行 + + + Create Shortcut to sandbox %1 + 为沙盒 %1 创建快捷方式 + + + Options: + + 选项: + + + + Drop Admin Rights + 撤销管理员权限 + + + Run eMail Client + 运行邮件客户端 + + + Remove Group + 删除组 + + + Sandbox Options + 沙盒选项 + + + Sandbox Presets + 沙盒预置 + + + Do you want to %1 the selected process(es) + 确定要 %1 所选进程 + + + Move to Group + 移动到组 + + + Remove Sandbox + 删除沙盒 + + + Rename Sandbox + 重命名沙盒 + + + Run from Start Menu + 在开始菜单运行 + + + Preset + 预置 + + + Please enter a new group name + 请输入新的组名 + + + Enable API Call logging + 启用API调用日志 + + + [None] + [无] + + + Please enter a new name for the Sandbox. + 请为沙盒输入新名称 + + + Add Group + 添加组 + + + Delete Content + 删除内容 + + + Create Shortcut + 创建快捷方式 + + + Do you really want to remove the selected sandbox(es)? + 确定要删除所选沙盒吗 + + + Run Program + 运行程序 + + + IPC root: %1 + + IPC根目录: %1 + + + + Block and Terminate + 阻止并终止 + + + Registry root: %1 + + 注册表根目录: %1 + + + + File root: %1 + + 文件根目录: %1 + + + + Terminate + 终止 + + + Set Leader Process + 设置先导进程 + + + Terminate All Programs + 终止所有程序 + + + Do you really want to remove the selected group(s)? + 确定要删除所选组吗? + + + Run Web Browser + 运行网页浏览器 + + + Force into this sandbox + 强制入此沙盒 + + + Allow Network Shares + 允许网络共享 + + + Run Cmd.exe + 运行Cmd.exe + + + Snapshots Manager + 快照管理 + + + Run Explorer + 运行资源管理器 + + + Block Internet Access + 禁止网络访问 + + + Set Linger Process + 设置驻留进程 + + + Create New Box + 创建新沙盒 + + + Pin to Run Menu + 固定到运行菜单 + + + Recover Files + 恢复文件 + + + This box does not have Internet restrictions in place, do you want to enable them? + 此沙盒无互联网限制,确定要启用它们吗? + + + Explore Content + 浏览内容 + + + Allow internet access + 允许网络访问 + + + Don't show this message again. + 不再显示此消息 + + + This Sandbox is already empty. + 此沙盒已空. + + + Do you want to delete the content of the selected sandbox? + 您确定要删除所选沙盒的内容? + + + Do you really want to delete the content of multiple sandboxes? + 您确定要删除多个沙盒的内容? + + + Do you want to terminate all processes in the selected sandbox(es)? + 您确定终止所选沙盒中的所有进程吗? + + + This sandbox is disabled, do you want to enable it? + 此沙盒被禁用,您确定启用吗? + + + A group can not be its own parent. + + + + This Sandbox is empty. + + + + + CSettingsWindow + + Close + 关闭 + + + Please enter the new configuration password. + 请输入新配置密码. + + + Close to Tray + 关闭到托盘 + + + Select Directory + 选择目录 + + + Please enter a program file name + 请输入程序文件名 + + + Folder + 文件夹 + + + Prompt before Close + 关闭前提示 + + + Process + 进程 + + + Sandboxie Plus - Settings + Sandboxie Plus - 设置 + + + Please re-enter the new configuration password. + 请再次输入新配置密码. + + + Passwords did not match, please retry. + 密码不正确,请重新输入. + + + Auto Detection + + + + + CSnapshotsWindow + + Do you really want to delete the selected snapshot? + 确定要删除所选快照? + + + New Snapshot + 新快照 + + + Snapshot + 快照 + + + Do you really want to switch the active snapshot? Doing so will delete the current state! + 确定要切换正在使用的快照? 这样做会删除当前状态! + + + %1 - Snapshots + %1 - 快照 + + + Please enter a name for the new Snapshot. + 请输入新快照名称. + + + + NewBoxWindow + + Copy options from an existing box: + 从已有沙盒复制选项: + + + Initial sandbox configuration: + 初始沙盒配置: + + + Select restriction/isolation template: + 选择限制/隔离模板: + + + SandboxiePlus new box + SandboxiePlus新沙盒 + + + Sandbox Name: + 沙盒名称: + + + + OptionsWindow + + Name + 名称 + + + Path + 路径 + + + Save + 保存 + + + Type + 类型 + + + Allow only selected programs to start in this sandbox. * + 仅允许被选择的程序在此沙盒中启动. * + + + Force Folder + 强制运行文件夹 + + + Add IPC Path + 添加IPC路径 + + + Sandbox Indicator in title: + 在标题显示沙盒标记: + + + Debug + 调试 + + + Users + 用户 + + + <- for this one the above does not apply + <- 因此原因以上不适用 + + + Block network files and folders, unless specifically opened. + 禁用网络文件和文件夹,除非专门打开. + + + Command Line + 命令行 + + + Don't alter window class names created by sandboxed programs + 不要改变由沙盒程序创建的窗口类名 + + + Prevent change to network and firewall parameters + 阻止更改网络和防火墙参数 + + + Internet Restrictions + 联网限制 + + + 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. + 配置进程所访问的资源. 双击进入编辑. +'管理' 文件和键值仅适用于沙盒外的程序二进制文件. +注意所有都将关闭...=!<program>,... 例外也有相同限制. +文件访问可使用 '管理全部' 使其适用于所有程序. + + + Log Debug Output to the Trace Log + 日志调试输出到追踪日志 + + + Forced Programs + 强制运行程序 + + + Add Wnd Class + 添加窗口类 + + + Access Tracing + 访问追踪 + + + File Options + 文件选项 + + + General Options + 通用选项 + + + Open Windows Credentials Store + 打开系统证书库 + + + kilobytes + kb + + + 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. + 如果其他所有程序已经终止后,驻留程序仍在运行,将自动终止. + +如果引导进程已确定, 其他将被当成驻留进程. + + + Allow all programs to start in this sandbox. + 允许所有程序在此沙盒中启动. + + + Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. + 启用快速恢复提示以便创建文件时能尽快恢复. + + + General restrictions + 通用限制 + + + Move Up + 上移 + + + Access + 访问 + + + These options are intended for debugging compatibility issues, please do not use them in production use. + 这些选项是计划调试设备而设计的,在日常使用时请不要使用. + + + Text Filter + 文本过滤 + + + Cancel + 取消 + + + Restrict Resource Access monitor to administrators only + 限制资源访问监视器仅限管理员 + + + Protect the sandbox integrity itself + 沙盒完整性保护 + + + Add Folder + 添加文件夹 + + + Prompt user whether to allow an exemption from the blockade. + 提示用户是否允许例外免于封锁. + + + IPC Trace + IPC追踪 + + + Limit access to the emulated service control manager to privileged processes + 限制访问模拟服务控制管理器来提权进程 + + + Remove + 删除 + + + Add File/Folder + 添加文件/文件夹 + + + Block internet access for all programs except those added to the list. + 禁止所有程序访问网络,这些添加到清单里的除外 + + + Issue message 1307 when a program is denied internet access + 错误代码1307,程序被拒绝网络访问 + + + Compatibility + 兼容性 + + + Stop Behaviour + 停止行为 + + + Note: Programs installed to this sandbox won't be able to access the internet at all. + 注意: 安装在此沙盒里程序将完全无法访问网络. + + + Box Options + 沙盒选项 + + + Don't allow sandboxed processes to see processes running in other boxes + 不允许沙盒化的进程查看其他沙盒里进程的运行 + + + Add Group + 添加组 + + + Sandboxed window border: + 沙盒化窗口边框: + + + Prevent selected programs from starting in this sandbox. + 阻止所选程序在此沙盒中启动. + + + Miscellaneous + 其他 + + + Issue message 2102 when a file is too large + 问题代码2102,文件太大 + + + File Recovery + 文件恢复 + + + Box Delete options + 沙盒删除选项 + + + Pipe Trace + Pipe追踪 + + + File Trace + 文件追踪 + + + Program + 程序 + + + Add Process + 添加进程 + + + Add Program + 添加程序 + + + Filter Categories + 筛选类别 + + + Copy file size limit: + 复制文件大小限制: + + + Open System Protected Storage + 开放系统保护存储 + + + Protect the system from sandboxed processes + 保护系统来自沙盒化的进程 + + + Add Leader Program + 添加引导程序 + + + SandboxiePlus Options + SandboxiePlus选项 + + + Category + 类别 + + + Drop rights from Administrators and Power Users groups + 撤销管理员和超级用户组的权限 + + + Add Reg Key + 添加注册表键值 + + + Sandbox protection + 沙盒保护 + + + 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. + 您可将程序分组并且给它们组名.程序组可以代替程序名被用于一些设置. + + + Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes + 保护沙盒化系统进程来自未授权的未沙盒化的进程 + + + COM Class Trace + COM组件追踪 + + + Add Command + 添加命令 + + + Hide Processes + 隐藏进程 + + + When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. + 当快速恢复功能被调用,下列文件夹将被检查沙盒化内容. + + + px Width + 宽度 + + + Add User + 添加用户 + + + Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. + 此处输入的程序,或指定位置启动的程序,将自动入此沙盒,除非它们明确在其他沙盒启动. + + + Force Program + 强制运行程序 + + + WARNING, these options can disable core security guarantees and break sandbox security!!! + 警告,这些选项可以使核心安全保障失效并且破坏沙盒安全!!! + + + Edit ini + 编辑ini + + + Show Templates + 显示模板 + + + Ignore Folder + 忽略文件夹 + + + GUI Trace + GUI追踪 + + + Key Trace + 键值追踪 + + + Tracing + 追踪 + + + Appearance + 外观 + + + Add sandboxed processes to job objects (recommended) + 添加沙盒化进程到作业对象(建议) + + + Remove Program + 删除程序 + + + You can exclude folders and file types (or file extensions) from Immediate Recovery. + 您可从快速恢复中排除文件夹和文件类型 (或文件扩展名) . + + + Run Menu + 运行菜单 + + + App Templates + 应用程序模板 + + + Remove User + 删除用户 + + + Ignore Extension + 忽略扩展名 + + + Move Down + 下移 + + + Protect this sandbox from deletion or emptying + 保护此沙盒删除或清空 + + + 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. + 添加用户账户和用户组到下面清单中来仅限这些账户使用沙盒. 如果清单内容为空,所有账户均可使用沙盒. + +注意: 沙盒的强制运行程序和强制运行文件夹设置不接受不能运行沙盘的账户. + + + * Note: Programs installed to this sandbox won't be able to start at all. + * 注意: 安装在此沙盒里的程序将完全无法启动. + + + This list contains a large amount of sandbox compatibility enhancing templates + 此清单包含大量沙盒兼容性增强模板 + + + Add Lingering Program + 添加驻留程序 + + + Program Groups + 程序组 + + + Issue message 1308 when a program fails to start + 错误代码1308,程序启动失败 + + + Resource Access + 资源访问 + + + Advanced Options + 高级选项 + + + Hide host processes from processes running in the sandbox. + 隐藏沙盒中运行进程的主进程. + + + File Migration + 文件迁移 + + + Auto delete content when last sandboxed process terminates + 上一次沙盒化的进程终止后自动删除内容 + + + Add COM Object + 添加COM对象 + + + You can configure custom entries for the sandbox run menu. + 您可为沙盒运行菜单配置自定义条目. + + + Start Restrictions + 启动限制 + + + Force usage of custom dummy Manifest files (legacy behaviour) + 强制使用自定义虚拟Manifest文件(遗留行为) + + + Edit ini Section + 编辑ini部分 + + + Block access to the printer spooler + 阻止访问打印服务 + + + Allow the print spooler to print to files outside the sandbox + 允许打印服务在沙盒外打印文件 + + + Printing + 打印 + + + Remove spooler restriction, printers can be installed outside the sandbox + 移除打印限制,打印机可以在沙盒外安装 + + + Add program + 添加程序 + + + Auto Start + 自动启动 + + + Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated + 这里您可以详列将在沙盒中自动启动的程序或服务,当它被激活时 + + + Add service + 添加服务 + + + Do not start sandboxed services using a system token (recommended) + 不启动使用系统令牌的沙盒化服务 (建议) + + + Allow access to Smart Cards + 允许访问智能卡 + + + Lift security restrictions + 提升安全限制 + + + Sandbox isolation + 沙盒隔离 + + + Auto Exec + 自动运行 + + + Here you can specify a list of commands that are executed every time the sandbox is initially populated. + 这里您可以详列每次沙盒启动被执行的命令清单. + + + 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 "*". + 将驱动程序看到的所有访问事件记录到资源访问日志中. + +这些选项设置事件标记到 "*" - 所有访问事件 +您可以通过ini来详细定制记录 +"A" - 允许访问 +"D" - 拒绝访问 +"I" - 忽略拒绝请求 +代替 "*". + + + Allow access to Bluetooth + + + + + PopUpWindow + + SandboxiePlus Notifications + SandboxiePlus通知 + + + + QObject + + Drive %1 + 磁盘 %1 + + + + QPlatformTheme + + OK + 确定 + + + Apply + 应用 + + + Cancel + 取消 + + + &Yes + &是 + + + &No + &否 + + + + RecoveryWindow + + Close + 关闭 + + + SandboxiePlus Settings + SandboxiePlus设置 + + + Add Folder + 添加文件夹 + + + Recover to + 恢复到 + + + Recover + 恢复 + + + Refresh + 刷新 + + + Delete all + 删除全部 + + + Show All Files + 显示所有文件 + + + TextLabel + 文本标签 + + + SandboxiePlus - Recovery + + + + + SettingsWindow + + Name + 名称 + + + Path + 路径 + + + Change Password + 更改密码 + + + Clear password when main window becomes hidden + 主窗口隐藏时清除密码 + + + SandboxiePlus Settings + SandboxiePlus设置 + + + Password must be entered in order to make changes + 必须输入密码以便进行更改 + + + Check periodically for updates of Sandboxie-Plus + 定期检查Sandboxie-Plus的更新 + + + General Options + 通用选项 + + + Program Restrictions + 程序限制 + + + Restart required (!) + 需要重启 (!) + + + Tray options + 磁盘选项 + + + Use Dark Theme + 使用暗主题 + + + Enable + 启用 + + + Add Folder + 添加文件夹 + + + Only Administrator user accounts can make changes + 仅限管理员账户更改 + + + Config protection + 配置保护 + + + Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: + 沙盒 <a href="sbie://docs/keyrootpath">注册表根目录</a>: + + + Add Program + 添加程序 + + + 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. + 沙盒在您系统中检测到下列软件程序. 点击 确定 接受配置设置,将增强这些软件程序的兼容性.这些配置设置将影响所有已存在的沙盒和任何新沙盒. + + + Watch Sandboxie.ini for changes + 查看Sandboxie.ini变更 + + + Show Sys-Tray + 系统托盘显示 + + + Open urls from this ui sandboxed + 在此用户界面打开的链接均沙盒化 + + + In the future, don't check software compatibility + 以后,不再检查软件兼容性 + + + Disable + 禁用 + + + When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301. + 当下列程序在任意沙盒之外启动时, Sandboxie将出现错误代码SBIE1301. + + + Remove Program + 删除程序 + + + Software Compatibility + 软件兼容性 + + + On main window close: + 主窗体关闭时: + + + Add 'Run Sandboxed' to the explorer context menu + 在资源管理器添加'在沙盒中运行' + + + Issue message 1308 when a program fails to start + 错误代码1308,程序启动失败 + + + Sandbox default + 沙盒预置 + + + Separate user folders + 独立用户文件夹 + + + Advanced Options + 高级选项 + + + Prevent the listed programs from starting on this system + 阻止列表程序在此系统中启动 + + + Only Administrator user accounts can use Disable Forced Programs command + 仅管理员账户可使用禁用强制运行程序命令 + + + Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: + 沙盒 <a href="sbie://docs/ipcrootpath">ipc根目录</a>: + + + Show Notifications for relevant log Messages + 显示相关日志信息的通知 + + + Sandbox <a href="sbie://docs/filerootpath">file system root</a>: + 沙盒 <a href="sbie://docs/filerootpath">文件系统根目录</a>: + + + Portable root folder + 便携化根目录 + + + Start UI with Windows + 开机启动UI + + + Start UI when a sandboxed process is started + 当沙盒进程启动时启动UI + + + Show first recovery window when emptying sandboxes + 当清空沙盒时显示第一个恢复窗口 + + + ... + ... + + + Other settings + 其他设置 + + + + SnapshotsWindow + + Name: + 名称: + + + Remove Snapshot + 删除快照 + + + SandboxiePlus Settings + SandboxiePlus设置 + + + Description: + 说明: + + + Go to Snapshot + 进入快照 + + + Take Snapshot + 抓取快照 + + + Selected Snapshot Details + 所选快照详情 + + + Snapshot Actions + 快照行为 + + + SandboxiePlus - Snapshots + + + + From c14908f327067e62f79dc2ed687f9b2e0c16decc Mon Sep 17 00:00:00 2001 From: DavidXanatos Date: Tue, 2 Feb 2021 13:21:21 +0100 Subject: [PATCH 07/30] --- SandboxiePlus/SandMan/SandMan.qc.pro | 2 +- SandboxiePlus/SandMan/SandMan.vcxproj | 2 +- SandboxiePlus/SandMan/SandMan.vcxproj.filters | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/SandboxiePlus/SandMan/SandMan.qc.pro b/SandboxiePlus/SandMan/SandMan.qc.pro index 9031cd5a..7f2fda65 100644 --- a/SandboxiePlus/SandMan/SandMan.qc.pro +++ b/SandboxiePlus/SandMan/SandMan.qc.pro @@ -41,5 +41,5 @@ TRANSLATIONS += sandman_de.ts \ sandman_ru.ts \ sandman_pl.ts \ sandman_tr.ts \ - sandman_zh.ts \ + sandman_zh-CN.ts \ sandman_zh-TW.ts diff --git a/SandboxiePlus/SandMan/SandMan.vcxproj b/SandboxiePlus/SandMan/SandMan.vcxproj index e1c9f4e0..27c44ebe 100644 --- a/SandboxiePlus/SandMan/SandMan.vcxproj +++ b/SandboxiePlus/SandMan/SandMan.vcxproj @@ -264,7 +264,7 @@ - + diff --git a/SandboxiePlus/SandMan/SandMan.vcxproj.filters b/SandboxiePlus/SandMan/SandMan.vcxproj.filters index c97db4f7..eff8f684 100644 --- a/SandboxiePlus/SandMan/SandMan.vcxproj.filters +++ b/SandboxiePlus/SandMan/SandMan.vcxproj.filters @@ -210,9 +210,6 @@ Translation Files - - Translation Files - Resource Files @@ -225,6 +222,9 @@ Translation Files + + Translation Files + From 34689f5ae9dbc2879cd26616ae344ee79a59e116 Mon Sep 17 00:00:00 2001 From: DavidXanatos Date: Tue, 2 Feb 2021 13:28:04 +0100 Subject: [PATCH 08/30] --- SandboxiePlus/SandMan/sandman_zh-CN.ts | 62 +++++++++++++------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/SandboxiePlus/SandMan/sandman_zh-CN.ts b/SandboxiePlus/SandMan/sandman_zh-CN.ts index 6db4d156..c7966359 100644 --- a/SandboxiePlus/SandMan/sandman_zh-CN.ts +++ b/SandboxiePlus/SandMan/sandman_zh-CN.ts @@ -234,51 +234,51 @@ Direct - + 直接访问 Direct All - + 直接访问全部 Closed - + 关闭 Closed RT - + 关闭RT Read Only - + 只读 Hidden - + 隐藏 Unknown - 未知 + 未知 File/Folder - + 文件/文件夹 Registry - + 注册表 IPC Path - + IPC路径 Wnd Class - + 窗口类 COM Object - + COM组件 @@ -430,25 +430,25 @@ 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 @@ -1157,15 +1157,15 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Default sandbox not found; creating: %1 - + 默认沙盒未发现,正在创建: %1 <p>Do you want to go to the <a href="%1">info page</a>?</p> - + <p>您确定前往 < "%1">信息页</a>?</p> Don't show this message anymore. - + 不再显示此信息 @@ -1426,11 +1426,11 @@ Please download the latest release and set it up with the Sandboxie.ini as instr A group can not be its own parent. - + 组不能是自己的父级 This Sandbox is empty. - + 此沙盒是空的 @@ -1481,7 +1481,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Auto Detection - + 自动检测 @@ -2082,7 +2082,7 @@ instead of "*". Allow access to Bluetooth - + 允许访问蓝牙 @@ -2103,23 +2103,23 @@ instead of "*". QPlatformTheme OK - 确定 + 确定 Apply - 应用 + 应用 Cancel - 取消 + 取消 &Yes - &是 + &是 &No - &否 + &否 @@ -2130,7 +2130,7 @@ instead of "*". SandboxiePlus Settings - SandboxiePlus设置 + SandboxiePlus设置 Add Folder @@ -2162,7 +2162,7 @@ instead of "*". SandboxiePlus - Recovery - + SandboxiePlus - 恢复 @@ -2380,7 +2380,7 @@ instead of "*". SandboxiePlus - Snapshots - + SandboxiePlus - 快照 From 9119ff0b8dacbe67e53864239f3bd5053d18fa08 Mon Sep 17 00:00:00 2001 From: DavidXanatos Date: Tue, 2 Feb 2021 13:33:47 +0100 Subject: [PATCH 09/30] --- SandboxiePlus/QSbieAPI/QSbieAPI.qc.pro | 3 + SandboxiePlus/QSbieAPI/QSbieAPI.rc | 68 +++++++++++++++++++ SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj | 4 ++ .../QSbieAPI/QSbieAPI.vcxproj.filters | 8 +++ SandboxiePlus/QSbieAPI/resource.h | 17 +++++ SandboxiePlus/SandMan/SandMan.pri | 13 ++-- SandboxiePlus/SandMan/SandMan.qc.pro | 9 +-- SandboxiePlus/SandMan/SandMan.rc | 16 +++-- SandboxiePlus/version.h | 19 ++++++ 9 files changed, 137 insertions(+), 20 deletions(-) create mode 100644 SandboxiePlus/QSbieAPI/QSbieAPI.rc create mode 100644 SandboxiePlus/QSbieAPI/resource.h create mode 100644 SandboxiePlus/version.h diff --git a/SandboxiePlus/QSbieAPI/QSbieAPI.qc.pro b/SandboxiePlus/QSbieAPI/QSbieAPI.qc.pro index f840c5cd..3f74daa0 100644 --- a/SandboxiePlus/QSbieAPI/QSbieAPI.qc.pro +++ b/SandboxiePlus/QSbieAPI/QSbieAPI.qc.pro @@ -33,3 +33,6 @@ DEPENDPATH += . include(QSbieAPI.pri) + +win32:RC_FILE = QSbieAPI.rc + diff --git a/SandboxiePlus/QSbieAPI/QSbieAPI.rc b/SandboxiePlus/QSbieAPI/QSbieAPI.rc new file mode 100644 index 00000000..a5ad0394 --- /dev/null +++ b/SandboxiePlus/QSbieAPI/QSbieAPI.rc @@ -0,0 +1,68 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" +///////////////////////////////////////////////////////////////////////////// +// German (Austria) resources + +#include "winres.h" + +#include "../version.h" + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEA) +LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN +#pragma code_page(1252) + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_BIN + PRODUCTVERSION VERSION_BIN + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0c0704b0" + BEGIN + VALUE "CompanyName", MY_COMPANY_NAME_STRING + VALUE "FileDescription", "Sandboxie API for Qt" + VALUE "FileVersion", VERSION_STR + VALUE "InternalName", "QSbieAPI.dll" + VALUE "LegalCopyright", MY_COPYRIGHT_STRING + VALUE "OriginalFilename", "QSbieAPI.dll" + VALUE "ProductName", MY_PRODUCT_NAME_STRING + VALUE "ProductVersion", VERSION_STR + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0xc07, 1200 + END +END + +#endif // German (Austria) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj b/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj index c33c6785..3c136953 100644 --- a/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj +++ b/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj @@ -214,11 +214,15 @@ + + + + diff --git a/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj.filters b/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj.filters index ffd20bf9..5dcb8277 100644 --- a/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj.filters +++ b/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj.filters @@ -74,6 +74,9 @@ Helpers + + Resource Files + @@ -103,4 +106,9 @@ Sandboxie + + + Resource Files + + \ No newline at end of file diff --git a/SandboxiePlus/QSbieAPI/resource.h b/SandboxiePlus/QSbieAPI/resource.h new file mode 100644 index 00000000..43ea6a21 --- /dev/null +++ b/SandboxiePlus/QSbieAPI/resource.h @@ -0,0 +1,17 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by SandMan.rc +// +#define VS_VERSION_INFO 1 +#define IDC_STATIC -1 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/SandboxiePlus/SandMan/SandMan.pri b/SandboxiePlus/SandMan/SandMan.pri index 99bac872..8fdd8514 100644 --- a/SandboxiePlus/SandMan/SandMan.pri +++ b/SandboxiePlus/SandMan/SandMan.pri @@ -48,11 +48,12 @@ FORMS += ./Forms/NewBoxWindow.ui \ ./Forms/SettingsWindow.ui \ ./Forms/SnapshotsWindow.ui -TRANSLATIONS += ./sandman_de.ts \ - ./sandman_pt.ts \ - ./sandman_ru.ts \ - ./sandman_tr.ts \ - ./sandman_zh.ts \ - ./sandman_zh-TW.ts +TRANSLATIONS += sandman_de.ts \ + sandman_pt.ts \ + sandman_ru.ts \ + sandman_pl.ts \ + sandman_tr.ts \ + sandman_zh-CN.ts \ + sandman_zh-TW.ts RESOURCES += Resources/SandMan.qrc diff --git a/SandboxiePlus/SandMan/SandMan.qc.pro b/SandboxiePlus/SandMan/SandMan.qc.pro index 7f2fda65..c34132d8 100644 --- a/SandboxiePlus/SandMan/SandMan.qc.pro +++ b/SandboxiePlus/SandMan/SandMan.qc.pro @@ -34,12 +34,7 @@ RCC_DIR += . include(SandMan.pri) + win32:RC_FILE = SandMan.rc -TRANSLATIONS += sandman_de.ts \ - sandman_pt.ts \ - sandman_ru.ts \ - sandman_pl.ts \ - sandman_tr.ts \ - sandman_zh-CN.ts \ - sandman_zh-TW.ts + diff --git a/SandboxiePlus/SandMan/SandMan.rc b/SandboxiePlus/SandMan/SandMan.rc index ecc13ab3..128b433e 100644 --- a/SandboxiePlus/SandMan/SandMan.rc +++ b/SandboxiePlus/SandMan/SandMan.rc @@ -6,6 +6,8 @@ #include "winres.h" +#include "../version.h" + #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEA) LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN #pragma code_page(1252) @@ -69,8 +71,8 @@ FINDER_CURSOR CURSOR "./resources/finder.cur" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,6,5,0 - PRODUCTVERSION 0,6,5,0 + FILEVERSION VERSION_BIN + PRODUCTVERSION VERSION_BIN FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -85,14 +87,14 @@ BEGIN BEGIN BLOCK "0c0704b0" BEGIN - //VALUE "CompanyName", "xanasoft.net" + VALUE "CompanyName", MY_COMPANY_NAME_STRING VALUE "FileDescription", "SandBox Manager" - VALUE "FileVersion", "0.6.5.0" + VALUE "FileVersion", VERSION_STR VALUE "InternalName", "SandMan.exe" - VALUE "LegalCopyright", "Copyright (C) 2020-2021 by David Xanatos (xanasoft.com)" + VALUE "LegalCopyright", MY_COPYRIGHT_STRING VALUE "OriginalFilename", "SandMan.exe" - VALUE "ProductName", "SandBox Manager" - VALUE "ProductVersion", "0.6.5.0" + VALUE "ProductName", MY_PRODUCT_NAME_STRING + VALUE "ProductVersion", VERSION_STR END END BLOCK "VarFileInfo" diff --git a/SandboxiePlus/version.h b/SandboxiePlus/version.h new file mode 100644 index 00000000..db6cb0c7 --- /dev/null +++ b/SandboxiePlus/version.h @@ -0,0 +1,19 @@ +#pragma once + +#define VERSION_MJR 0 +#define VERSION_MIN 6 +#define VERSION_REV 7 +#define VERSION_UPD 0 + +#ifndef STR +#define STR2(X) #X +#define STR(X) STR2(X) +#endif + +#define VERSION_BIN VERSION_MJR,VERSION_MIN,VERSION_REV,VERSION_UPD +#define VERSION_STR STR(VERSION_MJR.VERSION_MIN.VERSION_REV.VERSION_UPD) + +#define MY_PRODUCT_NAME_STRING "Sandboxie-Plus" +#define MY_COMPANY_NAME_STRING "sandboxie-plus.com" +#define MY_COPYRIGHT_STRING "Copyright (C) 2020-2021 by David Xanatos (xanasoft.com)" + From 56f1abadadacf2da2adbb118af4af89790a4b2b9 Mon Sep 17 00:00:00 2001 From: isaak654 Date: Tue, 2 Feb 2021 16:17:03 +0100 Subject: [PATCH 10/30] Update AppPage.cpp --- Sandboxie/apps/control/AppPage.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sandboxie/apps/control/AppPage.cpp b/Sandboxie/apps/control/AppPage.cpp index 693e3a70..ba517a47 100644 --- a/Sandboxie/apps/control/AppPage.cpp +++ b/Sandboxie/apps/control/AppPage.cpp @@ -148,11 +148,11 @@ CAppPage::CAppPage(TMPL_INFO *info, const CString &BoxName) if (m_tmpl_info.ClassModifier & MODIF_IEXPLORE) m_titleForPage = L"Internet Explorer"; if (m_tmpl_info.ClassModifier & MODIF_EDGE) - m_titleForPage = "Microsoft Edge"; + m_titleForPage = L"Microsoft Edge"; if (m_tmpl_info.ClassModifier & MODIF_FIREFOX) - m_titleForPage = L"Firefox"; + m_titleForPage = L"Mozilla Firefox"; if (m_tmpl_info.ClassModifier & MODIF_CHROME) - m_titleForPage = "Google Chrome"; + m_titleForPage = L"Google Chrome"; if (m_tmpl_info.ClassModifier & MODIF_OTHERWB) m_titleForPage = CMyMsg(MSG_4357); @@ -1002,7 +1002,7 @@ void CAppPage::AddPages(CPropertySheet &sheet, const CString &BoxName) m_app_pages.AddTail(new CAppPage(&info, BoxName)); info.ClassModifier = MODIF_EDGE; // Microsoft Edge m_app_pages.AddTail(new CAppPage(&info, BoxName)); - info.ClassModifier = MODIF_FIREFOX; // Firefox + info.ClassModifier = MODIF_FIREFOX; // Mozilla Firefox m_app_pages.AddTail(new CAppPage(&info, BoxName)); info.WithLink = TRUE; info.ClassModifier |= MODIF_ADDONS; // Firefox Add-ons From 2c4904e8aabf97cc8d35677d45189fd8c14e069d Mon Sep 17 00:00:00 2001 From: lufog Date: Tue, 2 Feb 2021 20:11:10 +0300 Subject: [PATCH 11/30] Updated Russian translation --- SandboxiePlus/SandMan/sandman_ru.ts | 80 +++++++++++------------------ 1 file changed, 30 insertions(+), 50 deletions(-) diff --git a/SandboxiePlus/SandMan/sandman_ru.ts b/SandboxiePlus/SandMan/sandman_ru.ts index 541dfeb9..0b38bf80 100644 --- a/SandboxiePlus/SandMan/sandman_ru.ts +++ b/SandboxiePlus/SandMan/sandman_ru.ts @@ -235,51 +235,51 @@ Direct - + Прямой Direct All - + Прямой для всех Closed - + Закрытый Closed RT - + Закрытый RT Read Only - + Только чтение Hidden - + Скрытый Unknown - Неизвестно + Неизвестно File/Folder - + Файл/Папка Registry - + Реестр IPC Path - + Путь IPC Wnd Class - + Wnd класс COM Object - + COM объект @@ -431,47 +431,27 @@ 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 @@ -1158,15 +1138,15 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Default sandbox not found; creating: %1 - + Песочница по умолчанию не найдена; создание: %1 <p>Do you want to go to the <a href="%1">info page</a>?</p> - + <p>Вы хотите перейти на <a href="%1">страницу с информацией</a>?</p> Don't show this message anymore. - + Больше не показывать это сообщение. @@ -1428,11 +1408,11 @@ Please download the latest release and set it up with the Sandboxie.ini as instr This Sandbox is empty. - + Эта песочница пуста. A group can not be its own parent. - + Группа не может быть собственным родителем. @@ -1483,7 +1463,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Auto Detection - + Автоопределение @@ -2085,7 +2065,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Allow access to Bluetooth - + Разрешить доступ к Bluetooth @@ -2106,23 +2086,23 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to QPlatformTheme Cancel - Отмена + Отмена Apply - Применить + Применить OK - ОК + ОК &Yes - &Да + &Да &No - &Нет + &Нет @@ -2165,7 +2145,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to SandboxiePlus - Recovery - + SandboxiePlus - Восстановление @@ -2383,7 +2363,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to SandboxiePlus - Snapshots - + SandboxiePlus - Снимки From e3a546c656427d3a291f8670375b93669ea06358 Mon Sep 17 00:00:00 2001 From: xorcan Date: Thu, 4 Feb 2021 01:40:19 +0300 Subject: [PATCH 12/30] updated Turkish translate --- SandboxiePlus/SandMan/sandman_tr.ts | 190 +++++++++++----------------- 1 file changed, 75 insertions(+), 115 deletions(-) diff --git a/SandboxiePlus/SandMan/sandman_tr.ts b/SandboxiePlus/SandMan/sandman_tr.ts index a064421c..0351ebde 100644 --- a/SandboxiePlus/SandMan/sandman_tr.ts +++ b/SandboxiePlus/SandMan/sandman_tr.ts @@ -41,17 +41,13 @@ Default Öntanımlı - - Legacy (old sbie behaviour) - Eski (eski sbie davranışı) - Sandboxie-Plus - Create New Box - + Sandboxie-Plus - Yeni KumKutusu Legacy Sandboxie Behaviour - + Eski Sandboxie Davranışı @@ -239,51 +235,51 @@ Direct - + Yönlendir Direct All - + Tümünü Yönlendir Closed - + Kapalı Closed RT - + Kapalı RT Read Only - + Salt Okunur Hidden - + Gizli Unknown - Bilinmeyen + Bilinmeyen File/Folder - + Dosya/Dizin Registry - + Kayıt IPC Path - + IPC Yolu Wnd Class - + Wnd Sınıfı COM Object - + COM Objesi @@ -435,47 +431,27 @@ 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 @@ -571,7 +547,7 @@ Full path: %4 Disabled - + Devre dışı @@ -610,7 +586,7 @@ Full path: %4 About Sandboxie-Plus - Sandboxie-Plus Hakkında + Sandboxie-Plus hakkında Driver version: %1 @@ -638,7 +614,7 @@ Full path: %4 Visit Support Forum - Destek Forumu'tnu ziyaret et + Destek Forumu'nu ziyaret et Failed to copy configuration from sandbox %1: %2 @@ -840,7 +816,7 @@ Full path: %4 <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - <h3>Sandboxie-Plus Hakkında</h3><p>Sürüm %1</p><p>Telif hakkı (c) 2020-2021 DavidXanatos</p> + <h3>Sandboxie-Plus hakkında</h3><p>Sürüm %1</p><p>Telif hakkı (c) 2020-2021 DavidXanatos</p> Cleanup @@ -915,8 +891,8 @@ Full path: %4 %1: %2 korumalı kutusu silinemedi - <p>İndirme sayfasına <a href="%1">gitmek ister misiniz</a>?</p> - <p>Вы хотите перейти на <a href="%1">страницу загрузки</a>?</p> + <p>Do you want to go to the <a href="%1">download page</a>?</p> + <p>İndirme sayfasına <a href="%1">gitmek ister misiniz</a>?</p> Maintenance operation Successful @@ -988,7 +964,7 @@ Full path: %4 Reset all hidden messages - Tüm gizli mesajları sıfırla + Tüm gizlenmiş mesajları sıfırla - NOT connected @@ -1104,14 +1080,6 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Always on Top Her zaman üstte - - Sellect box: - Kutu Seç: - - - Some compatybility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? - Bazı uyumluluk şablonları (%1) eksik, büyük olasılıkla silinmiş, bunları tüm kutulardan kaldırmak istiyor musunuz? - Cleaned up removed templates... Kaldırılan şablonlar temizlendi... @@ -1126,63 +1094,59 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Reset Columns - + Sütunları Sıfırla Window Finder - + Pencere Bulucu Show Hidden Boxes - + Gizli Kutuları Göster Select box: - - - - Default sandbox not found; creating: %1 - + Kutu seç: Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? - + Bazı uyumluluk şablonları (%1) eksik, büyük olasılıkla silinmiş, bunları tüm kutulardan kaldırmak istiyor musunuz? Do you want to terminate all processes in all sandboxes? - + Tüm korumalı kutulardaki tüm işlemleri sonlandırmak istiyor musunuz? Terminate all without asking - + Hepsini sormadan sonlandır - <p>Do you want to go to the <a href="%1">info page</a>?</p> - - - - <p>Do you want to go to the <a href="%1">download page</a>?</p> - - - - Don't show this message anymore. - - - - The selected window is running as part of program %1 in sandbox %2 - + The selected window is running as part of program %1 in sandbox %2 + Seçilen pencere %2 kutusunda %1 programının bir parçası olarak çalışıyor The selected window is not running as part of any sandboxed program. - + Seçilen pencere, herhangi bir kutudaki programın parçası olarak çalışmıyor. Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. - + Bulucu Aracını seçmek için bir pencerenin üzerine sürükleyin, ardından pencerenin kumkutusunda olup olmadığını kontrol etmek için fareyi bırakın. Sandboxie-Plus - Window Finder - + Sandboxie-Plus - Pencere Bulucu + + + Default sandbox not found; creating: %1 + Öntanımlı kumkutusu bulunamadı; oluşturuluyor: %1 + + + <p>Do you want to go to the <a href="%1">info page</a>?</p> + <p>Bilgi sayfasına <a href="%1">ister misiniz</a>?</p> + + + Don't show this message anymore. + Artık bu mesajı gösterme. @@ -1213,7 +1177,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Title - + Başlık @@ -1245,7 +1209,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Drop Admin Rights - Yönetici haklarını bırak + Yönetici haklarını kaldır Run eMail Client @@ -1434,21 +1398,21 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Do you really want to delete the content of multiple sandboxes? Birden çok korumalı kutunun içeriğini gerçekten silmek istiyor musunuz? - - This Sandbox is empty. - - Do you want to terminate all processes in the selected sandbox(es)? - + Seçili kutu(lar)daki tüm işlemleri sonlandırmak istiyor musunuz? This sandbox is disabled, do you want to enable it? - + Bu kutu devre dışı, etkinleştirmek istiyor musunuz? + + + This Sandbox is empty. + Bu kumkutusu boş. A group can not be its own parent. - + Bir grup kendi ebeveyni olamaz. @@ -1499,7 +1463,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Auto Detection - + Otomatik Algıla @@ -1547,13 +1511,9 @@ Please download the latest release and set it up with the Sandboxie.ini as instr SandboxiePlus new box SandboxiePlus yeni kutu - - Enter a name for the new box: - Yeni kutu için bir ad girin: - Sandbox Name: - + KumKutusu Adı: @@ -1932,7 +1892,7 @@ Bu seçenekler olay maskesini "*" olarak ayarlar - Tüm erişim olayla Add sandboxed processes to job objects (recommended) - İş nesnelerine KumKutu'lu süreçler ekleyin (önerilir) + İş nesnelerine KumKutu'lu (korumalı kutu) süreçler ekle (önerilir) Remove Program @@ -2037,7 +1997,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle Prevent change to network and firewall parameters - Ağ ve güvenlik duvarı parametrelerinde değişikliği önleyin + Ağ ve güvenlik duvarı parametrelerinde değişikliği önle COM Class Trace @@ -2045,7 +2005,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle <- for this one the above does not apply - <- bunun için yukarıdakiler geçerli değildir + <- yukarıdakiler bunun için geçerli değildir Block access to the printer spooler @@ -2105,7 +2065,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle Allow access to Bluetooth - + Bluetooth erişimine izin ver @@ -2126,23 +2086,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 @@ -2185,7 +2145,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle SandboxiePlus - Recovery - + SandboxiePlus - Kurtarma @@ -2316,7 +2276,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle Prevent the listed programs from starting on this system - Listelenen programların bu sistemde başlamasını önleyin + Listelenen programların bu sistemde başlamasını önle Only Administrator user accounts can use Disable Forced Programs command @@ -2328,7 +2288,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle Open urls from this ui sandboxed - Bu kullanıcı arayüzündeki linkleri korumalı kutuda aç + Bu kullanıcı arayüzündeki (ui) linkleri korumalı kutuda aç Sandbox <a href="sbie://docs/filerootpath">file system root</a>: @@ -2348,11 +2308,11 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle Start UI with Windows - Windows başlangıcında kullanıcı arayüzünü başlat + Windows başlangıcında kullanıcı arayüzünü (ui) başlat Start UI when a sandboxed process is started - Korumalı kutuda bir işlem başladığında kullanıcı arayüzünü başlat + Korumalı kutuda bir işlem başladığında kullanıcı arayüzünü (ui) başlat Show first recovery window when emptying sandboxes @@ -2403,7 +2363,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle SandboxiePlus - Snapshots - + SandboxiePlus - Anlık Görüntüler From e2e021adc00191fcbe0d9c548ad6591053ea5d50 Mon Sep 17 00:00:00 2001 From: typpos <28550406+typpos@users.noreply.github.com> Date: Thu, 4 Feb 2021 18:39:54 +1100 Subject: [PATCH 13/30] (#526) Fix: CopyLimit overflows at 4GB. --- Sandboxie/core/dll/file_copy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sandboxie/core/dll/file_copy.c b/Sandboxie/core/dll/file_copy.c index a5aea353..ac69a42a 100644 --- a/Sandboxie/core/dll/file_copy.c +++ b/Sandboxie/core/dll/file_copy.c @@ -128,7 +128,7 @@ found_match: // if tere is no configuration for this file type/path decide based on the file size // - if (File_CopyLimitKb == -1 || file_size < (File_CopyLimitKb * 1024)) + if (File_CopyLimitKb == -1 || file_size < ((ULONGLONG)File_CopyLimitKb * 1024)) return FILE_COPY_CONTENT; // From 01a58ee9b00e1a1f194a4989b6564d1468cf2351 Mon Sep 17 00:00:00 2001 From: typpos <28550406+typpos@users.noreply.github.com> Date: Fri, 5 Feb 2021 04:46:54 +1100 Subject: [PATCH 14/30] Update Sandboxie/core/dll/file_copy.c Co-authored-by: isaak654 --- Sandboxie/core/dll/file_copy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sandboxie/core/dll/file_copy.c b/Sandboxie/core/dll/file_copy.c index ac69a42a..ef81350c 100644 --- a/Sandboxie/core/dll/file_copy.c +++ b/Sandboxie/core/dll/file_copy.c @@ -125,7 +125,7 @@ found_match: return mode; // - // if tere is no configuration for this file type/path decide based on the file size + // if there is no configuration for this file type/path, then decide based on the file size // if (File_CopyLimitKb == -1 || file_size < ((ULONGLONG)File_CopyLimitKb * 1024)) From 3ef31ea1846231748788c61431c0a506ef7ea089 Mon Sep 17 00:00:00 2001 From: JNylson Date: Fri, 5 Feb 2021 21:37:20 -0300 Subject: [PATCH 15/30] Update sandman_pt.ts --- SandboxiePlus/SandMan/sandman_pt.ts | 96 ++++++++++++++--------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/SandboxiePlus/SandMan/sandman_pt.ts b/SandboxiePlus/SandMan/sandman_pt.ts index ef7e761a..215cfd6b 100644 --- a/SandboxiePlus/SandMan/sandman_pt.ts +++ b/SandboxiePlus/SandMan/sandman_pt.ts @@ -37,7 +37,7 @@ Sandboxie-Plus - Create New Box - + Sandboxie-Plus - Criar Nova Caixa @@ -57,7 +57,7 @@ Legacy Sandboxie Behaviour - + Comportamento herdado de Sandboxie Legacy (old sbie behaviour) @@ -268,48 +268,48 @@ Direct - + Direto Direct All - + Direto Todos Closed - + Fechado Closed RT - + RT fechado Read Only - + Somente Leitura Hidden - + Oculto Unknown - Desconhecido + Desconhecido File/Folder - + Arquivo/Pasta Registry - + Registro @@ -319,12 +319,12 @@ Wnd Class - + COM Object - + Objeto COM @@ -551,38 +551,38 @@ - Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? + 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 - Deseja permitir que %4 (%5) copie um arquivo grande %1 para a caixa: %2? + Deseja permitir que %4 (%5) copie um arquivo grande %1 para a caixa: %2? Nome do arquivo: %3 - Do you want to allow %1 (%2) access to the internet? + 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 - Deseja permitir o acesso de %1 (%2) à Internet? + Deseja permitir o acesso de %1 (%2) à Internet? Caminho completo: %3 - %1 is eligible for quick recovery from %2. + %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 está qualificado para recuperação rápida de %2. + %1 está qualificado para recuperação rápida de %2. O arquivo foi gravado por: %3 - Migrating a large file %1 into the sandbox %2, %3 left. + 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 - Migrando um arquivo grande %1 para a caixa %2, %3 restante. + Migrando um arquivo grande %1 para a caixa %2, %3 restante. Caminho completo: %4 @@ -684,7 +684,7 @@ Caminho completo: %4 Disabled - + Desativado @@ -739,7 +739,7 @@ Caminho completo: %4 Reset Columns - + Redefinir Colunas @@ -806,7 +806,7 @@ Caminho completo: %4 Window Finder - + Localizador de Janelas @@ -901,7 +901,7 @@ Caminho completo: %4 Show Hidden Boxes - + Mostrar Caixas Ocultas @@ -1033,37 +1033,37 @@ Caminho completo: %4 Default sandbox not found; creating: %1 - + Caixa de areia padrão não encontrada; Criando: %1 <p>Do you want to go to the <a href="%1">info page</a>?</p> - + <p>Você quer ir para a <a href="%1">página de informações</a>?</p> Don't show this message anymore. - + Não mostre mais essa mensagem. The selected window is running as part of program %1 in sandbox %2 - + A janela selecionada está sendo executado como parte do programa %1 na caixa de areia %2 The selected window is not running as part of any sandboxed program. - + A janela selecionada não está sendo executado como parte de nenhum programa de caixa de areia. Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. - + Arraste o Localizador sobre uma janela para selecioná-la, em seguida, solte para verificar se a janela está em uma caixa. Sandboxie-Plus - Window Finder - + Sandboxie-Plus - Localizador de Janela Sellect box: @@ -1108,12 +1108,12 @@ Caminho completo: %4 Do you want to terminate all processes in all sandboxes? - + Você deseja encerrar todos os processos em todas as caixas? Terminate all without asking - + Finalizar tudo sem perguntar @@ -1368,7 +1368,7 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo Select box: - + Selecionar caixa: @@ -1378,7 +1378,7 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? - + Alguns modelos de compatibilidade (%1) estão faltando, provavelmente excluídos. Deseja removê-los de todas as caixas? @@ -1611,7 +1611,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Title - + Título @@ -1817,7 +1817,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme A group can not be its own parent. - + Um grupo não pode ser seu próprio pai. @@ -1828,7 +1828,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme This Sandbox is empty. - + Essa caixa está vazia. @@ -1848,7 +1848,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Do you want to terminate all processes in the selected sandbox(es)? - + Você deseja encerrar todos os processos na (s) caixa (s) selecionada (s)? @@ -1858,7 +1858,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme This sandbox is disabled, do you want to enable it? - + Essa caixa está desativada, deseja ativá-la? Suspend @@ -1950,7 +1950,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Auto Detection - + Detecção Automática @@ -2067,7 +2067,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Sandbox Name: - + Nome da Caixa: @@ -2712,7 +2712,7 @@ ao invés de "*". Allow access to Bluetooth - + Permitir acesso ao Bluetooth @@ -2827,7 +2827,7 @@ ao invés de "*". SandboxiePlus - Recovery SandboxiePlus Settings - Configurações Sandboxie Plus + Sandboxie Plus - Recuperar @@ -2847,7 +2847,7 @@ ao invés de "*". TextLabel - + @@ -3031,7 +3031,7 @@ ao invés de "*". ... - + @@ -3116,7 +3116,7 @@ ao invés de "*". SandboxiePlus - Snapshots SandboxiePlus Settings - Configurações do SandboxiePlus + SandboxiePlus - Instântaneos Snapshot Details From f6057cff7bebdd007fce46d085f923279b63f007 Mon Sep 17 00:00:00 2001 From: Stavros Ntentos <133706+stdedos@users.noreply.github.com> Date: Sat, 6 Feb 2021 12:16:17 +0200 Subject: [PATCH 16/30] Update Templates.ini * Add Google Chrome's `software_reporter_tool.exe` telemetry * Add Vivaldi's `update_notifier.exe` * Add `ssh-agent.exe` * Remove trailing whitespace. Fixes #499, and then some. Signed-off-by: Stavros Ntentos <133706+stdedos@users.noreply.github.com> --- Sandboxie/install/Templates.ini | Bin 189470 -> 190002 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Sandboxie/install/Templates.ini b/Sandboxie/install/Templates.ini index c10acf7c8a73c440743f8c7632fb384e0eca0223..1cd2695c1ea9baeb6bbb41c6c9f60d68d64e2d4a 100644 GIT binary patch delta 265 zcmbPtf_u{$?gjaiAM6*I91z0CAHtBzkORcIKwQF5G(C`+QGRkmKhNa2JfG=q=a^)S ziy876(tvX142cXyKvnTzvH&Pr1QbmLlJP(~9|&_8^nm;dhSbRyC4@I~FE~=7$qhrEEU-7vvN}M6hyIdvXg|z9fB$;HUA9%p1uw4g8ESWBH1}K%)!t_gOI!iC3*mMI8CXVT8 kkD1iAubR)~V>rDI=nK|jhGK?{>4MCRhTHirG6@I+03wG|pa1{> delta 87 zcmdmVhI`%#?gjaiH&k Date: Wed, 10 Feb 2021 00:05:03 +0100 Subject: [PATCH 17/30] Update Templates.ini --- Sandboxie/install/Templates.ini | Bin 190002 -> 189840 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Sandboxie/install/Templates.ini b/Sandboxie/install/Templates.ini index 1cd2695c1ea9baeb6bbb41c6c9f60d68d64e2d4a..8a9220c0acd4508176df75a8e234afe2e48060f9 100644 GIT binary patch delta 158 zcmdmVhI_(k?hQ{wrTrNS7*ZLE7!ny27=jr}fOHZ=4p4-bfot-^OX8bZ#QsD~-cZf8 znXACbs@Y(5yTNM4?FOrvZmCZ{aFI!7@{xRt>3O0+#=TWq(-kfN8B&M2MB^Ef!DbdS vWB}<@pdI-PMbib(GwDO66B$Z@mgNJ<0)`Zzr6mlhlNUOwZdba@Bp?g`0lG0v delta 141 zcmbPmntRh3?hQ{w8MP)q}Yx;u%Mv2J=iv^nFR<_5jWZWLNlIfQE Date: Fri, 12 Feb 2021 10:48:26 +0800 Subject: [PATCH 18/30] Update Chinese Traditional Translation Fix and update --- SandboxiePlus/SandMan/sandman_zh-TW.ts | 4796 ++++++++++++------------ 1 file changed, 2398 insertions(+), 2398 deletions(-) diff --git a/SandboxiePlus/SandMan/sandman_zh-TW.ts b/SandboxiePlus/SandMan/sandman_zh-TW.ts index ad16317b..2cc55c48 100644 --- a/SandboxiePlus/SandMan/sandman_zh-TW.ts +++ b/SandboxiePlus/SandMan/sandman_zh-TW.ts @@ -1,2402 +1,2402 @@ - - - - - CApiMonModel - - Message - 訊息 - - - Time Stamp - 時間標記 - - - Process - 處理程序 - - - - CMultiErrorDialog - - Message - 訊息 - - - Sandboxie-Plus - Error - Sandboxie-Plus - 錯誤 - - - - CNewBoxWindow - - New Box - 新沙盤 - - - Hardened - 強化 - - - Default - 預設 - - - Legacy (old sbie behaviour) - 遺留 (舊 Sbie 行為) - - - Sandboxie-Plus - Create New Box - Sandboxie-Plus - 建立新沙盤 - - - Legacy Sandboxie Behaviour - 遺留 Sandboxie 行為 - - - - COptionsWindow - - Always show - 總是顯示 - - - Template values can not be edited. - 模板值無法編輯。 - - - Lingerer - 駐留項目 - - - Browse for File - 瀏覽檔案 - - - Please enter a menu title - 請輸入選單標題 - - - Select Directory - 選取目錄 - - - Please enter a name for the new group - 請輸入新的群組名稱 - - - Please enter a program file name - 請輸入程式檔名稱 - - - Template values can not be removed. - 模板值無法刪除。 - - - Display box name in title - 標題顯示沙盤名稱 - - - Folder - 資料夾 - - - Sandboxie Plus - '%1' Options - Sandboxie Plus - '%1' 選項 - - - Leader - 導引 - - - Group: %1 - 群組: %1 - - - Process - 處理程序 - - - Display [#] indicator only - 只顯示 [#] 標記 - - - COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} - COM 物件必須被它們的 GUID 所指定,例如: {00000000-0000-0000-0000-000000000000} - - - %1 (%2) - %1 (%2) - - - Border disabled - 邊框禁用 - - - All Categories - 所有類別 - - - Please enter a file extension to be excluded - 請輸入要排除的副檔名 - - - Exclusion - 排除 - - - Select File - 選取檔案 - - - This template is enabled globally. To configure it, use the global options. - 此模板已全域性啟用。請使用全域性選項配置。 - - - Please select group first. - 請先選取群組。 - - - All Files (*.*) - 所有檔案 (*.*) - - - Show only when title is in focus - 僅在標題處在焦點時顯示 - - - Select Program - 選取程式 - - - Please enter a command - 請輸入命令 - - - kilobytes (%1) - KB (%1) - - - Don't alter the window title - 不要改變視窗標題 - - - All Programs - 所有程式 - - - Browse for Folder - 瀏覽資料夾 - - - Enter program: - 輸入程式: - - - Executables (*.exe|*.cmd) - 可執行檔案 (*.exe|*.cmd) - - - RT interfaces must be specified by their name. - RT 介面必須被它們名稱所指定。 - - - Browse for Program - 瀏覽程式 - - - Please enter a program path - 請輸入程式位址 - - - Please enter a service identifier - 請輸入服務識別符號 - - - Service - 服務 - - - Program - 程式 - - - Please enter an auto exec command - 請輸入自動執行命令 - - - This sandbox has been deleted hence configuration can not be saved. - 沙盤已刪除,故配置沒有被儲存 - - - Some changes haven't been saved yet, do you really want to close this options window? - 一些變更尚未儲存,您確定關閉此選項視窗嗎? - - - Executables (*.exe *.cmd);;All files (*.*) - 可執行檔案 (*.exe *.cmd);;所有檔案 (*.*) - - - Direct - 管理 - - - Direct All - 管理全部 - - - Closed - 已關閉 - - - Closed RT - 已關閉 RT - - - Read Only - 唯讀 - - - Hidden - 隱藏 - - - Unknown - 未知 - - - File/Folder - 檔案和資料夾 - - - Registry - 登錄 - - - IPC Path - IPC 位址 - - - Wnd Class - - - - COM Object - COM 物件 - - - - CPopUpMessage - - ? - - - - Hide all such messages - 隱藏所有類似訊息 - - - Remove this message from the list - 從清單中刪除此訊息 - - - Dismiss - 忽略 - - - Visit %1 for a detailed explanation. - 訪問 %1 以取得詳細說明。 - - - - CPopUpProgress - - Remove this progress indicator from the list - 在清單中刪除此處理程序標記 - - - Dismiss - 忽略 - - - - CPopUpPrompt - - No - - - - Yes - - - - Requesting process terminated - 請求的處理程序被終止 - - - Remember for this process - 標記此處理程序 - - - Terminate - 終止 - - - Request will time out in %1 sec - 請求將在 %1 秒後逾時 - - - Request timed out - 請求逾時 - - - Yes and add to allowed programs - 確定並新增到允許的程式中 - - - - CPopUpRecovery - - Recover to: - 恢復至: - - - Browse - 瀏覽 - - - Clear folder list - 清除資料夾清單 - - - Recover - 恢復 - - - Recover the file to original location - 恢復檔案到原始位址 - - - Recover && Explore - 恢復 && 瀏覽 - - - Recover && Open/Run - 恢復 && 開啟/執行 - - - Open file recovery for this box - 為此沙盤開啟檔案恢復 - - - Dismiss - 忽略 - - - Don't recover this file right now - 此時暫不恢復此檔案 - - - Dismiss all from this box - 為此沙盤全部忽略 - - - Disable quick recovery until the box restarts - 在沙盤重新啟動前禁用快速恢復 - - - Select Directory - 選取目錄 - - - - CPopUpWindow - - an UNKNOWN process. - 未知處理程序。 - - - Sandboxie-Plus Notifications - Sandboxie-Plus 通知 - - - %1 (%2) - %1 (%2) - - - UNKNOWN - 未知 - - - Do you want to allow the print spooler to write outside the sandbox for %1 (%2)? - 您想允許列印服務在沙盤外寫入,因 %1 (%2) 嗎? - - - Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? -File name: %3 - 您確定允許 %4 (%5) 複製大型檔案 %1 至沙盤: %2? -檔案名稱: %3 - - - Do you want to allow %1 (%2) access to the internet? -Full path: %3 - 您確定允許 %1 (%2) 訪問網路嗎? -完整位址: %3 - - - %1 is eligible for quick recovery from %2. -The file was written by: %3 - %1 可以從 %2 快速恢復。 -檔案寫入自: %3 - - - Migrating a large file %1 into the sandbox %2, %3 left. -Full path: %4 - 移動大檔案 %1 至沙盤 %2,%3 遺留。 -完整位址: %4 - - + + + + + CApiMonModel + + Message + 訊息 + + + Time Stamp + 時間標記 + + + Process + 處理程序 + + + + CMultiErrorDialog + + Message + 訊息 + + + Sandboxie-Plus - Error + Sandboxie-Plus - 錯誤 + + + + CNewBoxWindow + + New Box + 新沙盤 + + + Hardened + 強化 + + + Default + 預設 + + + Legacy (old sbie behaviour) + 遺留 (舊 Sbie 行為) + + + Sandboxie-Plus - Create New Box + Sandboxie-Plus - 建立新沙盤 + + + Legacy Sandboxie Behaviour + 遺留 Sandboxie 行為 + + + + COptionsWindow + + Always show + 總是顯示 + + + Template values can not be edited. + 模板值無法編輯。 + + + Lingerer + 駐留項目 + + + Browse for File + 瀏覽檔案 + + + Please enter a menu title + 請輸入選單標題 + + + Select Directory + 選取目錄 + + + Please enter a name for the new group + 請輸入新的群組名稱 + + + Please enter a program file name + 請輸入程式檔名稱 + + + Template values can not be removed. + 模板值無法刪除。 + + + Display box name in title + 標題顯示沙盤名稱 + + + Folder + 資料夾 + + + Sandboxie Plus - '%1' Options + Sandboxie Plus - '%1' 選項 + + + Leader + 導引 + + + Group: %1 + 群組: %1 + + + Process + 處理程序 + + + Display [#] indicator only + 只顯示 [#] 標記 + + + COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} + COM 物件必須被它們的 GUID 所指定,例如: {00000000-0000-0000-0000-000000000000} + + + %1 (%2) + %1 (%2) + + + Border disabled + 邊框禁用 + + + All Categories + 所有類別 + + + Please enter a file extension to be excluded + 請輸入要排除的副檔名 + + + Exclusion + 排除 + + + Select File + 選取檔案 + + + This template is enabled globally. To configure it, use the global options. + 此模板已全域性啟用。請使用全域性選項配置。 + + + Please select group first. + 請先選取群組。 + + + All Files (*.*) + 所有檔案 (*.*) + + + Show only when title is in focus + 僅在標題處在焦點時顯示 + + + Select Program + 選取程式 + + + Please enter a command + 請輸入命令 + + + kilobytes (%1) + KB (%1) + + + Don't alter the window title + 不要改變視窗標題 + + + All Programs + 所有程式 + + + Browse for Folder + 瀏覽資料夾 + + + Enter program: + 輸入程式: + + + Executables (*.exe|*.cmd) + 可執行檔案 (*.exe|*.cmd) + + + RT interfaces must be specified by their name. + RT 介面必須被它們名稱所指定。 + + + Browse for Program + 瀏覽程式 + + + Please enter a program path + 請輸入程式位址 + + + Please enter a service identifier + 請輸入服務識別符號 + + + Service + 服務 + + + Program + 程式 + + + Please enter an auto exec command + 請輸入自動執行命令 + + + This sandbox has been deleted hence configuration can not be saved. + 沙盤已刪除,故配置沒有被儲存 + + + Some changes haven't been saved yet, do you really want to close this options window? + 一些變更尚未儲存,您確定關閉此選項視窗嗎? + + + Executables (*.exe *.cmd);;All files (*.*) + 可執行檔案 (*.exe *.cmd);;所有檔案 (*.*) + + + Direct + 管理 + + + Direct All + 管理全部 + + + Closed + 已關閉 + + + Closed RT + 已關閉 RT + + + Read Only + 唯讀 + + + Hidden + 隱藏 + + + Unknown + 未知 + + + File/Folder + 檔案和資料夾 + + + Registry + 登錄 + + + IPC Path + IPC 位址 + + + Wnd Class + Wnd 元件 + + + COM Object + COM 物件 + + + + CPopUpMessage + + ? + + + + Hide all such messages + 隱藏所有類似訊息 + + + Remove this message from the list + 從清單中刪除此訊息 + + + Dismiss + 忽略 + + + Visit %1 for a detailed explanation. + 訪問 %1 以取得詳細說明。 + + + + CPopUpProgress + + Remove this progress indicator from the list + 在清單中刪除此處理程序標記 + + + Dismiss + 忽略 + + + + CPopUpPrompt + + No + + + + Yes + + + + Requesting process terminated + 請求的處理程序被終止 + + + Remember for this process + 標記此處理程序 + + + Terminate + 終止 + + + Request will time out in %1 sec + 請求將在 %1 秒後逾時 + + + Request timed out + 請求逾時 + + + Yes and add to allowed programs + 確定並新增到允許的程式中 + + + + CPopUpRecovery + + Recover to: + 恢復至: + + + Browse + 瀏覽 + + + Clear folder list + 清除資料夾清單 + + + Recover + 恢復 + + + Recover the file to original location + 恢復檔案到原始路徑 + + + Recover && Explore + 恢復 && 瀏覽 + + + Recover && Open/Run + 恢復 && 開啟/執行 + + + Open file recovery for this box + 為此沙盤開啟檔案恢復 + + + Dismiss + 忽略 + + + Don't recover this file right now + 此時暫不恢復此檔案 + + + Dismiss all from this box + 為此沙盤全部忽略 + + + Disable quick recovery until the box restarts + 在沙盤重新啟動前禁用快速恢復 + + + Select Directory + 選取目錄 + + + + CPopUpWindow + + an UNKNOWN process. + 未知處理程序。 + + + Sandboxie-Plus Notifications + Sandboxie-Plus 通知 + + + %1 (%2) + %1 (%2) + + + UNKNOWN + 未知 + + + Do you want to allow the print spooler to write outside the sandbox for %1 (%2)? + 您想允許列印服務在沙盤外寫入,因 %1 (%2) 嗎? + + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? -File name: %3 - - - +File name: %3 + 您確定允許 %4 (%5) 複製大型檔案 %1 至沙盤: %2? +檔案名稱: %3 + + Do you want to allow %1 (%2) access to the internet? -Full path: %3 - - - +Full path: %3 + 您確定允許 %1 (%2) 訪問網路嗎? +完整路徑: %3 + + %1 is eligible for quick recovery from %2. -The file was written by: %3 - - - +The file was written by: %3 + %1 可以從 %2 快速恢復。 +檔案寫入自: %3 + + Migrating a large file %1 into the sandbox %2, %3 left. -Full path: %4 - - - - - CRecoveryWindow - - File Name - 檔案名稱 - - - File Size - 檔案大小 - - - Full Path - 詳細位址 - - - Select Directory - 選取取目錄 - - - %1 - File Recovery - %1 - 檔案恢復 - - - 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. - 一個或多個被選取的檔案位於網路共享,並且必須恢復到本地磁碟,請選取用於恢復所選檔案的資料夾。 - - - There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space. - 有 %1 檔案和 %2 資料夾位於沙盤中,佔用磁碟 %3 位元組。 - - - - CResMonModel - - Type - 類別 - - - Value - - - - Status - 狀態 - - - Time Stamp - 時間標記 - - - Process - 處理程序 - - - Unknown - 未知 - - - - CSandBoxPlus - - No Admin - 無管理員 - - - No INet - 無 INet - - - Normal - 標準 - - - API Log - API 日誌 - - - Net Share - 網路共享 - - - NOT SECURE (Debug Config) - 不安全(除錯配置) - - - Enhanced Isolation - 增強隔離 - - - Reduced Isolation - 弱化隔離 - - - Disabled - 禁用 - - - - CSandMan - - Exit - 退出 - - - <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>新版本 Sandboxie-Plus 將被下載到:</p><p><a href="%2">%1</a></p><p>您想要開始安裝嗎?正在沙盤化運作的其他程式將會被終止。</p> - - - Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. - Sandboxie-Plus 已於便攜模式中啟動,需建立必要的服務。將會提示管理員授權。 - - - Cleanup Processes - 清理處理程序 - - - Maintenance operation %1 - 維護作業 %1 - - - &Help - &幫助 - - - &View - &檢視 - - - Error deleting sandbox folder: %1 - 刪除沙盤資料夾錯誤: %1 - - - About Sandboxie-Plus - 關於 Sandboxie-Plus - - - Driver version: %1 - 驅動程式版本: %1 - - - Sandboxie-Plus v%1 - Sandboxie-Plus v%1 - - - Start Driver - 啟動驅動程式 - - - Install Driver - 安裝驅動程式 - - - Uninstall Driver - 解除安裝驅動程式 - - - Check for Updates - 檢查更新 - - - Visit Support Forum - 支援論壇 - - - Failed to copy configuration from sandbox %1: %2 - 複製沙盤配置 %1: %2 失敗 - - - Do you want to check if there is a new version of Sandboxie-Plus? - 你想要檢查 Sandboxie-Plus 是否存在新版本嗎? - - - Cleanup Api Call Log - 清理 API 呼叫日誌 - - - Simple View - 簡易檢視 - - - %1 (%2): - %1 (%2): - - - Login Failed: %1 - 登入失敗: %1 - - - Clean Up - 清理 - - - Don't show this message again. - 不再顯示此訊息。 - - - Uninstall Service - 解除安裝服務 - - - Start Service - 啟動服務 - - - Install Service - 安裝服務 - - - Failed to remove old snapshot directory '%1' - 刪除舊版快照目錄 '%1' 失敗 - - - The changes will be applied automatically as soon as the editor is closed. - 變更將在編輯器關閉後自動提交。 - - - Can't remove a snapshot that is shared by multiple later snapshots - 無法刪除由多個後續快照共享的快照 - - - Do you want to close Sandboxie Manager? - 您確定要關閉 Sandboxie 管理員? - - - Support Sandboxie-Plus with a Donation - 捐贈支持 Sandboxie-Plus - - - Unknown Error Status: %1 - 未知錯誤程式碼: %1 - - - Failed to create directory for new snapshot - 建立新的快照目錄失敗 - - - Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. - Sandboxie-Plus 正運作於便攜模式中,現在將清理所建立的服務。將會提示管理員授權。 - - - - Portable - - 便攜 - - - Failed to download update from: %1 - 在: %1 下載更新失敗 - - - Api Call Log - API 呼叫日誌 - - - The sandbox name can not be longer than 32 characters. - 沙盤名稱不能超過32個字元。 - - - Stop Driver - 停止驅動程式 - - - Don't show this announcement in the future. - 此後不再顯示此通告。 - - - Sbie Messages - Sbie 訊息 - - - Failed to recover some files: - - 恢復某些檔案失敗: - - - - Failed to move directory '%1' to '%2' - 移動目錄 '%1' 至 '%2' 失敗 - - - Recovering file %1 to %2 - 恢復檔案 %1 至 %2 - - - Resource Logging - 資源日誌 - - - Online Documentation - 線上文件 - - - Ignore this update, notify me about the next one. - 忽略此升級,下一個再提示我。 - - - Please enter the duration for disabling forced programs. - 請輸入禁用強制執行程式的時間。 - - - Sbie Directory: %1 - Sbie 目錄: %1 - - - - NOT connected - - 未連線 - - - <p>Do you want to download the latest version?</p> - <p>確定要下載最新版本嗎?</p> - - - Sandboxie-Plus - Error - Sandboxie-Plus - 錯誤 - - - The changes will be applied automatically whenever the file gets saved. - 每當檔案儲存後更改將自動套用。 - - - Time|Message - 時間|訊息 - - - &Options - &選項 - - - Show/Hide - 顯示/隱藏 - - - Resource Monitor - 資源監控 - - - Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? - 確定要在沙盤化 (是) 未沙盤化 (否) 的瀏覽器中開啟 %1 嗎? - - - Reset all hidden messages - 重置所有隱藏訊息 - - - A sandbox must be emptied before it can be deleted. - 刪除沙盤之前必須清空。 - - - The sandbox name can contain only letters, digits and underscores which are displayed as spaces. - 沙盤名稱不能為空白,只能包含字母、數字和下劃線。 - - - A sandbox must be emptied before it can be renamed. - 重新命名沙盤之前必須將其清空。 - - - API Call Logging - API 呼叫日誌 - - - Loaded Config: %1 - 載入的配置: %1 - - - Reload ini file - 重新載入 ini 檔案 - - - Remember choice for later. - 以後記住選擇。 - - - &Maintenance - &維護 - - - The sandbox name can not be a device name. - 沙盤名稱不能為裝置名稱。 - - - Operation failed for %1 item(s). - %1 項作業失敗。 - - - Global Settings - 全域性設定 - - - Downloading new version... - 下載新版本... - - - &Sandbox - &沙盤 - - - <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - <h3>關於 Sandboxie-Plus</h3><p>版本 %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - - - Cleanup - 清理 - - - Failed to check for updates, error: %1 - 檢查更新失敗,錯誤: %1 - - - Disconnect - 斷開連線 - - - Connect - 連線 - - - Only Administrators can change the config. - 僅限管理員可更改配置。 - - - Disable Forced Programs - 禁用強制執行程式 - - - Snapshot not found - 未發現快照 - - - Failed to remove old RegHive - 刪除舊版登錄檔項目失敗 - - - Stop All - 停止所有 - - - Can't find Sandboxie installation path. - 無法找到 Sandboxie 安裝位址。 - - - Delete protection is enabled for the sandbox - 沙盤的刪除保護被已啟用 - - - &Advanced - &進階 - - - An incompatible Sandboxie %1 was found. Compatible versions: %2 - 已發現不相容的 Sandboxie %1。相容版本為: %2 - - - Administrator rights are required for this operation. - 此作業需要管理員授權。 - - - Executing maintenance operation, please wait... - 執行維護作業,請稍等... - - - <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> - <p>有新版本 Sandboxie-Plus 可用。<br /><font color='red'>新版本:</font> <b>%1</b></p> - - - Stop Service - 停止服務 - - - Create New Box - 建立新沙盤 - - - Failed to copy RegHive - 複製登錄檔項目失敗 - - - Failed to terminate all processes - 終止所有處理程序失敗 - - - Advanced View - 進階檢視 - - - Failed to delete sandbox %1: %2 - 刪除沙盤 %1: %2 失敗 - - - <p>Do you want to go to the <a href="%1">download page</a>?</p> - <p>確定要開啟 <a href="%1">下載頁面</a>?</p> - - - Maintenance operation Successful - 維護作業成功 - - - PID %1: - PID %1: - - - Error Status: %1 - 錯誤程式碼: %1 - - - Terminate All Processes - 終止所有處理程序 - - - Please enter the configuration password. - 請輸入配置密碼。 - - - Do you also want to reset hidden message boxes (yes), or only all log messages (no)? - 確定連隱藏訊息視窗一起重置 (是) 或僅用於所有日誌訊息 (否)? - - - You are not authorized to update configuration in section '%1' - 您無權在此處更新配置 '%1' - - - Failed to connect to the driver - 連線驅動程式失敗 - - - Failed to communicate with Sandboxie Service: %1 - 無法與 Sandboxie 服務取得聯絡: %1 - - - Failed to execute: %1 - 執行失敗: %1 - - - This Snapshot operation can not be performed while processes are still running in the box. - 因處理程序正在沙盤中運作,此快照操作無法完成。 - - - server not reachable - 伺服器無法訪問 - - - Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. - 合併快照目錄 '%1' 和 '%2' 錯誤,快照沒有全部合併。 - - - Edit ini file - 編輯 ini 檔案 - - - Checking for updates... - 檢查更新... - - - No sandboxes found; creating: %1 - 未找到沙盤;建立: %1 - - - Cleanup Resource Log - 清理資源日誌 - - - Cleanup Message Log - 清理訊息日誌 - - - About the Qt Framework - 關於 Qt 框架 - - - Keep terminated - 保持終止 - - - A sandbox of the name %1 already exists - 沙盤名稱 %1 已存在 - - - Failed to set configuration setting %1 in section %2: %3 - 配置設定 %1 失敗於 %2: %3 - - - Copy Cell - 複製單元格 - - - Copy Row - 複製列 - - - Copy Panel - 複製表格 - - - Failed to stop all Sandboxie components - 停止所有 Sandboxie 元件失敗 - - - Failed to start required Sandboxie components - 啟動所需 Sandboxie 元件失敗 - - - Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? - Sandboxie-Plus 於便攜模式中啟動,您想將沙盤目錄放到它的上級目錄嗎? - - - The file %1 already exists, do you want to overwrite it? - 檔案 %1 已存在,您確定要覆蓋它嗎? - - - Do this for all files! - 為所有檔案執行此操作! - - - To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. -Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. - 要使用 API 記錄日誌首先必須從 https://github.com/sandboxie-plus/LogApiDll 下載 LogApiDll,並為一個或更多沙盤設定。 -請下載最新發布版本,並使用 sandboxie.ini 安裝,更多內容請參考 README.md 中此項目的說明。 - - - No new updates found, your Sandboxie-Plus is up-to-date. - 無可用更新,您的 Sandboxie-Plus 已為最新 - - - <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 是著名程式 Sandboxie 的開源延續。</p><p></p><p>訪問 <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> 以取得更多資訊。</p><p></p><p></p><p></p><p>圖示來自 <a href="https://icons8.com">icons8.com</a></p><p></p> - - - Always on Top - 保持視窗置頂 - - - Sellect box: - 選取沙盤: - - - Some compatybility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? - 一些相容性模板 (%1) 丟失,可能已被刪除,您確定要從所有沙盤中刪除它們嗎? - - - Cleaned up removed templates... - 清理已刪除的模板... - - - Can not create snapshot of an empty sandbox - 無法為空白沙盤建立快照 - - - A sandbox with that name already exists - 已存在同名沙盤 - - - Reset Columns - 重設欄 - - - Window Finder - 尋找視窗 - - - Show Hidden Boxes - 顯示隱藏沙盤 - - - Select box: - 選取沙盤: - - - Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? - 一些相容性模板已丟失,可能是已被刪除,是否從所有沙盤中移除它們? - - - Do you want to terminate all processes in all sandboxes? - 是否終止所有沙盤中的所有處理程式? - - - Terminate all without asking - 終止全部並不再詢問 - - - The selected window is running as part of program %1 in sandbox %2 - 所選取的視窗正作為沙盤 %2 中的程式 %1 運作 - - - The selected window is not running as part of any sandboxed program. - 所選取的視窗並不屬於任何沙盤化程式。 - - - Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. - 托拽尋找工具至一個視窗上以選取它,然後釋放滑鼠以檢查其是否已被沙盤化。 - - - Sandboxie-Plus - Window Finder - Sandboxie-Plus - 尋找視窗 - - - Default sandbox not found; creating: %1 - - - - <p>Do you want to go to the <a href="%1">info page</a>?</p> - - - - Don't show this message anymore. - - - - - CSbieModel - - Name - 名稱 - - - Box Groupe - 沙盤群組 - - - Status - 狀態 - - - Path / Command Line - 位址 / 命令列 - - - Start Time - 開始時間 - - - Process ID - 處理程序 ID - - - Title - 標題 - - - - CSbieProcess - - Terminated - 已終止 - - - Running - 運作中 - - - - CSbieView - - Run - 執行 - - - Create Shortcut to sandbox %1 - 為沙盤 %1 建立捷徑 - - - Options: - - 選項: - - - - Drop Admin Rights - 撤銷管理員授權 - - - Run eMail Client - 執行郵件用戶端 - - - Remove Group - 刪除群組 - - - Sandbox Options - 沙盤選項 - - - Sandbox Presets - 沙盤預設 - - - Do you want to %1 the selected process(es) - 確定要 %1 所選處理程序 - - - Move to Group - 移動至群組 - - - Remove Sandbox - 刪除沙盤 - - - Rename Sandbox - 重新命名沙盤 - - - Run from Start Menu - 從開始選單執行 - - - Preset - 預設 - - - Please enter a new group name - 請輸入新的群組名稱 - - - Enable API Call logging - 啟用 API 呼叫日誌 - - - [None] - [無] - - - Please enter a new name for the Sandbox. - 請為沙盤輸入新名稱 - - - Add Group - 新增群組 - - - Delete Content - 刪除內容 - - - Create Shortcut - 建立捷徑 - - - Do you really want to remove the selected sandbox(es)? - 確定要刪除所選沙盤嗎? - - - Run Program - 執行程式 - - - IPC root: %1 - - IPC 根目錄: %1 - - - - Block and Terminate - 阻止並終止 - - - Registry root: %1 - - 登錄檔根目錄: %1 - - - - File root: %1 - - 檔案根目錄: %1 - - - - Terminate - 終止 - - - Set Leader Process - 設定導引處理程序 - - - Terminate All Programs - 終止所有程式 - - - Do you really want to remove the selected group(s)? - 確定要刪除所選群組嗎? - - - Run Web Browser - 執行網頁瀏覽器 - - - Force into this sandbox - 強制加入此沙盤 - - - Allow Network Shares - 允許網路共享 - - - Run Cmd.exe - 執行 Cmd.exe - - - Snapshots Manager - 快照管理 - - - Run Explorer - 執行檔案總管 - - - Block Internet Access - 禁止網路訪問 - - - Set Linger Process - 設定駐留處理程序 - - - Create New Box - 建立新沙盤 - - - Pin to Run Menu - 固定到執行選單 - - - Recover Files - 恢復檔案 - - - This box does not have Internet restrictions in place, do you want to enable them? - 此沙盤無網際網路限制,確定要啟用它們嗎? - - - Explore Content - 瀏覽內容 - - - Allow internet access - 允許網路訪問 - - - Don't show this message again. - 不再顯示此訊息 - - - This Sandbox is already empty. - 此沙盤為空。 - - - Do you want to delete the content of the selected sandbox? - 您確定要刪除所選沙盤的內容? - - - Do you really want to delete the content of multiple sandboxes? - 您確定要刪除多個沙盤的內容? - - - Do you want to terminate all processes in the selected sandbox(es)? - 您確定要終止選定沙盤中的所有處理程序? - - - This sandbox is disabled, do you want to enable it? - 此沙盤已禁用,是否啟用? - - - This Sandbox is empty. - - - - A group can not be its own parent. - - - - - CSettingsWindow - - Close - 關閉 - - - Please enter the new configuration password. - 請輸入新配置密碼。 - - - Close to Tray - 關閉到工作列 - - - Select Directory - 選取目錄 - - - Please enter a program file name - 請輸入程式檔名 - - - Folder - 資料夾 - - - Prompt before Close - 關閉前提示 - - - Process - 處理程序 - - - Sandboxie Plus - Settings - Sandboxie Plus - 設定 - - - Please re-enter the new configuration password. - 請再次輸入新配置密碼。 - - - Passwords did not match, please retry. - 密碼不正確,請重新輸入。 - - - Auto Detection - - - - - CSnapshotsWindow - - Do you really want to delete the selected snapshot? - 確定要刪除所選快照? - - - New Snapshot - 新快照 - - - Snapshot - 快照 - - - Do you really want to switch the active snapshot? Doing so will delete the current state! - 確定要切換正在使用的快照?這樣做會刪除當前狀態! - - - %1 - Snapshots - %1 - 快照 - - - Please enter a name for the new Snapshot. - 請輸入新快照名稱。 - - - - NewBoxWindow - - Copy options from an existing box: - 從已有沙盤複製選項: - - - Initial sandbox configuration: - 初始沙盤配置: - - - Select restriction/isolation template: - 選取限制/隔離模板: - - - SandboxiePlus new box - SandboxiePlus 新沙盤 - - - Enter a name for the new box: - 輸入新沙盤名稱: - - - Sandbox Name: - 沙盤名稱: - - - - OptionsWindow - - Name - 名稱 - - - Path - 位址 - - - Save - 儲存 - - - Type - 類別 - - - Allow only selected programs to start in this sandbox. * - 僅允許被選取的程式在此沙盤中啟動。 * - - - Force Folder - 強制執行資料夾 - - - Add IPC Path - 新增 IPC 位址 - - - Sandbox Indicator in title: - 在標題顯示沙盤標記: - - - Debug - 除錯 - - - Users - 使用者 - - - <- for this one the above does not apply - <- 啟用此選項後以上內容將不套用 - - - Block network files and folders, unless specifically opened. - 禁用網路檔案和資料夾,除非額外開啟。 - - - Command Line - 命令列 - - - Don't alter window class names created by sandboxed programs - 不要改變由沙盤程式建立的視窗類名 - - - Prevent change to network and firewall parameters - 阻止更改網路和防火牆引數 - - - Internet Restrictions - 網路限制 - - - 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. - 配置處理程序所訪問的資源。雙擊進入編輯。 -'管理' 檔案和機碼僅適用於沙盤外的程式二進位制檔案。 -注意所有關閉的...=!<程式>,... 例外也有相同限制。 -想要管理檔案訪問可使用 '管理全部' 使其套用至至全部程式。 - - - Log Debug Output to the Trace Log - 記錄除錯輸出至追蹤日誌 - - - Forced Programs - 強制執行程式 - - - Add Wnd Class - 新增視窗類別 - - - Access Tracing - 訪問追蹤 - - - File Options - 檔案選項 - - - General Options - 通用選項 - - - Open Windows Credentials Store - 開啟 Windows 憑證儲存空間 - - - kilobytes - KB - - - 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. - 如果其他所有程式已經終止後,駐留程式仍在運作,將自動終止。 - -如果導引處理程序已確定,所有其他處理程序將被視為駐留處理程序。 - - - Allow all programs to start in this sandbox. - 允許所有程式在此沙盤中啟動。 - - - Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. - 啟用快速恢復提示以便建立檔案時能儘快恢復。 - - - General restrictions - 通用限制 - - - Move Up - 上移 - - - Access - 訪問 - - - These options are intended for debugging compatibility issues, please do not use them in production use. - 這些選項是計劃除錯裝置而設計的,在日常使用時請不要使用。 - - - Text Filter - 文字過濾 - - - Cancel - 取消 - - - Restrict Resource Access monitor to administrators only - 限制資源訪問監視器僅限管理員使用 - - - Protect the sandbox integrity itself - 沙盤完整性保護 - - - Add Folder - 新增資料夾 - - - Prompt user whether to allow an exemption from the blockade. - 提示使用者是否允許例外免於封鎖。 - - - IPC Trace - IPC 追蹤 - - - Limit access to the emulated service control manager to privileged processes - 限制訪問模擬服務控制管理員來提權處理程序 - - - Remove - 刪除 - - - Add File/Folder - 新增檔案/資料夾 - - - Block internet access for all programs except those added to the list. - 禁止所有程式訪問網路,除了這些新增至清單中的。 - - - Issue message 1307 when a program is denied internet access - 當程式被拒絕訪問網路時提示 1307 訊息 - - - Compatibility - 相容性 - - - Stop Behaviour - 停止行為 - - - Note: Programs installed to this sandbox won't be able to access the internet at all. - 注意: 安裝在此沙盤裡的程式將完全無法訪問網路。 - - - Box Options - 沙盤選項 - - - Don't allow sandboxed processes to see processes running in other boxes - 不允許沙盤化的處理程序檢視其他沙盤裡處理程序的運作 - - - Add Group - 新增群組 - - - Sandboxed window border: - 沙盤化視窗邊框: - - - Prevent selected programs from starting in this sandbox. - 阻止所選程式在此沙盤中啟動。 - - - Miscellaneous - 其他 - - - Issue message 2102 when a file is too large - 當檔案過大時提示 2102 訊息 - - - File Recovery - 檔案恢復 - - - Box Delete options - 沙盤刪除選項 - - - Pipe Trace - Pipe 追蹤 - - - File Trace - 檔案追蹤 - - - Program - 程式 - - - Add Process - 新增處理程序 - - - Add Program - 新增程式 - - - Filter Categories - 篩選類別 - - - Copy file size limit: - 複製檔案大小限制: - - - Open System Protected Storage - 開放系統保護儲存空間 - - - Protect the system from sandboxed processes - 保護系統免受來自沙盤化處理程序的訪問 - - - Add Leader Program - 新增導引程式 - - - SandboxiePlus Options - SandboxiePlus 選項 - - - Category - 類別 - - - Drop rights from Administrators and Power Users groups - 撤銷管理員和超級使用者群組的授權 - - - Add Reg Key - 新增登錄檔機碼 - - - Sandbox protection - 沙盤保護 - - - 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. - 您可將程式分組並且為它們設定群組名稱。程式群組可以代替程式名稱被用於一些設定。 - - - Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes - 保護沙盤化系統處理程序免受來自未授權的未沙盤化處理程序訪問 - - - COM Class Trace - COM 元件追蹤 - - - Add Command - 新增命令 - - - Hide Processes - 隱藏處理程序 - - - When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. - 當快速恢復功能被啟用,將檢查下列資料夾沙盤化內容。 - - - px Width - 寬度像素 - - - Add User - 新增使用者 - - - Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. - 此處輸入的程式,或指定位置啟動的程式,將自動加入此沙盤,除非它們被確定已在其他沙盤啟動。 - - - Force Program - 強制運作程式 - - - WARNING, these options can disable core security guarantees and break sandbox security!!! - 警告,這些選項可以使核心安全保障失效並且破壞沙盤安全!!! - - - Edit ini - 編輯 ini - - - Show Templates - 顯示模板 - - - Ignore Folder - 忽略資料夾 - - - GUI Trace - GUI 追蹤 - - - Key Trace - 機碼追蹤 - - - Tracing - 追蹤 - - - Appearance - 外觀 - - - Add sandboxed processes to job objects (recommended) - 新增沙盤化處理程序至工作物件(建議) - - - Remove Program - 刪除程式 - - - You can exclude folders and file types (or file extensions) from Immediate Recovery. - 您可從快速恢復中排除資料夾和檔案類別 (或副檔名) 。 - - - Run Menu - 執行選單 - - - App Templates - 應用程式模板 - - - Remove User - 刪除使用者 - - - Ignore Extension - 忽略副檔名 - - - Move Down - 下移 - - - Protect this sandbox from deletion or emptying - 保護此沙盤以防止被刪除或清空 - - - 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. - 新增使用者賬戶和使用者群組至下列清單中來僅限這些賬戶使用沙盤。如果清單內容為空,所有賬戶都將可以使用沙盤。 - -注意: 沙盤的強制執行程式和強制執行資料夾設定不接受不能執行沙盤的賬戶。 - - - * Note: Programs installed to this sandbox won't be able to start at all. - * 注意: 安裝至此沙盤裡的程式將完全無法啟動。 - - - This list contains a large amount of sandbox compatibility enhancing templates - 此清單包含大量沙盤相容性增強模板 - - - Add Lingering Program - 新增駐留程式 - - - Program Groups - 程式群組 - - - Issue message 1308 when a program fails to start - 當程式啟動失敗時提示 1308 訊息 - - - Resource Access - 資源訪問 - - - Advanced Options - 進階選項 - - - Hide host processes from processes running in the sandbox. - 隱藏沙盤中執行中處理程序的主處理程序。 - - - File Migration - 檔案轉移 - - - Auto delete content when last sandboxed process terminates - 當最後的沙盤化的處理程序終止後自動刪除內容 - - - Add COM Object - 新增 COM 物件 - - - You can configure custom entries for the sandbox run menu. - 您可為沙盤執行選單配置自訂條目。 - - - Start Restrictions - 啟動限制 - - - Force usage of custom dummy Manifest files (legacy behaviour) - 強制使用自訂虛擬 Manifest 檔案(遺留行為) - - - Edit ini Section - 編輯 ini 選項 - - - Block access to the printer spooler - 阻止訪問列印服務 - - - Allow the print spooler to print to files outside the sandbox - 允許列印服務在沙盤外列印檔案 - - - Printing - 列印 - - - Remove spooler restriction, printers can be installed outside the sandbox - 移除列印限制,印表機可安裝至沙盤外 - - - Add program - 新增程式 - - - Auto Start - 自動啟動 - - - Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated - 這裡您可以指定將在沙盤啟用時自動啟動的程式或服務 - - - Add service - 新增服務 - - - Do not start sandboxed services using a system token (recommended) - 不啟動使用系統令牌的沙盤化服務 (建議) - - - Allow access to Smart Cards - 允許訪問智慧卡片 - - - Lift security restrictions - 提升安全限制 - - - Sandbox isolation - 沙盤隔離 - - - Auto Exec - 自動執行 - - - Here you can specify a list of commands that are executed every time the sandbox is initially populated. - 這裡您可以指定每次沙盤啟動被執行的命令清單。 - - - 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 "*". - 將驅動程式所見所有訪問事件記錄至資源訪問日誌中。 - -這些選項將設定事件標記至 "*" - 所有訪問事件 -您可在 ini 中自訂日誌,通過指定 -"A" - 已允許的訪問 -"D" - 已拒絕的訪問 -"I" - 已忽略的訪問請求 -替代 "*". - - - Allow access to Bluetooth - 允許訪問藍牙 - - - - PopUpWindow - - SandboxiePlus Notifications - SandboxiePlus 通知 - - - - QObject - - Drive %1 - 磁碟 %1 - - - - QPlatformTheme - - OK - 確定 - - - Apply - 套用 - - - Cancel - 取消 - - - &Yes - &是 - - - &No - &否 - - - - RecoveryWindow - - Close - 關閉 - - - SandboxiePlus Settings - SandboxiePlus 設定 - - - Add Folder - 新增資料夾 - - - Recover to - 恢復至 - - - Recover - 恢復 - - - Refresh - 重新整理 - - - Delete all - 刪除全部 - - - Show All Files - 顯示所有檔案 - - - TextLabel - 文字標籤 - - - SandboxiePlus - Recovery - - - - - SettingsWindow - - Name - 名稱 - - - Path - 位址 - - - Change Password - 更改密碼 - - - Clear password when main window becomes hidden - 主視窗隱藏時清除密碼 - - - SandboxiePlus Settings - SandboxiePlus 設定 - - - Password must be entered in order to make changes - 必須輸入密碼以進行更改 - - - Check periodically for updates of Sandboxie-Plus - 定期檢查 Sandboxie-Plus 的更新 - - - General Options - 一般選項 - - - Program Restrictions - 程式限制 - - - Restart required (!) - 需要重新啟動 (!) - - - Tray options - 磁碟選項 - - - Use Dark Theme - 使用暗色主題 - - - Enable - 啟用 - - - Add Folder - 新增資料夾 - - - Only Administrator user accounts can make changes - 僅限管理員賬戶進行更改 - - - Config protection - 配置保護 - - - Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: - 沙盤 <a href="sbie://docs/keyrootpath">登錄檔根目錄</a>: - - - Add Program - 新增程式 - - - 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 在您系統中檢測到下列軟體程式. 點選 OK 接受配置設定,將增強這些軟體程式的相容性。這些配置設定將影響所有已存在的沙盤和之後建立的新沙盤。 - - - Watch Sandboxie.ini for changes - 追蹤 Sandboxie.ini 變更 - - - Show Sys-Tray - 在系統工具列顯示 - - - Open urls from this ui sandboxed - 沙盤化在此 UI 開啟的連結 - - - In the future, don't check software compatibility - 以後不再檢查軟體相容性 - - - Disable - 禁用 - - - When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301. - 當下列程式在任意沙盤之外啟動時,Sandboxie 將提示 SBIE1301 訊息。 - - - Remove Program - 刪除程式 - - - Software Compatibility - 軟體相容性 - - - On main window close: - 主窗體關閉時: - - - Add 'Run Sandboxed' to the explorer context menu - 在檔案總管新增'在沙盤中執行' - - - Issue message 1308 when a program fails to start - 當程式啟動失敗時提示 1308 訊息 - - - Sandbox default - 沙盤預設 - - - Separate user folders - 獨立使用者資料夾 - - - Advanced Options - 進階選項 - - - Prevent the listed programs from starting on this system - 阻止清單中程式在此系統中啟動 - - - Only Administrator user accounts can use Disable Forced Programs command - 僅管理員賬戶可使用禁用強制執行程式命令 - - - Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: - 沙盤 <a href="sbie://docs/ipcrootpath">IPC 根目錄</a>: - - - Show Notifications for relevant log Messages - 顯示相關日誌訊息的通知 - - - Sandbox <a href="sbie://docs/filerootpath">file system root</a>: - 沙盤 <a href="sbie://docs/filerootpath">檔案系統根目錄</a>: - - - Portable root folder - 便攜化根目錄 - - - Start UI with Windows - 開機啟動 UI - - - Start UI when a sandboxed process is started - 當沙盤化處理程序啟動時啟動 UI - - - Show first recovery window when emptying sandboxes - 當清空沙盤時顯示第一個恢復視窗 - - - ... - ... - - - Other settings - 其他設定 - - - - SnapshotsWindow - - Name: - 名稱: - - - Remove Snapshot - 刪除快照 - - - SandboxiePlus Settings - SandboxiePlus 設定 - - - Description: - 說明: - - - Go to Snapshot - 進入快照 - - - Take Snapshot - 抓取快照 - - - Selected Snapshot Details - 所選快照內容 - - - Snapshot Actions - 快照行為 - - - SandboxiePlus - Snapshots - - - - +Full path: %4 + 移動大檔案 %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 + + File Name + 檔案名稱 + + + File Size + 檔案大小 + + + Full Path + 詳細路徑 + + + Select Directory + 選取取目錄 + + + %1 - File Recovery + %1 - 檔案恢復 + + + 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. + 一個或多個被選取的檔案位於網路共享,並且必須恢復到本地磁碟,請選取用於恢復所選檔案的資料夾。 + + + There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space. + 有 %1 檔案和 %2 資料夾位於沙盤中,佔用磁碟 %3 位元組。 + + + + CResMonModel + + Type + 類別 + + + Value + + + + Status + 狀態 + + + Time Stamp + 時間標記 + + + Process + 處理程序 + + + Unknown + 未知 + + + + CSandBoxPlus + + No Admin + 無管理員 + + + No INet + 無 INet + + + Normal + 標準 + + + API Log + API 日誌 + + + Net Share + 網路共享 + + + NOT SECURE (Debug Config) + 不安全(除錯配置) + + + Enhanced Isolation + 增強隔離 + + + Reduced Isolation + 弱化隔離 + + + Disabled + 禁用 + + + + CSandMan + + Exit + 退出 + + + <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>新版本 Sandboxie-Plus 將被下載到:</p><p><a href="%2">%1</a></p><p>您想要開始安裝嗎?正在沙盤化運作的其他程式將會被終止。</p> + + + Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. + Sandboxie-Plus 已於便攜模式中啟動,需建立必要的服務。將會提示管理員授權。 + + + Cleanup Processes + 清理處理程序 + + + Maintenance operation %1 + 維護作業 %1 + + + &Help + &幫助 + + + &View + &檢視 + + + Error deleting sandbox folder: %1 + 刪除沙盤資料夾錯誤: %1 + + + About Sandboxie-Plus + 關於 Sandboxie-Plus + + + Driver version: %1 + 驅動程式版本: %1 + + + Sandboxie-Plus v%1 + Sandboxie-Plus v%1 + + + Start Driver + 啟動驅動程式 + + + Install Driver + 安裝驅動程式 + + + Uninstall Driver + 解除安裝驅動程式 + + + Check for Updates + 檢查更新 + + + Visit Support Forum + 支援論壇 + + + Failed to copy configuration from sandbox %1: %2 + 複製沙盤配置 %1: %2 失敗 + + + Do you want to check if there is a new version of Sandboxie-Plus? + 你想要檢查 Sandboxie-Plus 是否存在新版本嗎? + + + Cleanup Api Call Log + 清理 API 呼叫日誌 + + + Simple View + 簡易檢視 + + + %1 (%2): + %1 (%2): + + + Login Failed: %1 + 登入失敗: %1 + + + Clean Up + 清理 + + + Don't show this message again. + 不再顯示此訊息。 + + + Uninstall Service + 解除安裝服務 + + + Start Service + 啟動服務 + + + Install Service + 安裝服務 + + + Failed to remove old snapshot directory '%1' + 刪除舊版快照目錄 '%1' 失敗 + + + The changes will be applied automatically as soon as the editor is closed. + 變更將在編輯器關閉後自動提交。 + + + Can't remove a snapshot that is shared by multiple later snapshots + 無法刪除由多個後續快照共享的快照 + + + Do you want to close Sandboxie Manager? + 您確定要關閉 Sandboxie 管理員? + + + Support Sandboxie-Plus with a Donation + 捐贈支持 Sandboxie-Plus + + + Unknown Error Status: %1 + 未知錯誤程式碼: %1 + + + Failed to create directory for new snapshot + 建立新的快照目錄失敗 + + + Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. + Sandboxie-Plus 正運作於便攜模式中,現在將清理所建立的服務。將會提示管理員授權。 + + + - Portable + - 便攜 + + + Failed to download update from: %1 + 在: %1 下載更新失敗 + + + Api Call Log + API 呼叫日誌 + + + The sandbox name can not be longer than 32 characters. + 沙盤名稱不能超過32個字元。 + + + Stop Driver + 停止驅動程式 + + + Don't show this announcement in the future. + 此後不再顯示此通告。 + + + Sbie Messages + Sbie 訊息 + + + Failed to recover some files: + + 恢復某些檔案失敗: + + + + Failed to move directory '%1' to '%2' + 移動目錄 '%1' 至 '%2' 失敗 + + + Recovering file %1 to %2 + 恢復檔案 %1 至 %2 + + + Resource Logging + 資源日誌 + + + Online Documentation + 線上文件 + + + Ignore this update, notify me about the next one. + 忽略此升級,下一個再提示我。 + + + Please enter the duration for disabling forced programs. + 請輸入禁用強制執行程式的時間。 + + + Sbie Directory: %1 + Sbie 目錄: %1 + + + - NOT connected + - 未連線 + + + <p>Do you want to download the latest version?</p> + <p>確定要下載最新版本嗎?</p> + + + Sandboxie-Plus - Error + Sandboxie-Plus - 錯誤 + + + The changes will be applied automatically whenever the file gets saved. + 每當檔案儲存後更改將自動套用。 + + + Time|Message + 時間|訊息 + + + &Options + &選項 + + + Show/Hide + 顯示/隱藏 + + + Resource Monitor + 資源監控 + + + Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? + 確定要在沙盤化 (是) 未沙盤化 (否) 的瀏覽器中開啟 %1 嗎? + + + Reset all hidden messages + 重置所有隱藏訊息 + + + A sandbox must be emptied before it can be deleted. + 刪除沙盤之前必須清空。 + + + The sandbox name can contain only letters, digits and underscores which are displayed as spaces. + 沙盤名稱不能為空白,只能包含字母、數字和下劃線。 + + + A sandbox must be emptied before it can be renamed. + 重新命名沙盤之前必須將其清空。 + + + API Call Logging + API 呼叫日誌 + + + Loaded Config: %1 + 載入的配置: %1 + + + Reload ini file + 重新載入 ini 檔案 + + + Remember choice for later. + 以後記住選擇。 + + + &Maintenance + &維護 + + + The sandbox name can not be a device name. + 沙盤名稱不能為裝置名稱。 + + + Operation failed for %1 item(s). + %1 項作業失敗。 + + + Global Settings + 全域性設定 + + + Downloading new version... + 下載新版本... + + + &Sandbox + &沙盤 + + + <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> + <h3>關於 Sandboxie-Plus</h3><p>版本 %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> + + + Cleanup + 清理 + + + Failed to check for updates, error: %1 + 檢查更新失敗,錯誤: %1 + + + Disconnect + 斷開連線 + + + Connect + 連線 + + + Only Administrators can change the config. + 僅限管理員可更改配置。 + + + Disable Forced Programs + 禁用強制執行程式 + + + Snapshot not found + 未發現快照 + + + Failed to remove old RegHive + 刪除舊版登錄檔項目失敗 + + + Stop All + 停止所有 + + + Can't find Sandboxie installation path. + 無法找到 Sandboxie 安裝路徑。 + + + Delete protection is enabled for the sandbox + 沙盤的刪除保護被已啟用 + + + &Advanced + &進階 + + + An incompatible Sandboxie %1 was found. Compatible versions: %2 + 已發現不相容的 Sandboxie %1。相容版本為: %2 + + + Administrator rights are required for this operation. + 此作業需要管理員授權。 + + + Executing maintenance operation, please wait... + 執行維護作業,請稍等... + + + <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> + <p>有新版本 Sandboxie-Plus 可用。<br /><font color='red'>新版本:</font> <b>%1</b></p> + + + Stop Service + 停止服務 + + + Create New Box + 建立新沙盤 + + + Failed to copy RegHive + 複製登錄檔項目失敗 + + + Failed to terminate all processes + 終止所有處理程序失敗 + + + Advanced View + 進階檢視 + + + Failed to delete sandbox %1: %2 + 刪除沙盤 %1: %2 失敗 + + + <p>Do you want to go to the <a href="%1">download page</a>?</p> + <p>確定要開啟 <a href="%1">下載頁面</a>?</p> + + + Maintenance operation Successful + 維護作業成功 + + + PID %1: + PID %1: + + + Error Status: %1 + 錯誤程式碼: %1 + + + Terminate All Processes + 終止所有處理程序 + + + Please enter the configuration password. + 請輸入配置密碼。 + + + Do you also want to reset hidden message boxes (yes), or only all log messages (no)? + 你是否要重置已隱藏訊息視窗 (是) ,或僅用於所有日誌訊息 (否)? + + + You are not authorized to update configuration in section '%1' + 您無權在此處更新配置 '%1' + + + Failed to connect to the driver + 連線驅動程式失敗 + + + Failed to communicate with Sandboxie Service: %1 + 無法與 Sandboxie 服務取得聯絡: %1 + + + Failed to execute: %1 + 執行失敗: %1 + + + This Snapshot operation can not be performed while processes are still running in the box. + 因處理程序正在沙盤中運作,此快照操作無法完成。 + + + server not reachable + 伺服器無法訪問 + + + Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. + 合併快照目錄 '%1' 和 '%2' 錯誤,快照沒有被完全合併。 + + + Edit ini file + 編輯 ini 檔案 + + + Checking for updates... + 檢查更新... + + + No sandboxes found; creating: %1 + 未找到沙盤;建立: %1 + + + Cleanup Resource Log + 清理資源日誌 + + + Cleanup Message Log + 清理訊息日誌 + + + About the Qt Framework + 關於 Qt 框架 + + + Keep terminated + 保持終止 + + + A sandbox of the name %1 already exists + 沙盤名稱 %1 已存在 + + + Failed to set configuration setting %1 in section %2: %3 + 配置設定 %1 失敗於 %2: %3 + + + Copy Cell + 複製單元格 + + + Copy Row + 複製列 + + + Copy Panel + 複製表格 + + + Failed to stop all Sandboxie components + 停止所有 Sandboxie 元件失敗 + + + Failed to start required Sandboxie components + 啟動所需 Sandboxie 元件失敗 + + + Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? + Sandboxie-Plus 於便攜模式中啟動,您想將沙盤目錄放到它的上級目錄嗎? + + + The file %1 already exists, do you want to overwrite it? + 檔案 %1 已存在,您確定要覆蓋它嗎? + + + Do this for all files! + 為所有檔案執行此操作! + + + To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. +Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. + 要使用 API 記錄日誌首先必須從 https://github.com/sandboxie-plus/LogApiDll 下載 LogApiDll,並為一個或更多沙盤設定。 +請下載最新發布版本,並使用 sandboxie.ini 安裝,更多內容請參考 README.md 中此項目的說明。 + + + No new updates found, your Sandboxie-Plus is up-to-date. + 無可用更新,您的 Sandboxie-Plus 已為最新 + + + <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 是著名程式 Sandboxie 的開源延續。</p><p></p><p>訪問 <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> 以取得更多資訊。</p><p></p><p></p><p></p><p>圖示來自 <a href="https://icons8.com">icons8.com</a></p><p></p> + + + Always on Top + 保持視窗置頂 + + + Sellect box: + 選取沙盤: + + + Some compatybility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? + 一些相容性模板 (%1) 丟失,可能已被刪除,您確定要從所有沙盤中刪除它們嗎? + + + Cleaned up removed templates... + 清理已刪除的模板... + + + Can not create snapshot of an empty sandbox + 無法為空白沙盤建立快照 + + + A sandbox with that name already exists + 已存在同名沙盤 + + + Reset Columns + 重設欄 + + + Window Finder + 尋找視窗 + + + Show Hidden Boxes + 顯示隱藏沙盤 + + + Select box: + 選取沙盤: + + + Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? + 一些相容性模板已丟失,可能是已被刪除,是否從所有沙盤中移除它們? + + + Do you want to terminate all processes in all sandboxes? + 是否終止所有沙盤中的所有處理程式? + + + Terminate all without asking + 終止全部並不再詢問 + + + The selected window is running as part of program %1 in sandbox %2 + 所選取的視窗正作為沙盤 %2 中的程式 %1 運作 + + + The selected window is not running as part of any sandboxed program. + 所選取的視窗並不屬於任何沙盤化程式。 + + + Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. + 托拽尋找工具至一個視窗上以選取它,然後釋放滑鼠以檢查其是否已被沙盤化。 + + + Sandboxie-Plus - Window Finder + Sandboxie-Plus - 尋找視窗 + + + Default sandbox not found; creating: %1 + 未找到預設沙盤; 建立中: %1 + + + <p>Do you want to go to the <a href="%1">info page</a>?</p> + <p>你是否想要前往 <a href="%1">資訊頁面</a>?</p> + + + Don't show this message anymore. + 不再顯示此訊息。 + + + + CSbieModel + + Name + 名稱 + + + Box Groupe + 沙盤群組 + + + Status + 狀態 + + + Path / Command Line + 路徑 / 命令列 + + + Start Time + 開始時間 + + + Process ID + 處理程序 ID + + + Title + 標題 + + + + CSbieProcess + + Terminated + 已終止 + + + Running + 運作中 + + + + CSbieView + + Run + 執行 + + + Create Shortcut to sandbox %1 + 為沙盤 %1 建立捷徑 + + + Options: + + 選項: + + + + Drop Admin Rights + 撤銷管理員授權 + + + Run eMail Client + 執行郵件用戶端 + + + Remove Group + 刪除群組 + + + Sandbox Options + 沙盤選項 + + + Sandbox Presets + 沙盤預設 + + + Do you want to %1 the selected process(es) + 確定要 %1 所選處理程序 + + + Move to Group + 移動至群組 + + + Remove Sandbox + 刪除沙盤 + + + Rename Sandbox + 重新命名沙盤 + + + Run from Start Menu + 從開始選單執行 + + + Preset + 預設 + + + Please enter a new group name + 請輸入新的群組名稱 + + + Enable API Call logging + 啟用 API 呼叫日誌 + + + [None] + [無] + + + Please enter a new name for the Sandbox. + 請為沙盤輸入新名稱 + + + Add Group + 新增群組 + + + Delete Content + 刪除內容 + + + Create Shortcut + 建立捷徑 + + + Do you really want to remove the selected sandbox(es)? + 確定要刪除所選沙盤嗎? + + + Run Program + 執行程式 + + + IPC root: %1 + + IPC 根目錄: %1 + + + + Block and Terminate + 阻止並終止 + + + Registry root: %1 + + 登錄檔根目錄: %1 + + + + File root: %1 + + 檔案根目錄: %1 + + + + Terminate + 終止 + + + Set Leader Process + 設定導引處理程序 + + + Terminate All Programs + 終止所有程式 + + + Do you really want to remove the selected group(s)? + 確定要刪除所選群組嗎? + + + Run Web Browser + 執行網頁瀏覽器 + + + Force into this sandbox + 強制加入此沙盤 + + + Allow Network Shares + 允許網路共享 + + + Run Cmd.exe + 執行 Cmd.exe + + + Snapshots Manager + 快照管理 + + + Run Explorer + 執行檔案總管 + + + Block Internet Access + 禁止網路訪問 + + + Set Linger Process + 設定駐留處理程序 + + + Create New Box + 建立新沙盤 + + + Pin to Run Menu + 固定到執行選單 + + + Recover Files + 恢復檔案 + + + This box does not have Internet restrictions in place, do you want to enable them? + 此沙盤無網際網路限制,確定要啟用它們嗎? + + + Explore Content + 瀏覽內容 + + + Allow internet access + 允許網路訪問 + + + Don't show this message again. + 不再顯示此訊息 + + + This Sandbox is already empty. + 此沙盤為空。 + + + Do you want to delete the content of the selected sandbox? + 您確定要刪除所選沙盤的內容? + + + Do you really want to delete the content of multiple sandboxes? + 您確定要刪除多個沙盤的內容? + + + Do you want to terminate all processes in the selected sandbox(es)? + 您確定要終止選定沙盤中的所有處理程序? + + + This sandbox is disabled, do you want to enable it? + 此沙盤已禁用,是否啟用? + + + This Sandbox is empty. + 此沙盤為空。 + + + A group can not be its own parent. + 群組不能作為其本身的上級群組。 + + + + CSettingsWindow + + Close + 關閉 + + + Please enter the new configuration password. + 請輸入新配置密碼。 + + + Close to Tray + 關閉到工作列 + + + Select Directory + 選取目錄 + + + Please enter a program file name + 請輸入程式檔名 + + + Folder + 資料夾 + + + Prompt before Close + 關閉前提示 + + + Process + 處理程序 + + + Sandboxie Plus - Settings + Sandboxie Plus - 設定 + + + Please re-enter the new configuration password. + 請再次輸入新配置密碼。 + + + Passwords did not match, please retry. + 密碼不正確,請重新輸入。 + + + Auto Detection + 自動偵測 + + + + CSnapshotsWindow + + Do you really want to delete the selected snapshot? + 確定要刪除所選快照? + + + New Snapshot + 新快照 + + + Snapshot + 快照 + + + Do you really want to switch the active snapshot? Doing so will delete the current state! + 確定要切換正在使用的快照?這樣做會刪除當前狀態! + + + %1 - Snapshots + %1 - 快照 + + + Please enter a name for the new Snapshot. + 請輸入新快照名稱。 + + + + NewBoxWindow + + Copy options from an existing box: + 從已有沙盤複製選項: + + + Initial sandbox configuration: + 初始沙盤配置: + + + Select restriction/isolation template: + 選取限制/隔離模板: + + + SandboxiePlus new box + SandboxiePlus 新沙盤 + + + Enter a name for the new box: + 輸入新沙盤名稱: + + + Sandbox Name: + 沙盤名稱: + + + + OptionsWindow + + Name + 名稱 + + + Path + 路徑 + + + Save + 儲存 + + + Type + 類別 + + + Allow only selected programs to start in this sandbox. * + 僅允許被選取的程式在此沙盤中啟動。 * + + + Force Folder + 強制執行資料夾 + + + Add IPC Path + 新增 IPC 位址 + + + Sandbox Indicator in title: + 在標題顯示沙盤標記: + + + Debug + 除錯 + + + Users + 使用者 + + + <- for this one the above does not apply + <- 啟用此選項後以上內容將不套用 + + + Block network files and folders, unless specifically opened. + 禁用網路檔案和資料夾,除非額外開啟。 + + + Command Line + 命令列 + + + Don't alter window class names created by sandboxed programs + 不要改變由沙盤程式建立的視窗類名 + + + Prevent change to network and firewall parameters + 阻止更改網路和防火牆引數 + + + Internet Restrictions + 網路限制 + + + 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. + 配置處理程序所訪問的資源。雙擊進入編輯。 +'管理' 檔案和機碼僅適用於沙盤外的程式二進位制檔案。 +注意所有關閉的...=!<程式>,... 例外也有相同限制。 +想要管理檔案訪問可使用 '管理全部' 使其套用至全部程式。 + + + Log Debug Output to the Trace Log + 記錄除錯輸出至追蹤日誌 + + + Forced Programs + 強制執行程式 + + + Add Wnd Class + 新增視窗類別 + + + Access Tracing + 訪問追蹤 + + + File Options + 檔案選項 + + + General Options + 通用選項 + + + Open Windows Credentials Store + 開啟 Windows 憑證儲存空間 + + + kilobytes + KB + + + 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. + 如果其他所有程式已經終止後,駐留程式仍在運作,將自動終止。 + +如果導引處理程序已確定,所有其他處理程序將被視為駐留處理程序。 + + + Allow all programs to start in this sandbox. + 允許所有程式在此沙盤中啟動。 + + + Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. + 啟用快速恢復提示以便建立檔案時能儘快恢復。 + + + General restrictions + 通用限制 + + + Move Up + 上移 + + + Access + 訪問 + + + These options are intended for debugging compatibility issues, please do not use them in production use. + 這些選項是為除錯相容性問題而設計的,在日常使用時請不要開啟。 + + + Text Filter + 文字過濾 + + + Cancel + 取消 + + + Restrict Resource Access monitor to administrators only + 限制資源訪問監視器使其僅限管理員使用 + + + Protect the sandbox integrity itself + 沙盤完整性保護 + + + Add Folder + 新增資料夾 + + + Prompt user whether to allow an exemption from the blockade. + 提示使用者是否允許例外免於封鎖。 + + + IPC Trace + IPC 追蹤 + + + Limit access to the emulated service control manager to privileged processes + 限制訪問模擬服務控制管理員以提權處理程序 + + + Remove + 刪除 + + + Add File/Folder + 新增檔案/資料夾 + + + Block internet access for all programs except those added to the list. + 禁止所有程式訪問網路,除了已新增至清單中的。 + + + Issue message 1307 when a program is denied internet access + 當程式被拒絕訪問網路時提示錯誤代碼 1307 + + + Compatibility + 相容性 + + + Stop Behaviour + 停止行為 + + + Note: Programs installed to this sandbox won't be able to access the internet at all. + 注意: 安裝在此沙盤裡的程式將完全無法訪問網路。 + + + Box Options + 沙盤選項 + + + Don't allow sandboxed processes to see processes running in other boxes + 不允許沙盤化的處理程序檢視其他沙盤裡處理程序的運作 + + + Add Group + 新增群組 + + + Sandboxed window border: + 沙盤化視窗邊框: + + + Prevent selected programs from starting in this sandbox. + 阻止所選程式在此沙盤中啟動。 + + + Miscellaneous + 其他 + + + Issue message 2102 when a file is too large + 當檔案過大時提示錯誤代碼 2102 + + + File Recovery + 檔案恢復 + + + Box Delete options + 沙盤刪除選項 + + + Pipe Trace + Pipe 追蹤 + + + File Trace + 檔案追蹤 + + + Program + 程式 + + + Add Process + 新增處理程序 + + + Add Program + 新增程式 + + + Filter Categories + 篩選類別 + + + Copy file size limit: + 複製檔案大小限制: + + + Open System Protected Storage + 開放系統保護儲存空間 + + + Protect the system from sandboxed processes + 保護系統免受來自沙盤化處理程序的訪問 + + + Add Leader Program + 新增導引程式 + + + SandboxiePlus Options + SandboxiePlus 選項 + + + Category + 類別 + + + Drop rights from Administrators and Power Users groups + 撤銷管理員和超級使用者群組的授權 + + + Add Reg Key + 新增登錄檔機碼 + + + Sandbox protection + 沙盤保護 + + + 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. + 您可將程式分組並且為它們設定群組名稱。程式群組可以代替程式名稱被用於一些設定。 + + + Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes + 保護沙盤化系統處理程序免受來自未授權的未沙盤化處理程序訪問 + + + COM Class Trace + COM 元件追蹤 + + + Add Command + 新增命令 + + + Hide Processes + 隱藏處理程序 + + + When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. + 當快速恢復功能被啟用,將檢查下列資料夾沙盤化內容。 + + + px Width + 寬度像素 + + + Add User + 新增使用者 + + + Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. + 此處輸入的程式,或指定位置啟動的程式,將自動加入此沙盤,除非它們被確定已在其他沙盤啟動。 + + + Force Program + 強制運作程式 + + + WARNING, these options can disable core security guarantees and break sandbox security!!! + 警告,這些選項可以使核心安全保障失效並且破壞沙盤安全!!! + + + Edit ini + 編輯 ini + + + Show Templates + 顯示模板 + + + Ignore Folder + 忽略資料夾 + + + GUI Trace + GUI 追蹤 + + + Key Trace + 機碼追蹤 + + + Tracing + 追蹤 + + + Appearance + 外觀 + + + Add sandboxed processes to job objects (recommended) + 新增沙盤化處理程序至工作物件(建議) + + + Remove Program + 刪除程式 + + + You can exclude folders and file types (or file extensions) from Immediate Recovery. + 您可從快速恢復中排除資料夾和檔案類別 (或副檔名) 。 + + + Run Menu + 執行選單 + + + App Templates + 應用程式模板 + + + Remove User + 刪除使用者 + + + Ignore Extension + 忽略副檔名 + + + Move Down + 下移 + + + Protect this sandbox from deletion or emptying + 保護此沙盤以防止被刪除或清空 + + + 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. + 新增使用者賬戶和使用者群組至下列清單中來僅限這些賬戶使用沙盤。如果清單內容為空,所有賬戶都將可以使用沙盤。 + +注意: 沙盤的強制執行程式和強制執行資料夾設定不接受不能執行沙盤的賬戶。 + + + * Note: Programs installed to this sandbox won't be able to start at all. + * 注意: 安裝至此沙盤裡的程式將完全無法啟動。 + + + This list contains a large amount of sandbox compatibility enhancing templates + 此清單包含大量沙盤相容性增強模板 + + + Add Lingering Program + 新增駐留程式 + + + Program Groups + 程式群組 + + + Issue message 1308 when a program fails to start + 當程式啟動失敗時提示錯誤代碼 1308 + + + Resource Access + 資源訪問 + + + Advanced Options + 進階選項 + + + Hide host processes from processes running in the sandbox. + 隱藏沙盤中執行中處理程序的主處理程序。 + + + File Migration + 檔案轉移 + + + Auto delete content when last sandboxed process terminates + 當最後的沙盤化的處理程序終止後自動刪除內容 + + + Add COM Object + 新增 COM 物件 + + + You can configure custom entries for the sandbox run menu. + 您可為沙盤執行選單配置自訂條目。 + + + Start Restrictions + 啟動限制 + + + Force usage of custom dummy Manifest files (legacy behaviour) + 強制使用自訂虛擬 Manifest 檔案(遺留行為) + + + Edit ini Section + 編輯 ini 選項 + + + Block access to the printer spooler + 阻止訪問列印服務 + + + Allow the print spooler to print to files outside the sandbox + 允許列印服務在沙盤外列印檔案 + + + Printing + 列印 + + + Remove spooler restriction, printers can be installed outside the sandbox + 移除列印限制,印表機可安裝至沙盤外 + + + Add program + 新增程式 + + + Auto Start + 自動啟動 + + + Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated + 這裡您可以指定將在沙盤啟用時自動啟動的程式或服務 + + + Add service + 新增服務 + + + Do not start sandboxed services using a system token (recommended) + 不啟動使用系統令牌的沙盤化服務 (建議) + + + Allow access to Smart Cards + 允許訪問智慧卡片 + + + Lift security restrictions + 提升安全限制 + + + Sandbox isolation + 沙盤隔離 + + + Auto Exec + 自動執行 + + + Here you can specify a list of commands that are executed every time the sandbox is initially populated. + 此處您可以指定每次沙盤啟動時將被執行的命令清單。 + + + 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 "*". + 將驅動程式所見所有訪問事件記錄至資源訪問日誌中。 + +這些選項將設定事件標記至 "*" - 所有訪問事件 +您可在 ini 中自訂日誌,通過指定 +"A" - 已允許的訪問 +"D" - 已拒絕的訪問 +"I" - 已忽略的訪問請求 +替代 "*". + + + Allow access to Bluetooth + 允許訪問藍牙 + + + + PopUpWindow + + SandboxiePlus Notifications + SandboxiePlus 通知 + + + + QObject + + Drive %1 + 磁碟 %1 + + + + QPlatformTheme + + OK + 確定 + + + Apply + 套用 + + + Cancel + 取消 + + + &Yes + &是 + + + &No + &否 + + + + RecoveryWindow + + Close + 關閉 + + + SandboxiePlus Settings + SandboxiePlus 設定 + + + Add Folder + 新增資料夾 + + + Recover to + 恢復至 + + + Recover + 恢復 + + + Refresh + 重新整理 + + + Delete all + 刪除全部 + + + Show All Files + 顯示所有檔案 + + + TextLabel + 文字標籤 + + + SandboxiePlus - Recovery + SandboxiePlus - 恢復 + + + + SettingsWindow + + Name + 名稱 + + + Path + 路徑 + + + Change Password + 更改密碼 + + + Clear password when main window becomes hidden + 主視窗隱藏時清除密碼 + + + SandboxiePlus Settings + SandboxiePlus 設定 + + + Password must be entered in order to make changes + 必須輸入密碼以進行更改 + + + Check periodically for updates of Sandboxie-Plus + 定期檢查 Sandboxie-Plus 的更新 + + + General Options + 一般選項 + + + Program Restrictions + 程式限制 + + + Restart required (!) + 需要重新啟動 (!) + + + Tray options + 工作列選項 + + + Use Dark Theme + 使用暗色主題 + + + Enable + 啟用 + + + Add Folder + 新增資料夾 + + + Only Administrator user accounts can make changes + 僅限管理員賬戶進行更改 + + + Config protection + 配置保護 + + + Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: + 沙盤 <a href="sbie://docs/keyrootpath">登錄檔根目錄</a>: + + + Add Program + 新增程式 + + + 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 在您系統中檢測到下列軟體程式. 點選 OK 接受配置設定,將增強這些軟體程式的相容性。這些配置設定將影響所有已存在的沙盤和之後建立的新沙盤。 + + + Watch Sandboxie.ini for changes + 追蹤 Sandboxie.ini 變更 + + + Show Sys-Tray + 在系統工具列顯示 + + + Open urls from this ui sandboxed + 沙盤化從此 UI 開啟的連結 + + + In the future, don't check software compatibility + 以後不再檢查軟體相容性 + + + Disable + 禁用 + + + When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301. + 當下列程式在任意沙盤之外啟動時,Sandboxie 將提示錯誤代碼 SBIE1301。 + + + Remove Program + 刪除程式 + + + Software Compatibility + 軟體相容性 + + + On main window close: + 主窗體關閉時: + + + Add 'Run Sandboxed' to the explorer context menu + 在檔案總管新增'在沙盤中執行' + + + Issue message 1308 when a program fails to start + 當程式啟動失敗時提示錯誤代碼 1308 + + + Sandbox default + 沙盤預設 + + + Separate user folders + 獨立使用者資料夾 + + + Advanced Options + 進階選項 + + + Prevent the listed programs from starting on this system + 阻止清單中程式在此系統中啟動 + + + Only Administrator user accounts can use Disable Forced Programs command + 僅管理員賬戶可使用禁用強制執行程式命令 + + + Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: + 沙盤 <a href="sbie://docs/ipcrootpath">IPC 根目錄</a>: + + + Show Notifications for relevant log Messages + 顯示相關日誌訊息的通知 + + + Sandbox <a href="sbie://docs/filerootpath">file system root</a>: + 沙盤 <a href="sbie://docs/filerootpath">檔案系統根目錄</a>: + + + Portable root folder + 便攜化根目錄 + + + Start UI with Windows + 開機啟動 UI + + + Start UI when a sandboxed process is started + 當有沙盤化處理程序啟動時開啟 UI + + + Show first recovery window when emptying sandboxes + 當清空沙盤時顯示第一個恢復視窗 + + + ... + ... + + + Other settings + 其他設定 + + + + SnapshotsWindow + + Name: + 名稱: + + + Remove Snapshot + 刪除快照 + + + SandboxiePlus Settings + SandboxiePlus 設定 + + + Description: + 說明: + + + Go to Snapshot + 進入快照 + + + Take Snapshot + 抓取快照 + + + Selected Snapshot Details + 所選快照內容 + + + Snapshot Actions + 快照行為 + + + SandboxiePlus - Snapshots + SandboxiePlus - 快照 + + + From c405103c306f386784de3086a4ee1f032c4e3828 Mon Sep 17 00:00:00 2001 From: typpos <28550406+typpos@users.noreply.github.com> Date: Fri, 12 Feb 2021 19:59:38 +1100 Subject: [PATCH 19/30] Fix: elevated-rights-handle visible in user space. --- Sandboxie/core/drv/ipc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Sandboxie/core/drv/ipc.c b/Sandboxie/core/drv/ipc.c index 244a2f06..447bdfc2 100644 --- a/Sandboxie/core/drv/ipc.c +++ b/Sandboxie/core/drv/ipc.c @@ -1164,11 +1164,10 @@ _FX NTSTATUS Ipc_Api_DuplicateObject(PROCESS *proc, ULONG64 *parms) status = NtDuplicateObject( SourceProcessHandle, SourceHandle, - TargetProcessHandle, TargetHandle, + TargetProcessHandle, &TargetHandleValue, DesiredAccess, HandleAttributes, Options & ~DUPLICATE_CLOSE_SOURCE); - TargetHandleValue = *TargetHandle; *TargetHandle = NULL; if (NT_SUCCESS(status)) { From e011563abf5fe941d7568f90c621e732a252c572 Mon Sep 17 00:00:00 2001 From: isaak654 Date: Sat, 13 Feb 2021 17:21:11 +0100 Subject: [PATCH 20/30] Update AppPage.cpp 1) Removed many references to outdated templates 2) Added two rules to delete invalid OpenFilePath references from Sandboxie.ini (Sbie classic only) I have commented the new additions, please review carefully. --- Sandboxie/apps/control/AppPage.cpp | 103 ++++++++--------------------- 1 file changed, 27 insertions(+), 76 deletions(-) diff --git a/Sandboxie/apps/control/AppPage.cpp b/Sandboxie/apps/control/AppPage.cpp index ba517a47..190cbeb6 100644 --- a/Sandboxie/apps/control/AppPage.cpp +++ b/Sandboxie/apps/control/AppPage.cpp @@ -1169,38 +1169,43 @@ void CAppPage::UpdateWebTemplates(CBox &box) // find and remove: // OpenFilePath=seamonkey.exe,%AppData%\Mozilla\Profiles\*\bookmark* // OpenFilePath=seamonkey.exe,%AppData%\Mozilla\Profiles\*\places* - // OpenFilePath=seamon~1.exe,%AppData%\Mozilla\Profiles\*\bookmark* - // OpenFilePath=seamon~1.exe,%AppData%\Mozilla\Profiles\*\places* // // replace with: Template=SeaMonkey_Bookmarks_DirectAccess // - //const CString &SeaMonkeyTemplate(L"SeaMonkey_Bookmarks_DirectAccess"); - //const CString &SeaMonkeyPath1( - // L"%AppData%\\Mozilla\\Profiles\\*\\bookmark*"); - //const CString &SeaMonkeyPath2( - // L"%AppData%\\Mozilla\\Profiles\\*\\places*"); + const CString &SeaMonkeyTemplate(L"SeaMonkey_Bookmarks_DirectAccess"); + const CString &SeaMonkeyPath1( + L"%AppData%\\Mozilla\\Profiles\\*\\bookmark*"); + const CString &SeaMonkeyPath2( + L"%AppData%\\Mozilla\\Profiles\\*\\places*"); - //UpdateTemplates2( - // box, L"seamonkey.exe", SeaMonkeyTemplate, - // SeaMonkeyPath1, SeaMonkeyPath2); - - //UpdateTemplates2( - // box, L"seamon~1.exe", SeaMonkeyTemplate, - // SeaMonkeyPath1, SeaMonkeyPath2); + UpdateTemplates2( + box, L"seamonkey.exe", SeaMonkeyTemplate, + SeaMonkeyPath1, SeaMonkeyPath2); // // find and remove: - // OpenFilePath=opera.exe,%AppData%\Opera\Opera\Profile\opera6.adr - // OpenFilePath=opera.exe,%AppData%\Opera\Opera\Profile\notes.adr + // OpenFilePath=opera.exe,%AppData%\Opera Software\Opera Stable\Bookmarks + // OpenFilePath=opera.exe,%AppData%\Opera Software\Opera Stable\Bookmarks.bak + // OpenFilePath=opera.exe,%AppData%\Opera Software\Opera Stable\BookmarksExtras // - // replace with: Template=SeaMonkey_Bookmarks_DirectAccess + // replace with: Template=Opera_Bookmarks_DirectAccess // - //UpdateTemplates2( - // box, L"opera.exe", L"Opera_Bookmarks_DirectAccess", - // L"%AppData%\\Opera\\Opera\\Profile\\opera6.adr", - // L"%AppData%\\Opera\\Opera\\Profile\\notes.adr"); + UpdateTemplates2( + box, L"opera.exe", L"Opera_Bookmarks_DirectAccess", + L"%AppData%\\Opera Software\\Opera Stable\\Bookmarks", + L"%AppData%\\Opera Software\\Opera Stable\\Bookmarks.bak", + L"%AppData%\\Opera Software\\Opera Stable\\BookmarksExtras"); + + // + // find and remove invalid OpenFilePath reference: + // OpenFilePath=bookmarks.exe,bookmarks* + // + + UpdateTemplates2( + box, L"bookmarks.exe", L"", + L"bookmarks*"); } @@ -1211,51 +1216,6 @@ void CAppPage::UpdateWebTemplates(CBox &box) void CAppPage::UpdateEmailTemplates(CBox &box) { - // - // find and remove: - // OpenFilePath=msimn.exe,%AppData%\Identities - // OpenFilePath=msimn.exe,%Local AppData%\Identities - // OpenFilePath=msimn.exe,%AppData%\Microsoft\Address Book - // OpenFilePath=msimn.exe,*.eml - // - // replace with: Template=Outlook_Express - // - // discard: - // OpenKeyPath=msimn.exe,HKEY_CURRENT_USER\Identities - // OpenKeyPath=msimn.exe, - // HKEY_CURRENT_USER\Software\Microsoft\Outlook Express - // OpenKeyPath=msimn.exe, - // HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager - // OpenKeyPath=msimn.exe, - // HKEY_LOCAL_MACHINE\Software\Microsoft\Outlook Express - // OpenKeyPath=msimn.exe, - // HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\ - // Outlook Express - // - - //CStringList _OutlookExpressFiles; - //CStringList _OutlookExpressKeys; - - //_OutlookExpressFiles.AddTail(L"%AppData%\\Identities"); - //_OutlookExpressFiles.AddTail(L"%Local AppData%\\Identities"); - //_OutlookExpressFiles.AddTail(L"%AppData%\\Microsoft\\Address Book"); - //_OutlookExpressFiles.AddTail(L"*.eml"); - - //_OutlookExpressKeys.AddTail(L"HKEY_CURRENT_USER\\Identities"); - //_OutlookExpressKeys.AddTail( - // L"HKEY_CURRENT_USER\\Software\\Microsoft\\Outlook Express"); - //_OutlookExpressKeys.AddTail( - // L"HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Account Manager"); - //_OutlookExpressKeys.AddTail( - // L"HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Outlook Express"); - //_OutlookExpressKeys.AddTail( - // L"HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\" - // L"Microsoft\\Outlook Express"); - - //UpdateTemplates3( - // box, L"msimn.exe", L"Outlook_Express", - // _OutlookExpressFiles, _OutlookExpressKeys); - // // find and remove: // OpenFilePath=outlook.exe,%AppData%\Microsoft\Outlook @@ -1383,15 +1343,10 @@ void CAppPage::UpdateEmailTemplates(CBox &box) box, L"thunderbird.exe", _Thunderbird, _ThunderbirdFiles, _ThunderbirdKeys); - //UpdateTemplates3( - // box, L"thunde~1.exe", _Thunderbird, - // _ThunderbirdFiles, _ThunderbirdKeys); - // // find and remove: // OpenFilePath=seamonkey.exe,%AppData%\Mozilla\Profiles\*\Mail* - // OpenFilePath=seamonkey.exe, - // %Local AppData%\Mozilla\Profiles\*\Mail* + // OpenFilePath=seamonkey.exe,%Local AppData%\Mozilla\Profiles\*\Mail* // // replace with: Template=SeaMonkey // @@ -1423,10 +1378,6 @@ void CAppPage::UpdateEmailTemplates(CBox &box) box, L"seamonkey.exe", _SeaMonkey, _SeaMonkeyFiles, _SeaMonkeyKeys); - //UpdateTemplates3( - // box, L"seamon~1.exe", _SeaMonkey, - // _SeaMonkeyFiles, _SeaMonkeyKeys); - // // find and remove: // OpenFilePath=opera.exe,%AppData%\Opera\Opera\mail From f0bac29ced8a8a74be597191332364bd96ff3a6c Mon Sep 17 00:00:00 2001 From: isaak654 Date: Sat, 13 Feb 2021 17:32:27 +0100 Subject: [PATCH 21/30] Additional fixes --- Sandboxie/apps/control/AppPage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sandboxie/apps/control/AppPage.cpp b/Sandboxie/apps/control/AppPage.cpp index 190cbeb6..eb14c37f 100644 --- a/Sandboxie/apps/control/AppPage.cpp +++ b/Sandboxie/apps/control/AppPage.cpp @@ -1175,9 +1175,9 @@ void CAppPage::UpdateWebTemplates(CBox &box) const CString &SeaMonkeyTemplate(L"SeaMonkey_Bookmarks_DirectAccess"); const CString &SeaMonkeyPath1( - L"%AppData%\\Mozilla\\Profiles\\*\\bookmark*"); + L"%AppData%\\Mozilla\\SeaMonkey\\Profiles\\*\\bookmark*"); const CString &SeaMonkeyPath2( - L"%AppData%\\Mozilla\\Profiles\\*\\places*"); + L"%AppData%\\Mozilla\\SeaMonkey\\Profiles\\*\\places*"); UpdateTemplates2( box, L"seamonkey.exe", SeaMonkeyTemplate, From 104fdb07aa0df86948560f4ee577aa647d10a9d9 Mon Sep 17 00:00:00 2001 From: isaak654 Date: Sat, 13 Feb 2021 18:36:38 +0100 Subject: [PATCH 22/30] Additional fixes (2) --- Sandboxie/apps/control/AppPage.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Sandboxie/apps/control/AppPage.cpp b/Sandboxie/apps/control/AppPage.cpp index eb14c37f..c90d2b9a 100644 --- a/Sandboxie/apps/control/AppPage.cpp +++ b/Sandboxie/apps/control/AppPage.cpp @@ -1191,12 +1191,17 @@ void CAppPage::UpdateWebTemplates(CBox &box) // // replace with: Template=Opera_Bookmarks_DirectAccess // + + const CString &OperaBookmarksTemplate(L"Opera_Bookmarks_DirectAccess"); + const CString &OperaBookmarks1(L"%AppData%\\Opera Software\\Opera Stable\\Bookmarks"); + const CString &OperaBookmarks2(L"%AppData%\\Opera Software\\Opera Stable\\Bookmarks.bak"); + const CString &OperaBookmarks3(L"%AppData%\\Opera Software\\Opera Stable\\BookmarksExtras"); UpdateTemplates2( - box, L"opera.exe", L"Opera_Bookmarks_DirectAccess", - L"%AppData%\\Opera Software\\Opera Stable\\Bookmarks", - L"%AppData%\\Opera Software\\Opera Stable\\Bookmarks.bak", - L"%AppData%\\Opera Software\\Opera Stable\\BookmarksExtras"); + box, L"opera.exe", OperaBookmarksTemplate, OperaBookmarks1, OperaBookmarks2); + + UpdateTemplates2( + box, L"opera.exe", OperaBookmarksTemplate, OperaBookmarks3, OperaBookmarks3); // // find and remove invalid OpenFilePath reference: @@ -1204,7 +1209,7 @@ void CAppPage::UpdateWebTemplates(CBox &box) // UpdateTemplates2( - box, L"bookmarks.exe", L"", + box, L"bookmarks.exe", L"\0", L"bookmarks*"); } @@ -1385,10 +1390,10 @@ void CAppPage::UpdateEmailTemplates(CBox &box) // replace with: Template=Opera_Mail // - CString _OperaPath1(L"%AppData%\\Opera\\Opera\\mail"); + CString _OperaMailPath1(L"%AppData%\\Opera\\Opera\\mail"); UpdateTemplates2( - box, L"opera.exe", L"Opera_Mail", _OperaPath1, _OperaPath1); + box, L"opera.exe", L"Opera_Mail", _OperaMailPath1, _OperaMailPath1); } From ca17a9ed3516f3ce119071cf86ab5c53bfef5511 Mon Sep 17 00:00:00 2001 From: isaak654 Date: Sat, 13 Feb 2021 18:49:01 +0100 Subject: [PATCH 23/30] Update AppPage.cpp --- Sandboxie/apps/control/AppPage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sandboxie/apps/control/AppPage.cpp b/Sandboxie/apps/control/AppPage.cpp index c90d2b9a..74742727 100644 --- a/Sandboxie/apps/control/AppPage.cpp +++ b/Sandboxie/apps/control/AppPage.cpp @@ -1209,7 +1209,7 @@ void CAppPage::UpdateWebTemplates(CBox &box) // UpdateTemplates2( - box, L"bookmarks.exe", L"\0", + box, L"bookmarks.exe", L'\0', L"bookmarks*"); } From 32249a0520b900801f14a41ee62fca50ec43814a Mon Sep 17 00:00:00 2001 From: isaak654 Date: Sat, 13 Feb 2021 18:59:52 +0100 Subject: [PATCH 24/30] Update AppPage.cpp --- Sandboxie/apps/control/AppPage.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Sandboxie/apps/control/AppPage.cpp b/Sandboxie/apps/control/AppPage.cpp index 74742727..46d24c86 100644 --- a/Sandboxie/apps/control/AppPage.cpp +++ b/Sandboxie/apps/control/AppPage.cpp @@ -1192,25 +1192,26 @@ void CAppPage::UpdateWebTemplates(CBox &box) // replace with: Template=Opera_Bookmarks_DirectAccess // - const CString &OperaBookmarksTemplate(L"Opera_Bookmarks_DirectAccess"); + const CString &OperaBookmarksTmpl(L"Opera_Bookmarks_DirectAccess"); const CString &OperaBookmarks1(L"%AppData%\\Opera Software\\Opera Stable\\Bookmarks"); const CString &OperaBookmarks2(L"%AppData%\\Opera Software\\Opera Stable\\Bookmarks.bak"); const CString &OperaBookmarks3(L"%AppData%\\Opera Software\\Opera Stable\\BookmarksExtras"); UpdateTemplates2( - box, L"opera.exe", OperaBookmarksTemplate, OperaBookmarks1, OperaBookmarks2); + box, L"opera.exe", OperaBookmarksTmpl, OperaBookmarks1, OperaBookmarks2); UpdateTemplates2( - box, L"opera.exe", OperaBookmarksTemplate, OperaBookmarks3, OperaBookmarks3); + box, L"opera.exe", OperaBookmarksTmpl, OperaBookmarks3, OperaBookmarks3); // // find and remove invalid OpenFilePath reference: // OpenFilePath=bookmarks.exe,bookmarks* // + const CString &InvalidEntry1(L"bookmarks*"); + UpdateTemplates2( - box, L"bookmarks.exe", L'\0', - L"bookmarks*"); + box, L"bookmarks.exe", L'\0', InvalidEntry1, InvalidEntry1); } From 103d0f2657feea778232bc2c39c4cf0adf9577c1 Mon Sep 17 00:00:00 2001 From: isaak654 Date: Sat, 13 Feb 2021 19:58:34 +0100 Subject: [PATCH 25/30] Typo fix --- Sandboxie/apps/control/AppPage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sandboxie/apps/control/AppPage.cpp b/Sandboxie/apps/control/AppPage.cpp index 46d24c86..6beb3f35 100644 --- a/Sandboxie/apps/control/AppPage.cpp +++ b/Sandboxie/apps/control/AppPage.cpp @@ -1135,7 +1135,7 @@ void CAppPage::UpdateTemplates(CBox &box) UpdateEmailTemplates(box); // - // finaly, enable default templates + // finally, enable default templates // SetDefaultTemplates6(box); From d34ba4d9a6784629b1c5e3779d3a5848702555cb Mon Sep 17 00:00:00 2001 From: DavidXanatos Date: Sun, 14 Feb 2021 20:18:29 +0100 Subject: [PATCH 26/30] Build 0.7.0 --- CHANGELOG.md | 48 +- Sandboxie/apps/common/Common.vcxproj | 3 + Sandboxie/apps/control/AppPage.cpp | 2 +- Sandboxie/apps/control/BorderGuard.cpp | 18 +- Sandboxie/apps/control/Box.cpp | 23 +- Sandboxie/apps/control/Box.h | 4 +- Sandboxie/apps/control/BoxPage.cpp | 16 +- Sandboxie/apps/control/MonitorDialog.cpp | 3 +- Sandboxie/apps/control/SbieControl.rc | Bin 71852 -> 72620 bytes Sandboxie/apps/control/resource.h | 5 +- Sandboxie/common/my_version.h | 6 +- Sandboxie/common/my_xeb.h | 388 ++ Sandboxie/core/dll/SboxDll32.def | 2 +- Sandboxie/core/dll/config.c | 56 + Sandboxie/core/dll/file.c | 53 + Sandboxie/core/dll/file_copy.c | 6 +- Sandboxie/core/dll/gui_p.h | 2 + Sandboxie/core/dll/guititle.c | 2 +- Sandboxie/core/dll/proc.c | 35 +- Sandboxie/core/dll/rpcrt.c | 231 +- Sandboxie/core/dll/sbieapi.c | 8 +- Sandboxie/core/dll/sbieapi.h | 1 + Sandboxie/core/dll/sbiedll.h | 2 + Sandboxie/core/dll/secure.c | 46 + Sandboxie/core/dll/setup.c | 163 +- Sandboxie/core/dll/sh.c | 169 +- Sandboxie/core/dll/taskbar.c | 34 +- Sandboxie/core/dll/trace.c | 48 +- Sandboxie/core/dll/trace.h | 2 + Sandboxie/core/dll/util_32.asm | 57 +- Sandboxie/core/dll/util_64.asm | 65 +- Sandboxie/core/drv/SboxDrv.vcxproj | 7 + Sandboxie/core/drv/SboxDrv.vcxproj.filters | 6 + Sandboxie/core/drv/api_defs.h | 2 + Sandboxie/core/drv/file.c | 2 + Sandboxie/core/drv/file_ctrl.c | 130 + Sandboxie/core/drv/ipc.c | 10 +- Sandboxie/core/drv/ipc_lsa.c | 2 +- Sandboxie/core/drv/ipc_port.c | 14 + Sandboxie/core/drv/ipc_sam.c | 190 + Sandboxie/core/drv/ipc_spl.c | 2 +- Sandboxie/core/drv/log.c | 2 +- Sandboxie/core/drv/process.h | 2 + Sandboxie/core/drv/session.c | 50 +- Sandboxie/core/drv/session.h | 2 +- Sandboxie/core/drv/syscall.c | 10 +- Sandboxie/core/drv/syscall_open.c | 88 +- Sandboxie/core/svc/EpMapperServer.cpp | 2 +- Sandboxie/core/svc/sbieiniserver.cpp | 2 + Sandboxie/install/Templates.ini | Bin 189840 -> 190634 bytes Sandboxie/msgs/Sbie-English-1033.txt | 4 + SandboxiePlus/MiscHelpers/Common/Finder.cpp | 47 +- SandboxiePlus/MiscHelpers/Common/Finder.h | 12 +- SandboxiePlus/MiscHelpers/Common/PanelView.h | 2 + .../MiscHelpers/Common/SortFilterProxyModel.h | 123 + SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj | 2 + .../QSbieAPI/QSbieAPI.vcxproj.filters | 6 + SandboxiePlus/QSbieAPI/Sandboxie/SandBox.cpp | 8 +- SandboxiePlus/QSbieAPI/Sandboxie/SandBox.h | 6 +- SandboxiePlus/QSbieAPI/SbieAPI.cpp | 139 +- SandboxiePlus/QSbieAPI/SbieAPI.h | 61 +- SandboxiePlus/QSbieAPI/SbieTrace.cpp | 151 + SandboxiePlus/QSbieAPI/SbieTrace.h | 79 + SandboxiePlus/SandMan/ApiLog.cpp | 103 - SandboxiePlus/SandMan/ApiLog.h | 74 - SandboxiePlus/SandMan/Forms/OptionsWindow.ui | 114 +- SandboxiePlus/SandMan/Models/ApiMonModel.cpp | 144 - SandboxiePlus/SandMan/Models/ApiMonModel.h | 40 - SandboxiePlus/SandMan/Models/ResMonModel.cpp | 27 +- SandboxiePlus/SandMan/Models/ResMonModel.h | 13 +- SandboxiePlus/SandMan/Models/SbieModel.cpp | 20 +- SandboxiePlus/SandMan/Models/SbieModel.h | 1 + SandboxiePlus/SandMan/SandMan.cpp | 174 +- SandboxiePlus/SandMan/SandMan.h | 23 +- SandboxiePlus/SandMan/SandMan.vcxproj | 4 - SandboxiePlus/SandMan/SandMan.vcxproj.filters | 12 - SandboxiePlus/SandMan/SbiePlusAPI.cpp | 18 +- SandboxiePlus/SandMan/Views/SbieView.cpp | 26 +- SandboxiePlus/SandMan/Views/SbieView.h | 4 + .../SandMan/Windows/OptionsWindow.cpp | 3 + SandboxiePlus/SandMan/sandman_de.ts | 5947 +++++++++-------- SandboxiePlus/SandMan/sandman_pl.ts | 676 +- SandboxiePlus/SandMan/sandman_pt.ts | 691 +- SandboxiePlus/SandMan/sandman_ru.ts | 70 +- SandboxiePlus/SandMan/sandman_tr.ts | 72 +- SandboxiePlus/SandMan/sandman_zh-CN.ts | 4780 ++++++------- SandboxiePlus/SandMan/sandman_zh-TW.ts | 4812 ++++++------- SandboxiePlus/version.h | 4 +- 88 files changed, 11135 insertions(+), 9378 deletions(-) create mode 100644 Sandboxie/common/my_xeb.h create mode 100644 Sandboxie/core/drv/file_ctrl.c create mode 100644 Sandboxie/core/drv/ipc_sam.c create mode 100644 SandboxiePlus/QSbieAPI/SbieTrace.cpp create mode 100644 SandboxiePlus/QSbieAPI/SbieTrace.h delete mode 100644 SandboxiePlus/SandMan/ApiLog.cpp delete mode 100644 SandboxiePlus/SandMan/ApiLog.h delete mode 100644 SandboxiePlus/SandMan/Models/ApiMonModel.cpp delete mode 100644 SandboxiePlus/SandMan/Models/ApiMonModel.h diff --git a/CHANGELOG.md b/CHANGELOG.md index 02128e37..82b097fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,34 @@ This project adheres to [Semantic Versioning](http://semver.org/). + + +## [0.7.0 / 5.48.0] - 2021-02-14 + +### Added +- sandboxed indicator for tray icons, the tooltip now contains [#] if enabled +- the trace log buffer can now be adjusted with "TraceBufferPages=2560" +-- the value denotes the count of 4k large pages to be used, here for a total of 10 MB +- new functionality to the list finder + +### Changed +- improved RPC debugging +- improved IPC handling around RpcMgmtSetComTimeout, "RpcMgmtSetComTimeout=n" is now the default behavioure +-- required exceptions have been hard coded for specific calling dll's +- the LogApi dll is now using Sbies tracing facility to logg events instead of an own pipe server + +### Fixed +- FIXED SECURITY ISSUE: elevated sandboxed processes could access volumes/disks for reading (thanks hg421) +- 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 a elevated rights handle to a process (thanks typpos) +- FIXED SECURITY ISSUE: "\RPC Control\samss lpc" is now filtered by the driver (thanks hg421) +-- this allowed elevated processes to change passwords, delete users and alike, to disable filtering use "OpenSamEndpoint=y" +- FIXED SECURITY ISSUE: "\Device\DeviceApi\CMApi" is now filtered by the driver (thanks hg421) +-- this allowed elevated processes to change hardware configuration, to disable filtering use "OpenDevCMApi=y" + + + ## [0.6.7 / 5.47.1] - 2021-02-01 ### Added @@ -123,7 +151,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - refactored some IPC code in the driver ### Fixed -- fixed issue allowing to bypass the registry isolation, present since Windows 10 Creators Update +- FIXED SECURITY ISSUE: the registry isolation could be bypassed, present since Windows 10 Creators Update - fixed creation time not always being properly updated in the SandMan UI @@ -163,12 +191,12 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [0.5.4 / 5.46.0] - 2021-01-06 ### Added -- Sandboxie now strips particularly problematic privileges from sandboxed system tokens +- FIXED SECURITY ISSUE: Sandboxie now strips particularly problematic privileges from sandboxed system tokens -- with those a process could attempt to bypass the sandbox isolation (thanks Diversenok) -- old legacy behaviour can be enabled with "StripSystemPrivileges=n" (absolutely NOT Recommended) - added new isolation options "ClosePrintSpooler=y" and "OpenSmartCard=n" -- those resources are open by default but for a hardened box it’s desired to close them -- added print spooler filter to prevent printers from being set up outside the sandbox +- FIXED SECURITY ISSUE: added print spooler filter to prevent printers from being set up outside the sandbox -- the filter can be disabled with "OpenPrintSpooler=y" - added overwrite prompt when recovering an already existing file - added "StartProgram=", "StartService=" and "AutoExec=" options to the SandMan UI @@ -184,10 +212,10 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Improved Resource Monitor status strings ### Fixed -- fixed a critical issue that allowed to create processes outside the sandbox (thanks Diversenok) -- fixed issues with dynamic IPC port handling that allowed to bypass IPC isolation +- FIXED SECURITY ISSUE: processes could spawn processes outside the sandbox (thanks Diversenok) +- FIXED SECURITY ISSUE: bug in the dynamic IPC port handling allowed to bypass IPC isolation - fixed issue with IPC tracing -- fixed CVE-2019-13502 "\RPC Control\LSARPC_ENDPOINT" is now filtered by the driver (thanks Diversenok) +- FIXED SECURITY ISSUE: CVE-2019-13502 "\RPC Control\LSARPC_ENDPOINT" is now filtered by the driver (thanks Diversenok) -- this allowed some system options to be changed, to disable filtering use "OpenLsaEndpoint=y" - fixed hooking issues SBIE2303 with Chrome, Edge and possibly others - fixed failed check for running processes when performing snapshot operations @@ -552,9 +580,9 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Fixed - added missing PreferExternalManifest initialization to portable mode -- fixed permission issues with sandboxed system processes +- FIXED SECURITY ISSUE: fixed permission issues with sandboxed system processes -- Note: you can use "ExposeBoxedSystem=y" for the old behaviour (debug option) -- fixed missing SCM access check for sandboxed services +- FIXED SECURITY ISSUE: fixed missing SCM access check for sandboxed services (thanks Diversenok) -- Note: to disable the access check use "UnrestrictedSCM=y" (debug option) - fixed missing initialization in service server that caused sandboxed programs to crash when querying service status - fixed many bugs that caused the SbieDrv.sys to BSOD when run with MSFT Driver Verifier active @@ -613,7 +641,8 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Sbie driver now first checks the home path for the Sbie ini before checking SystemRoot ### Fixed -- Fixed a resource leak when running sandboxed +- FIXED SECURITY ISSUE: sandboxed processes could obtain a write handle on non sandboxed processes (thanks Diversenok) +-- this allowed to inject code in non sandboxed processes - Fixed issue boxed services not starting when the path contained a space - NtQueryInformationProcess now returns the proper sandboxed path for sandboxed processes @@ -641,3 +670,4 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Fixed - fixed "Windows Installer Service could not be accessed" that got introduced with Windows 1903 + diff --git a/Sandboxie/apps/common/Common.vcxproj b/Sandboxie/apps/common/Common.vcxproj index c7680231..a713aa11 100644 --- a/Sandboxie/apps/common/Common.vcxproj +++ b/Sandboxie/apps/common/Common.vcxproj @@ -103,6 +103,7 @@ + @@ -110,7 +111,9 @@ + + diff --git a/Sandboxie/apps/control/AppPage.cpp b/Sandboxie/apps/control/AppPage.cpp index 6beb3f35..54c27df4 100644 --- a/Sandboxie/apps/control/AppPage.cpp +++ b/Sandboxie/apps/control/AppPage.cpp @@ -1539,6 +1539,6 @@ void CAppPage::SetDefaultTemplates7(CBox &box) void CAppPage::SetDefaultTemplates8(CBox& box) { - box.EnableTemplate(L"FileCppy", TRUE); + box.EnableTemplate(L"FileCopy", TRUE); box.EnableTemplate(L"SkipHook", TRUE); } diff --git a/Sandboxie/apps/control/BorderGuard.cpp b/Sandboxie/apps/control/BorderGuard.cpp index 1c12aa56..6397a442 100644 --- a/Sandboxie/apps/control/BorderGuard.cpp +++ b/Sandboxie/apps/control/BorderGuard.cpp @@ -38,6 +38,7 @@ struct BoxBorderParms { WCHAR boxname[48]; COLORREF color; BOOL title; + int width; }; @@ -468,12 +469,13 @@ void CBorderGuard::RefreshBorder( else ah += desktop->bottom; - int bb = 6; - if (rect->left <= desktop->left && - rect->top <= desktop->top && - rect->right >= desktop->right && - rect->bottom >= desktop->bottom) - bb = 4; + //int bb = 6; + //if (rect->left <= desktop->left && + // rect->top <= desktop->top && + // rect->right >= desktop->right && + // rect->bottom >= desktop->bottom) + // bb = 4; + int bb = boxparm->width; // // don't display the border if any of it would be obscured by @@ -594,12 +596,14 @@ void CBorderGuard::RefreshConf2() if (! box.GetName().IsEmpty()) { COLORREF color; BOOL title; - BOOL enabled = box.GetBorder(&color, &title); + int width; + BOOL enabled = box.GetBorder(&color, &title, &width); if (enabled) { boxparm = new BoxBorderParms; wcscpy(boxparm->boxname, box.GetName()); boxparm->color = color; boxparm->title = title; + boxparm->width = width; m_boxes.Add(boxparm); } } diff --git a/Sandboxie/apps/control/Box.cpp b/Sandboxie/apps/control/Box.cpp index 6a5ff0f4..e0943bc9 100644 --- a/Sandboxie/apps/control/Box.cpp +++ b/Sandboxie/apps/control/Box.cpp @@ -77,8 +77,8 @@ static const CString _NotifyInternetAccessDenied( static const CString _NotifyStartRunAccessDenied( L"NotifyStartRunAccessDenied"); -static const WCHAR *BorderColor_off = L",off"; -static const WCHAR *BorderColor_ttl = L",ttl"; +//static const WCHAR *BorderColor_off = L",off"; +//static const WCHAR *BorderColor_ttl = L",ttl"; //--------------------------------------------------------------------------- @@ -278,7 +278,7 @@ void CBox::SetDefaultSettings() } if (ok) - ok = SetBorder(TRUE, RGB(255,255,0), TRUE); + ok = SetBorder(TRUE, RGB(255,255,0), TRUE, 6); done: @@ -1226,9 +1226,9 @@ BOOL CBox::SetBoxNameTitle(UCHAR enabled) //--------------------------------------------------------------------------- -BOOL CBox::GetBorder(COLORREF *color, BOOL *title) +BOOL CBox::GetBorder(COLORREF *color, BOOL *title, int* width) { - *color = RGB(255,255,0); + /*color = RGB(255,255,0); *title = FALSE; CString text; @@ -1253,7 +1253,9 @@ BOOL CBox::GetBorder(COLORREF *color, BOOL *title) } else if (text.Mid(7).CompareNoCase(BorderColor_off) == 0) return FALSE; - return TRUE; + return TRUE;*/ + + return SbieDll_GetBorderColor(m_name, color, title, width); } @@ -1262,14 +1264,17 @@ BOOL CBox::GetBorder(COLORREF *color, BOOL *title) //--------------------------------------------------------------------------- -BOOL CBox::SetBorder(BOOL enabled, COLORREF color, BOOL title) +BOOL CBox::SetBorder(BOOL enabled, COLORREF color, BOOL title, int width) { WCHAR text[32]; - swprintf(text, L"#%06X", color); + swprintf(text, L"#%06X,%s,%d", color, !enabled ? L"off" : (title ? L"ttl" : L"on"), width); + + /*swprintf(text, L"#%06X", color); if (title) wcscat(text, BorderColor_ttl); if (! enabled) - wcscat(text, BorderColor_off); + wcscat(text, BorderColor_off);*/ + CSbieIni &ini = CSbieIni::GetInstance(); return ini.SetText(m_name, _BorderColor, text); } diff --git a/Sandboxie/apps/control/Box.h b/Sandboxie/apps/control/Box.h index bbb54c7f..4e0135e6 100644 --- a/Sandboxie/apps/control/Box.h +++ b/Sandboxie/apps/control/Box.h @@ -104,8 +104,8 @@ public: UCHAR GetBoxNameTitle() const; BOOL SetBoxNameTitle(UCHAR enabled); - BOOL GetBorder(COLORREF *color, BOOL *title); - BOOL SetBorder(BOOL enabled, COLORREF color, BOOL title); + BOOL GetBorder(COLORREF *color, BOOL *title, int *width); + BOOL SetBorder(BOOL enabled, COLORREF color, BOOL title, int width); BOOL GetSetBlock(WCHAR type, BOOL set, BOOL newval = FALSE); diff --git a/Sandboxie/apps/control/BoxPage.cpp b/Sandboxie/apps/control/BoxPage.cpp index a1247a21..cb374b12 100644 --- a/Sandboxie/apps/control/BoxPage.cpp +++ b/Sandboxie/apps/control/BoxPage.cpp @@ -96,6 +96,7 @@ BEGIN_MESSAGE_MAP(CBoxPage, CPropertyPage) ON_COMMAND(ID_SHOW_BORDER, Appearance_OnShowBorder) ON_COMMAND(ID_BORDER_COLOR, Appearance_OnBorderColor) ON_COMMAND(ID_BORDER_TITLE, Appearance_OnBorderTitle) + ON_CONTROL(EN_CHANGE, ID_BORDER_WIDTH, OnModified) ON_COMMAND(ID_DELETE_AUTO, AutoDelete_OnAuto) ON_COMMAND(ID_DELETE_NEVER, AutoDelete_OnNever) @@ -920,9 +921,17 @@ void CBoxPage::Appearance_OnInitDialog(CBox &box) } BOOL title; - BOOL enabled = box.GetBorder(&Appearance_BorderColor, &title); + int width; + BOOL enabled = box.GetBorder(&Appearance_BorderColor, &title, &width); if (! enabled) GetDlgItem(ID_BORDER_COLOR)->ShowWindow(SW_HIDE); + + CEdit* edit = (CEdit*)GetDlgItem(ID_BORDER_WIDTH); + edit->SetLimitText(3); + CString str; + str.Format(L"%d", width); + edit->SetWindowText(str); + Appearance_SetBorderColor(); CButton *pCheckBox3 = (CButton *)GetDlgItem(ID_SHOW_BORDER); @@ -956,7 +965,10 @@ void CBoxPage::Appearance_OnOK(CBox &box) CButton *pCheckBox4 = (CButton *)GetDlgItem(ID_BORDER_TITLE); BOOL enable = (pCheckBox3->GetCheck() == BST_CHECKED ? TRUE : FALSE); BOOL title = (pCheckBox4->GetCheck() == BST_CHECKED ? TRUE : FALSE); - ok = box.SetBorder(enable, Appearance_BorderColor, title); + CString str; + GetDlgItem(ID_MIGRATE_KB)->GetWindowText(str); + int width = _wtoi(str); + ok = box.SetBorder(enable, Appearance_BorderColor, title, width); } if (ok) diff --git a/Sandboxie/apps/control/MonitorDialog.cpp b/Sandboxie/apps/control/MonitorDialog.cpp index 94554f16..c2c2dee9 100644 --- a/Sandboxie/apps/control/MonitorDialog.cpp +++ b/Sandboxie/apps/control/MonitorDialog.cpp @@ -117,7 +117,8 @@ void CMonitorDialog::OnIdle() ULONG seq_num = m_last_entry_seq_num; USHORT type; ULONG64 pid; - ULONG status = SbieApi_MonitorGetEx(&seq_num, &type, &pid, &name[12]); + ULONG64 tid; + ULONG status = SbieApi_MonitorGetEx(&seq_num, &type, &pid, &tid, &name[12]); if (status != 0) break; // error or no more entries diff --git a/Sandboxie/apps/control/SbieControl.rc b/Sandboxie/apps/control/SbieControl.rc index d52fa4ee26a0b98c1c673cc9b0a4349b80c26422..2579a7c2dac2f1ac34b98e3d1cd07616f877a7b4 100644 GIT binary patch delta 460 zcmYk2%S!@r5Xa|Nn;DkbD&b=ZA0;76?5?^MK@UqRi0rWyNN8TVD1j7qh(bC=P?;00 z1>K^P2V)N#bm|}JSkS3cr-**574hRYGt7ME!MA$PRCT6y?8A3Y5O00!XmV_5Nq>?U z0e%L|xEUDNyuH_1JczMqtDfR&$%_7INh_8(hRE8@MV>SZAmaIs9k*V3qiKji0+wJ3 z;?$;L4Q6SqzzpyZrca<=qIT%V^B{tRnREc}5>_pAIgmpk6T!Eb6P?SY@@`1&H<2DJ zZkyZ0dUF^em^ln%Dj)0+|As_B!2Q=r^@AZcwZf2gi$Tk@{;$H(tW;EmJ#__b%U4F8@6QG9xI;rmEU zA8jQ=7A&8+)e1`@xX@$vtky+QU>a8Hvc%~`FBL@uSzTmF9~Q5?20dq=poBt&G-RBk bUxB!K!jd)Y)*FOgU`eitj_35UgSeS*$|re& delta 588 zcmZ3pon_5NmJMBs%$y9IlP3y`Pu`#y!^k;V(KvE*j#3mOSoolXCRAEd*p$J9L5V?! z0jL}XH^-{1&YrBWan9rw6Zj_2+1s)?VB!|$$p(|z7%e7WyeYa_VQLuTWR6LElf4%6 zZ5ErZmowSUSz@xBv%=)6=~CQI4E_v33@!|=3_+6*CaSZ#F!(UIPhOa)J9%AJ0MIFd zuIh{m)9u+9MW^$yGYY610&Q1dFa?u_3Y54+ z5Pe2a9VSrP97-DkP2gqV0tSL$G|WCj9|lK;5Rk**mYIQB#Au#Ahn0~>6=ba?gArj} z+6qurMhxZ*76jC9%$4R<00x2rFe*Ti0S+Ezpk*+t%;2G60X5bTC<65#N_dKZod^j< sOFW@jctLcsn=0S*Wn7GFw*O*hwBX*(CCZq?G<^j>qty04;*1-Z0o9>ukpKVy diff --git a/Sandboxie/apps/control/resource.h b/Sandboxie/apps/control/resource.h index b8068004..c024e85f 100644 --- a/Sandboxie/apps/control/resource.h +++ b/Sandboxie/apps/control/resource.h @@ -15,6 +15,7 @@ #define ID_SANDBOX_RUN_MENU 11 #define ID_SANDBOX_RUN_EXPLORER 13 #define ID_SANDBOX_MENU_SIZE 15 +#define ID_BORDER_WIDTH 1001 #define ID_SANDBOX_REVEAL 9990 #define ID_SANDBOX_SET_LAYOUT 9997 #define ID_SANDBOX_SET_FOLDER 9998 @@ -249,9 +250,9 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 104 +#define _APS_NEXT_RESOURCE_VALUE 105 #define _APS_NEXT_COMMAND_VALUE 40013 -#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_CONTROL_VALUE 1002 #define _APS_NEXT_SYMED_VALUE 103 #endif #endif diff --git a/Sandboxie/common/my_version.h b/Sandboxie/common/my_version.h index d8901f7d..fd0f32eb 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,47,1 -#define MY_VERSION_STRING "5.47.1" -#define MY_VERSION_COMPAT "5.46.0" // this refers to the driver ABI compatibility +#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 // These #defines are used by either Resource Compiler, or by NSIC installer #define SBIE_INSTALLER_PATH "..\\Bin\\" diff --git a/Sandboxie/common/my_xeb.h b/Sandboxie/common/my_xeb.h new file mode 100644 index 00000000..67c3f1b6 --- /dev/null +++ b/Sandboxie/common/my_xeb.h @@ -0,0 +1,388 @@ +/* + * Copyright 2020-2021 DavidXanatos, xanasoft.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef _XEB_ +#define _XEB_ + +#define GDI_HANDLE_BUFFER_SIZE32 34 +#define GDI_HANDLE_BUFFER_SIZE64 60 + +#if !defined(_M_X64) +#define GDI_HANDLE_BUFFER_SIZE GDI_HANDLE_BUFFER_SIZE32 +#else +#define GDI_HANDLE_BUFFER_SIZE GDI_HANDLE_BUFFER_SIZE64 +#endif + +typedef ULONG GDI_HANDLE_BUFFER32[GDI_HANDLE_BUFFER_SIZE32]; +typedef ULONG GDI_HANDLE_BUFFER64[GDI_HANDLE_BUFFER_SIZE64]; +typedef ULONG GDI_HANDLE_BUFFER[GDI_HANDLE_BUFFER_SIZE]; + +typedef struct _PEB_LDR_DATA +{ + ULONG Length; + BOOLEAN Initialized; + HANDLE SsHandle; + LIST_ENTRY InLoadOrderModuleList; + LIST_ENTRY InMemoryOrderModuleList; + LIST_ENTRY InInitializationOrderModuleList; + PVOID EntryInProgress; + BOOLEAN ShutdownInProgress; + HANDLE ShutdownThreadId; +} PEB_LDR_DATA, *PPEB_LDR_DATA; + +typedef struct _PEB +{ + BOOLEAN InheritedAddressSpace; + BOOLEAN ReadImageFileExecOptions; + BOOLEAN BeingDebugged; + union + { + BOOLEAN BitField; + struct + { + BOOLEAN ImageUsesLargePages : 1; + BOOLEAN IsProtectedProcess : 1; + BOOLEAN IsLegacyProcess : 1; + BOOLEAN IsImageDynamicallyRelocated : 1; + BOOLEAN SkipPatchingUser32Forwarders : 1; + BOOLEAN SpareBits : 3; + }; + }; + HANDLE Mutant; + + PVOID ImageBaseAddress; + PPEB_LDR_DATA Ldr; + PRTL_USER_PROCESS_PARAMETERS ProcessParameters; + PVOID SubSystemData; + PVOID ProcessHeap; + PRTL_CRITICAL_SECTION FastPebLock; + PVOID AtlThunkSListPtr; + PVOID IFEOKey; + union + { + ULONG CrossProcessFlags; + struct + { + ULONG ProcessInJob : 1; + ULONG ProcessInitializing : 1; + ULONG ProcessUsingVEH : 1; + ULONG ProcessUsingVCH : 1; + ULONG ProcessUsingFTH : 1; + ULONG ReservedBits0 : 27; + }; + ULONG EnvironmentUpdateCount; + }; + union + { + PVOID KernelCallbackTable; + PVOID UserSharedInfoPtr; + }; + ULONG SystemReserved[1]; + ULONG AtlThunkSListPtr32; + PVOID ApiSetMap; + ULONG TlsExpansionCounter; + PVOID TlsBitmap; + ULONG TlsBitmapBits[2]; + PVOID ReadOnlySharedMemoryBase; + PVOID HotpatchInformation; + PVOID *ReadOnlyStaticServerData; + PVOID AnsiCodePageData; + PVOID OemCodePageData; + PVOID UnicodeCaseTableData; + + ULONG NumberOfProcessors; + ULONG NtGlobalFlag; + + LARGE_INTEGER CriticalSectionTimeout; + SIZE_T HeapSegmentReserve; + SIZE_T HeapSegmentCommit; + SIZE_T HeapDeCommitTotalFreeThreshold; + SIZE_T HeapDeCommitFreeBlockThreshold; + + ULONG NumberOfHeaps; + ULONG MaximumNumberOfHeaps; + PVOID *ProcessHeaps; + + PVOID GdiSharedHandleTable; + PVOID ProcessStarterHelper; + ULONG GdiDCAttributeList; + + PRTL_CRITICAL_SECTION LoaderLock; + + ULONG OSMajorVersion; + ULONG OSMinorVersion; + USHORT OSBuildNumber; + USHORT OSCSDVersion; + ULONG OSPlatformId; + ULONG ImageSubsystem; + ULONG ImageSubsystemMajorVersion; + ULONG ImageSubsystemMinorVersion; + ULONG_PTR ImageProcessAffinityMask; + GDI_HANDLE_BUFFER GdiHandleBuffer; + PVOID PostProcessInitRoutine; + + PVOID TlsExpansionBitmap; + ULONG TlsExpansionBitmapBits[32]; + + ULONG SessionId; + + ULARGE_INTEGER AppCompatFlags; + ULARGE_INTEGER AppCompatFlagsUser; + PVOID pShimData; + PVOID AppCompatInfo; + + UNICODE_STRING CSDVersion; + + PVOID ActivationContextData; + PVOID ProcessAssemblyStorageMap; + PVOID SystemDefaultActivationContextData; + PVOID SystemAssemblyStorageMap; + + SIZE_T MinimumStackCommit; + + PVOID *FlsCallback; + LIST_ENTRY FlsListHead; + PVOID FlsBitmap; + ULONG FlsBitmapBits[FLS_MAXIMUM_AVAILABLE / (sizeof(ULONG) * 8)]; + ULONG FlsHighIndex; + + PVOID WerRegistrationData; + PVOID WerShipAssertPtr; + PVOID pContextData; + PVOID pImageHeaderHash; + union + { + ULONG TracingFlags; + struct + { + ULONG HeapTracingEnabled : 1; + ULONG CritSecTracingEnabled : 1; + ULONG SpareTracingBits : 30; + }; + }; +} PEB, *PPEB; + +#define GDI_BATCH_BUFFER_SIZE 310 + +typedef struct _GDI_TEB_BATCH { + ULONG Offset; + UCHAR Alignment[4]; + ULONG_PTR HDC; + ULONG Buffer[GDI_BATCH_BUFFER_SIZE]; +} GDI_TEB_BATCH, *PGDI_TEB_BATCH; + +typedef struct _TEB_ACTIVE_FRAME_CONTEXT +{ + ULONG Flags; + PSTR FrameName; +} TEB_ACTIVE_FRAME_CONTEXT, *PTEB_ACTIVE_FRAME_CONTEXT; + +// 17/3/2011 updated +typedef struct _TEB_ACTIVE_FRAME +{ + ULONG Flags; + struct _TEB_ACTIVE_FRAME *Previous; + PTEB_ACTIVE_FRAME_CONTEXT Context; +} TEB_ACTIVE_FRAME, *PTEB_ACTIVE_FRAME; + +typedef struct _TEB +{ + NT_TIB NtTib; + + PVOID EnvironmentPointer; + CLIENT_ID ClientId; + PVOID ActiveRpcHandle; + PVOID ThreadLocalStoragePointer; + PPEB ProcessEnvironmentBlock; + + ULONG LastErrorValue; + ULONG CountOfOwnedCriticalSections; + PVOID CsrClientThread; + PVOID Win32ThreadInfo; + ULONG User32Reserved[26]; + ULONG UserReserved[5]; + PVOID WOW32Reserved; + LCID CurrentLocale; + ULONG FpSoftwareStatusRegister; + PVOID SystemReserved1[54]; + NTSTATUS ExceptionCode; + PVOID ActivationContextStackPointer; +#if defined(_M_X64) + UCHAR SpareBytes[24]; +#else + UCHAR SpareBytes[36]; +#endif + ULONG TxFsContext; + + GDI_TEB_BATCH GdiTebBatch; + CLIENT_ID RealClientId; + HANDLE GdiCachedProcessHandle; + ULONG GdiClientPID; + ULONG GdiClientTID; + PVOID GdiThreadLocalInfo; + ULONG_PTR Win32ClientInfo[62]; + PVOID glDispatchTable[233]; + ULONG_PTR glReserved1[29]; + PVOID glReserved2; + PVOID glSectionInfo; + PVOID glSection; + PVOID glTable; + PVOID glCurrentRC; + PVOID glContext; + + NTSTATUS LastStatusValue; + UNICODE_STRING StaticUnicodeString; + WCHAR StaticUnicodeBuffer[261]; + + PVOID DeallocationStack; + PVOID TlsSlots[64]; + LIST_ENTRY TlsLinks; + + PVOID Vdm; + PVOID ReservedForNtRpc; + PVOID DbgSsReserved[2]; + + ULONG HardErrorMode; +#if defined(_M_X64) + PVOID Instrumentation[11]; +#else + PVOID Instrumentation[9]; +#endif + GUID ActivityId; + + PVOID SubProcessTag; + PVOID EtwLocalData; + PVOID EtwTraceData; + PVOID WinSockData; + ULONG GdiBatchCount; + + union + { + PROCESSOR_NUMBER CurrentIdealProcessor; + ULONG IdealProcessorValue; + struct + { + UCHAR ReservedPad0; + UCHAR ReservedPad1; + UCHAR ReservedPad2; + UCHAR IdealProcessor; + }; + }; + + ULONG GuaranteedStackBytes; + PVOID ReservedForPerf; + PVOID ReservedForOle; + ULONG WaitingOnLoaderLock; + PVOID SavedPriorityState; + ULONG_PTR SoftPatchPtr1; + PVOID ThreadPoolData; + PVOID *TlsExpansionSlots; +#if defined(_M_X64) + PVOID DeallocationBStore; + PVOID BStoreLimit; +#endif + ULONG MuiGeneration; + ULONG IsImpersonating; + PVOID NlsCache; + PVOID pShimData; + ULONG HeapVirtualAffinity; + HANDLE CurrentTransactionHandle; + PTEB_ACTIVE_FRAME ActiveFrame; + PVOID FlsData; + + PVOID PreferredLanguages; + PVOID UserPrefLanguages; + PVOID MergedPrefLanguages; + ULONG MuiImpersonation; + + union + { + USHORT CrossTebFlags; + USHORT SpareCrossTebBits : 16; + }; + union + { + USHORT SameTebFlags; + struct + { + USHORT SafeThunkCall : 1; + USHORT InDebugPrint : 1; + USHORT HasFiberData : 1; + USHORT SkipThreadAttach : 1; + USHORT WerInShipAssertCode : 1; + USHORT RanProcessInit : 1; + USHORT ClonedThread : 1; + USHORT SuppressDebugMsg : 1; + USHORT DisableUserStackWalk : 1; + USHORT RtlExceptionAttached : 1; + USHORT InitialThread : 1; + USHORT SpareSameTebBits : 1; + }; + }; + + PVOID TxnScopeEnterCallback; + PVOID TxnScopeExitCallback; + PVOID TxnScopeContext; + ULONG LockCount; + ULONG SpareUlong0; + PVOID ResourceRetValue; +} TEB, *PTEB; + + +typedef struct _LDR_DATA_TABLE_ENTRY +{ + LIST_ENTRY InLoadOrderLinks; + LIST_ENTRY InMemoryOrderLinks; + LIST_ENTRY InInitializationOrderLinks; + PVOID DllBase; + PVOID EntryPoint; + ULONG SizeOfImage; + UNICODE_STRING FullDllName; + UNICODE_STRING BaseDllName; + ULONG Flags; + USHORT LoadCount; + USHORT TlsIndex; + union + { + LIST_ENTRY HashLinks; + struct + { + PVOID SectionPointer; + ULONG CheckSum; + }; + }; + union + { + ULONG TimeDateStamp; + PVOID LoadedImports; + }; + PVOID EntryPointActivationContext; + PVOID PatchInformation; + LIST_ENTRY ForwarderLinks; + LIST_ENTRY ServiceTagLinks; + LIST_ENTRY StaticLinks; + PVOID ContextInformation; + ULONG_PTR OriginalBase; + LARGE_INTEGER LoadTime; +} LDR_DATA_TABLE_ENTRY, * PLDR_DATA_TABLE_ENTRY; + + +#ifndef NtCurrentPeb +__inline struct _PEB * NtCurrentPeb() { return NtCurrentTeb()->ProcessEnvironmentBlock; } +#endif + +#endif // _XEB_ \ No newline at end of file diff --git a/Sandboxie/core/dll/SboxDll32.def b/Sandboxie/core/dll/SboxDll32.def index 3cdd716f..16940b55 100644 --- a/Sandboxie/core/dll/SboxDll32.def +++ b/Sandboxie/core/dll/SboxDll32.def @@ -35,7 +35,7 @@ SbieApi_IsBoxEnabled=_SbieApi_IsBoxEnabled@4 SbieApi_MonitorControl=_SbieApi_MonitorControl@8 SbieApi_MonitorGet=_SbieApi_MonitorGet@8 -SbieApi_MonitorGetEx=_SbieApi_MonitorGetEx@16 +SbieApi_MonitorGetEx=_SbieApi_MonitorGetEx@20 SbieApi_MonitorPut=_SbieApi_MonitorPut@8 SbieApi_MonitorPut2=_SbieApi_MonitorPut2@12 diff --git a/Sandboxie/core/dll/config.c b/Sandboxie/core/dll/config.c index d2ba92ba..475f6589 100644 --- a/Sandboxie/core/dll/config.c +++ b/Sandboxie/core/dll/config.c @@ -342,4 +342,60 @@ _FX NTSTATUS Config_GetSettingsForImageName( } return STATUS_SUCCESS; +} + + +//--------------------------------------------------------------------------- +// SbieDll_GetBorderColor +//--------------------------------------------------------------------------- + + +BOOLEAN SbieDll_GetBorderColor(const WCHAR* box_name, COLORREF* color, BOOL* title, int* width) +{ +#ifndef RGB +#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16))) +#endif //RGB + + *color = RGB(255, 255, 0); + if (title) *title = FALSE; + if (width) *width = 6; + + NTSTATUS status; + WCHAR str[32]; + status = SbieApi_QueryConfAsIs(box_name, L"BorderColor", 0, str, sizeof(str) - sizeof(WCHAR)); // BorderColor=#00ffff,ttl,6 + + if (!NT_SUCCESS(status) || wcslen(str) < 7 || str[0] != L'#') + return FALSE; + + WCHAR* ptr = str; + WCHAR* tmp = wcschr(ptr, L','); + if (tmp != NULL) *tmp = L'\0'; + + WCHAR* endptr; + *color = wcstol(ptr + 1, &endptr, 16); + if (*endptr != L'\0') { + *color = RGB(255, 255, 0); + return FALSE; + } + + if (tmp == NULL) return TRUE; + ptr = tmp + 1; + tmp = wcschr(ptr, L','); + if (tmp != NULL) *tmp = L'\0'; + + if (_wcsicmp(ptr, L"ttl") == 0) + { + if (title) *title = TRUE; + } + else if (_wcsicmp(ptr, L"off") == 0) + return FALSE; + + if (tmp == NULL) return TRUE; + ptr = tmp + 1; + tmp = wcschr(ptr, L','); + if (tmp != NULL) *tmp = L'\0'; + + if (width) *width = _wtoi(ptr); + + return TRUE; } \ No newline at end of file diff --git a/Sandboxie/core/dll/file.c b/Sandboxie/core/dll/file.c index 44ddc794..529ced85 100644 --- a/Sandboxie/core/dll/file.c +++ b/Sandboxie/core/dll/file.c @@ -2306,6 +2306,37 @@ _FX NTSTATUS File_NtCreateFile( // File_NtCreateFileImpl //--------------------------------------------------------------------------- +/*static P_NtCreateFile __sys_NtCreateFile_ = NULL; + +_FX NTSTATUS File_MyCreateFile( + HANDLE* FileHandle, + ACCESS_MASK DesiredAccess, + OBJECT_ATTRIBUTES* ObjectAttributes, + IO_STATUS_BLOCK* IoStatusBlock, + LARGE_INTEGER* AllocationSize, + ULONG FileAttributes, + ULONG ShareAccess, + ULONG CreateDisposition, + ULONG CreateOptions, + void* EaBuffer, + ULONG EaLength) +{ + NTSTATUS status = __sys_NtCreateFile_( + FileHandle, DesiredAccess, ObjectAttributes, IoStatusBlock, + AllocationSize, FileAttributes, ShareAccess, CreateDisposition, + CreateOptions, EaBuffer, EaLength); + + if (ObjectAttributes && ObjectAttributes->ObjectName && ObjectAttributes->ObjectName->Buffer + && _wcsicmp(ObjectAttributes->ObjectName->Buffer, L"\\??\\C:") == 0) + { + DebugBreak(); + } + + status = StopTailCallOptimization(status); + + return status; +}*/ + _FX NTSTATUS File_NtCreateFileImpl( HANDLE *FileHandle, @@ -2345,6 +2376,12 @@ _FX NTSTATUS File_NtCreateFileImpl( // // __debugbreak(); //} + //if (__sys_NtCreateFile_ == NULL) + //{ + // __sys_NtCreateFile_ = __sys_NtCreateFile; + // __sys_NtCreateFile = File_MyCreateFile; + //} + // // if this is a recursive invocation of NtCreateFile, // then pass it as-is down the chain @@ -2471,6 +2508,22 @@ ReparseLoop: CreateOptions &= ~FILE_DELETE_ON_CLOSE; DesiredAccess &= ~FILE_DENIED_ACCESS; + // + // If this is an access on a raw disk device, adapt the requested permissions to what the drivers permits + // + + if (ObjectAttributes->ObjectName && &ObjectAttributes->ObjectName->Buffer != NULL && ObjectAttributes->ObjectName->Length > (4 * sizeof(WCHAR)) + && wcsncmp(ObjectAttributes->ObjectName->Buffer, L"\\??\\", 4) == 0 + && (DesiredAccess & ~(SYNCHRONIZE | READ_CONTROL | FILE_READ_EA | FILE_READ_ATTRIBUTES)) != 0) + { + 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} + { + DesiredAccess &= (SYNCHRONIZE | READ_CONTROL | FILE_READ_EA | FILE_READ_ATTRIBUTES); + } + } + status = __sys_NtCreateFile( FileHandle, DesiredAccess, ObjectAttributes, IoStatusBlock, AllocationSize, FileAttributes, diff --git a/Sandboxie/core/dll/file_copy.c b/Sandboxie/core/dll/file_copy.c index ef81350c..b1e7ac48 100644 --- a/Sandboxie/core/dll/file_copy.c +++ b/Sandboxie/core/dll/file_copy.c @@ -49,7 +49,7 @@ static LIST File_MigrationOptions[NUM_COPY_MODES]; static BOOLEAN File_MigrationDenyWrite = FALSE; -static ULONG File_CopyLimitKb = (80 * 1024); // 80 MB +static ULONGLONG File_CopyLimitKb = (80 * 1024); // 80 MB static BOOLEAN File_CopyLimitSilent = FALSE; //--------------------------------------------------------------------------- @@ -125,7 +125,7 @@ found_match: return mode; // - // if there is no configuration for this file type/path, then decide based on the file size + // if tere is no configuration for this file type/path decide based on the file size // if (File_CopyLimitKb == -1 || file_size < ((ULONGLONG)File_CopyLimitKb * 1024)) @@ -223,7 +223,7 @@ _FX void File_InitCopyLimit(void) if (NT_SUCCESS(status)) { ULONGLONG num = _wtoi64(str); if (num) - File_CopyLimitKb = (num > 0x000000007fffffff) ? -1 : (ULONG)num; + File_CopyLimitKb = (num > 0x000000007fffffff) ? -1 : num; else SbieApi_Log(2207, _CopyLimitKb); } diff --git a/Sandboxie/core/dll/gui_p.h b/Sandboxie/core/dll/gui_p.h index c394b940..0c6763c1 100644 --- a/Sandboxie/core/dll/gui_p.h +++ b/Sandboxie/core/dll/gui_p.h @@ -454,6 +454,8 @@ extern BOOLEAN Gui_RenameClasses; extern BOOLEAN Gui_OpenAllWinClasses; // not running in a restricted job extern BOOLEAN Gui_DisableTitle; +extern ULONG Gui_BoxNameTitleLen; +extern WCHAR* Gui_BoxNameTitleW; extern ATOM Gui_DropTargetProp_Atom; extern ATOM Gui_WindowProcOldW_Atom; diff --git a/Sandboxie/core/dll/guititle.c b/Sandboxie/core/dll/guititle.c index 2bab5312..b14c403d 100644 --- a/Sandboxie/core/dll/guititle.c +++ b/Sandboxie/core/dll/guititle.c @@ -51,7 +51,7 @@ const UCHAR *Gui_TitleSuffixA = TITLE_SUFFIX_A; static ULONG Gui_TitleSuffixA_len = 0; ULONG Gui_BoxNameTitleLen = 0; -static WCHAR *Gui_BoxNameTitleW = NULL; +WCHAR *Gui_BoxNameTitleW = NULL; static ANSI_STRING Gui_BoxNameTitleA; diff --git a/Sandboxie/core/dll/proc.c b/Sandboxie/core/dll/proc.c index d76fcf8f..1a0f1143 100644 --- a/Sandboxie/core/dll/proc.c +++ b/Sandboxie/core/dll/proc.c @@ -395,9 +395,6 @@ _FX BOOLEAN Proc_Init(void) SBIEDLL_HOOK(Proc_, SetProcessMitigationPolicy); } - // OriginalToken BEGIN - if (!SbieApi_QueryConfBool(NULL, L"OriginalToken", FALSE)) - // OriginalToken END if(Dll_OsBuild < 17677) { SBIEDLL_HOOK(Proc_,CreateProcessInternalW); @@ -752,6 +749,21 @@ _FX BOOL Proc_CreateProcessInternalW( } } + // OriginalToken BEGIN + if (SbieApi_QueryConfBool(NULL, L"OriginalToken", FALSE)) + { + ok = __sys_CreateProcessInternalW( + hToken, lpApplicationName, lpCommandLine, + lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, + lpEnvironment, lpCurrentDirectory, + lpStartupInfo, lpProcessInformation, hNewToken); + + err = GetLastError(); + + goto finish; + } + // OriginalToken END + // // create the new process // @@ -1208,6 +1220,21 @@ _FX BOOL Proc_CreateProcessInternalW_RS5( } } + // OriginalToken BEGIN + if (SbieApi_QueryConfBool(NULL, L"OriginalToken", FALSE)) + { + ok = __sys_CreateProcessInternalW_RS5( + hToken, lpApplicationName, lpCommandLine, + lpProcessAttributes, lpThreadAttributes, bInheritHandles, + dwCreationFlags, lpEnvironment, lpCurrentDirectory, + lpStartupInfo, lpProcessInformation, hNewToken); + + err = GetLastError(); + + goto finish; + } + // OriginalToken END + if (!(dwCreationFlags & CREATE_SUSPENDED)) resume_thread = TRUE; dwCreationFlags |= CREATE_SUSPENDED; @@ -1338,6 +1365,8 @@ _FX BOOL Proc_CreateProcessInternalW_RS5( // handle CreateProcessInternal returning ERROR_ELEVATION_REQUIRED // +finish: + --TlsData->proc_create_process; if ((!ok) && (err == ERROR_ELEVATION_REQUIRED)) { diff --git a/Sandboxie/core/dll/rpcrt.c b/Sandboxie/core/dll/rpcrt.c index cd945f74..68f84cc9 100644 --- a/Sandboxie/core/dll/rpcrt.c +++ b/Sandboxie/core/dll/rpcrt.c @@ -29,7 +29,7 @@ #include #define INITGUID #include - +#include "trace.h" //--------------------------------------------------------------------------- // Functions @@ -61,17 +61,23 @@ int Scm_Start_Sppsvc(); #ifdef _WIN64 +extern ULONG_PTR __cdecl RpcRt_NdrClientCall2( + PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...); + extern ULONG_PTR __cdecl RpcRt_NdrClientCall3( MIDL_STUBLESS_PROXY_INFO* pProxyInfo, ULONG nProcNum, void* pReturnValue, ...); #else -//extern ULONG_PTR __cdecl RpcRt_NdrClientCall3( -// MIDL_STUBLESS_PROXY_INFO* pProxyInfo, ULONG nProcNum, void* pReturnValue, ULONG_PTR* Args); +extern ULONG_PTR __cdecl RpcRt_NdrClientCall( + PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ULONG_PTR* Args); extern ULONG_PTR __cdecl RpcRt_NdrClientCall2( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ULONG_PTR* Args); +extern ULONG_PTR __cdecl RpcRt_NdrClientCall4( + PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ULONG_PTR* Args); + #endif _WIN64 @@ -112,12 +118,12 @@ typedef RPC_STATUS (*P_RpcMgmtSetComTimeout)(RPC_BINDING_HANDLE Binding, unsigne typedef BOOL(WINAPI* P_GetModuleInformation)(_In_ HANDLE hProcess, _In_ HMODULE hModule, _Out_ LPMODULEINFO lpmodinfo, _In_ DWORD cb); +typedef ULONG_PTR(__cdecl* P_NdrClientCallX)( + PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...); + typedef ULONG_PTR(__cdecl* P_NdrClientCall3)( MIDL_STUBLESS_PROXY_INFO* pProxyInfo, ULONG nProcNum, void* pReturnValue, ...); -typedef ULONG_PTR(__cdecl* P_NdrClientCall2)( - PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...); - //--------------------------------------------------------------------------- @@ -133,6 +139,7 @@ P_RpcBindingCreateW __sys_RpcBindingCreateW = NULL; P_RpcMgmtSetComTimeout __sys_RpcMgmtSetComTimeout = NULL; #define RPC_C_BINDING_TIMEOUT 4 +BOOLEAN __use_RpcMgmtSetComTimeout = FALSE; P_UuidToStringW __sys_UuidToStringW = NULL; @@ -141,13 +148,17 @@ P_RpcStringFreeW __sys_RpcStringFreeW = NULL; P_GetModuleInformation __sys_GetModuleInformation = NULL; #ifdef _WIN64 +P_NdrClientCallX __sys_NdrClientCall2 = NULL; P_NdrClientCall3 __sys_NdrClientCall3 = NULL; #else -P_NdrClientCall2 __sys_NdrClientCall2 = NULL; +P_NdrClientCallX __sys_NdrClientCall = NULL; +P_NdrClientCallX __sys_NdrClientCall2 = NULL; +P_NdrClientCallX __sys_NdrClientCall4 = NULL; #endif extern WCHAR* g_Ipc_DynamicPortNames[NUM_DYNAMIC_PORTS]; +BOOLEAN g_rpc_client_hooks = FALSE; //--------------------------------------------------------------------------- // RpcRt_Init @@ -188,26 +199,51 @@ _FX BOOLEAN RpcRt_Init(HMODULE module) SBIEDLL_HOOK(RpcRt_, RpcBindingCreateW); - if(Config_GetSettingsForImageName_bool(L"RpcMgmtSetComTimeout", TRUE)) - __sys_RpcMgmtSetComTimeout = (P_RpcMgmtSetComTimeout)Ldr_GetProcAddrNew(DllName_rpcrt4, L"RpcMgmtSetComTimeout", "RpcMgmtSetComTimeout"); + __sys_RpcMgmtSetComTimeout = (P_RpcMgmtSetComTimeout)Ldr_GetProcAddrNew(DllName_rpcrt4, L"RpcMgmtSetComTimeout", "RpcMgmtSetComTimeout"); + __use_RpcMgmtSetComTimeout = Config_GetSettingsForImageName_bool(L"RpcMgmtSetComTimeout", FALSE); } WCHAR wsTraceOptions[4]; if ((Dll_OsBuild >= 8400) // win8 and above && SbieApi_QueryConf(NULL, L"IpcTrace", 0, wsTraceOptions, sizeof(wsTraceOptions)) == STATUS_SUCCESS && wsTraceOptions[0] != L'\0') { + g_rpc_client_hooks = TRUE; + #ifdef _WIN64 + P_NdrClientCallX NdrClientCall2; + NdrClientCall2 = (P_NdrClientCallX)Ldr_GetProcAddrNew(DllName_rpcrt4, L"NdrClientCall2", "NdrClientCall2"); + SBIEDLL_HOOK(RpcRt_, NdrClientCall2); + P_NdrClientCall3 NdrClientCall3; NdrClientCall3 = (P_NdrClientCall3)Ldr_GetProcAddrNew(DllName_rpcrt4, L"NdrClientCall3", "NdrClientCall3"); SBIEDLL_HOOK(RpcRt_, NdrClientCall3); -#else + //Ndr64AsyncServerCall64(PRPC_MESSAGE pRpcMsg) + //Ndr64AsyncServerCallAll(PRPC_MESSAGE pRpcMsg) + //NdrAsyncServerCall(PRPC_MESSAGE pRpcMsg) + //NdrServerCall2(PRPC_MESSAGE pRpcMsg) + //NdrServerCallAll(PRPC_MESSAGE pRpcMsg) + //NdrServerCallNdr64(PRPC_MESSAGE pRpcMsg) - P_NdrClientCall2 NdrClientCall2; - NdrClientCall2 = (P_NdrClientCall2)Ldr_GetProcAddrNew(DllName_rpcrt4, L"NdrClientCall2", "NdrClientCall2"); +#else + + P_NdrClientCallX NdrClientCall; + NdrClientCall = (P_NdrClientCallX)Ldr_GetProcAddrNew(DllName_rpcrt4, L"NdrClientCall", "NdrClientCall"); + SBIEDLL_HOOK(RpcRt_, NdrClientCall); + + P_NdrClientCallX NdrClientCall2; + NdrClientCall2 = (P_NdrClientCallX)Ldr_GetProcAddrNew(DllName_rpcrt4, L"NdrClientCall2", "NdrClientCall2"); SBIEDLL_HOOK(RpcRt_, NdrClientCall2); + P_NdrClientCallX NdrClientCall4; + NdrClientCall4 = (P_NdrClientCallX)Ldr_GetProcAddrNew(DllName_rpcrt4, L"NdrClientCall4", "NdrClientCall4"); + SBIEDLL_HOOK(RpcRt_, NdrClientCall4); + + //NdrAsyncServerCall(PRPC_MESSAGE pRpcMsg) + //NdrServerCall2(PRPC_MESSAGE pRpcMsg) + //NdrServerCall(PRPC_MESSAGE pRpcMsg) + #endif } @@ -357,9 +393,6 @@ WCHAR* GetDynamicLpcPortName(ENUM_DYNAMIC_PORT_TYPE portType) _FX ULONG RpcRt_RpcBindingFromStringBindingW( const WCHAR *StringBinding, void **OutBinding) { - static const WCHAR *_old = - L"ncalrpc:[,Security=Impersonation Dynamic False]"; - // // printing functions in winspool.drv talk to the Spooler service // (process spoolsv.exe). prior to Windows 8.1, the service was @@ -395,13 +428,19 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW( return RPC_S_INVALID_ARG; } + static const WCHAR* dynamicFalse = L"ncalrpc:[,Security=Impersonation Dynamic False]"; + static const WCHAR* dynamicTrue = L"ncalrpc:[,Security=Impersonation Dynamic True]"; + + BOOLEAN use_RpcMgmtSetComTimeout = __use_RpcMgmtSetComTimeout; + + ULONG_PTR pRetAddr = (ULONG_PTR)_ReturnAddress(); + WCHAR wstrPortName[DYNAMIC_PORT_NAME_CHARS]; memset(wstrPortName, 0, sizeof(wstrPortName)); - if (_wcsicmp(StringBinding, _old) == 0) { + if (_wcsicmp(StringBinding, dynamicFalse) == 0) { ULONG_PTR pWinSpool = (ULONG_PTR)GetModuleHandle(L"winspool.drv"); - ULONG_PTR pRetAddr = (ULONG_PTR)_ReturnAddress(); if (RpcRt_TestCallingModule(pRetAddr, pWinSpool)) { @@ -412,10 +451,9 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW( wcscpy(wstrPortName, L"ncalrpc:["); wcscpy(wstrPortName + 9, pwszTempPortName); - wcscat(wstrPortName, _old + 9); + wcscat(wstrPortName, dynamicFalse + 9); } } - else if (_wcsicmp(StringBinding, L"ncalrpc:") == 0) { WCHAR pwszEmpty[] = L""; @@ -423,7 +461,6 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW( ULONG_PTR hWinHttp = (ULONG_PTR)GetModuleHandle(L"WinHttp.dll"); ULONG_PTR hBtApi = (ULONG_PTR)GetModuleHandle(L"BluetoothApis.dll"); - ULONG_PTR pRetAddr = (ULONG_PTR)_ReturnAddress(); if (RpcRt_TestCallingModule(pRetAddr, hWinHttp)) { @@ -445,6 +482,26 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW( wcscpy(wstrPortName + 9, pwszTempPortName); wcscat(wstrPortName, L"]"); } + } + else if (_wcsicmp(StringBinding, dynamicTrue) == 0) { + + ULONG_PTR pWINNSI = (ULONG_PTR)GetModuleHandle(L"WINNSI.DLL"); + + if (RpcRt_TestCallingModule(pRetAddr, pWINNSI)) { + use_RpcMgmtSetComTimeout = FALSE; + } + } + else if (_wcsicmp(StringBinding, L"0497b57d-2e66-424f-a0c6-157cd5d41700@ncalrpc:") == 0) { + + ULONG_PTR pkernel32 = (ULONG_PTR)GetModuleHandle(L"kernel32.dll"); + // kernel32.dll!AicpCreateBindingHandle + // kernel32.dll!AicGetPackageActivationTokenForSxS + // KernelBase.dll!CreateProcessInternalW + // SbieDll.dll!Proc_CreateProcessInternalW_RS5 + + if (RpcRt_TestCallingModule(pRetAddr, pkernel32)) { + use_RpcMgmtSetComTimeout = TRUE; + } } @@ -456,18 +513,27 @@ _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", - StringBinding, wstrPortName, OutBinding, status); + 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, + CallingModule ? CallingModule : L"unknown"); //OutputDebugString(msg); SbieApi_MonitorPut2(MONITOR_IPC | MONITOR_TRACE, msg, FALSE); } - if(__sys_RpcMgmtSetComTimeout) __sys_RpcMgmtSetComTimeout(*OutBinding, RPC_C_BINDING_TIMEOUT); + + if(use_RpcMgmtSetComTimeout) __sys_RpcMgmtSetComTimeout(*OutBinding, RPC_C_BINDING_TIMEOUT); return status; } +//--------------------------------------------------------------------------- +// RpcRt_RpcBindingCreateW +//--------------------------------------------------------------------------- + + DEFINE_GUID( EMPTY_UUID, 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); @@ -483,6 +549,8 @@ _FX RPC_STATUS RpcRt_RpcBindingCreateW( __in_opt RPC_BINDING_HANDLE_OPTIONS_V1 * Options, __out RPC_BINDING_HANDLE * Binding) { + ULONG_PTR pRetAddr = (ULONG_PTR)_ReturnAddress(); + if ( (memcmp(&Template->ObjectUuid, &MSDTC_UUID, sizeof(GUID)) == 0) && RPC_PROTSEQ_LRPC == Template->ProtocolSequence && !Template->StringEndpoint) { Template->StringEndpoint = (unsigned short*)L"samss lpc"; @@ -494,7 +562,6 @@ _FX RPC_STATUS RpcRt_RpcBindingCreateW( { ULONG_PTR hWinSCard = (ULONG_PTR)GetModuleHandle(L"WinSCard.dll"); ULONG_PTR hResourcePolicyClient = (ULONG_PTR)GetModuleHandle(L"resourcepolicyclient.dll"); - ULONG_PTR pRetAddr = (ULONG_PTR)_ReturnAddress(); if (RpcRt_TestCallingModule(pRetAddr, hWinSCard)) { @@ -517,21 +584,29 @@ _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", + 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); + StringUuid, status, __use_RpcMgmtSetComTimeout, + CallingModule ? CallingModule : L"unknown"); __sys_RpcStringFreeW(&StringUuid); //OutputDebugString(msg); SbieApi_MonitorPut2(MONITOR_IPC | MONITOR_TRACE, msg, FALSE); } - if (__sys_RpcMgmtSetComTimeout) __sys_RpcMgmtSetComTimeout(*Binding, RPC_C_BINDING_TIMEOUT); + if (__use_RpcMgmtSetComTimeout) __sys_RpcMgmtSetComTimeout(*Binding, RPC_C_BINDING_TIMEOUT); return status; } +//--------------------------------------------------------------------------- +// RpcRt_RpcStringBindingComposeW +//--------------------------------------------------------------------------- + + #define UUID_UserMgrCli L"B18FBAB6-56F8-4702-84E0-41053293A869" RPC_STATUS RPC_ENTRY RpcRt_RpcStringBindingComposeW(TCHAR *ObjUuid,TCHAR *ProtSeq,TCHAR *NetworkAddr,TCHAR *EndPoint,TCHAR *Options,TCHAR **StringBinding) { @@ -551,57 +626,103 @@ RPC_STATUS RPC_ENTRY RpcRt_RpcStringBindingComposeW(TCHAR *ObjUuid,TCHAR *ProtSe return __sys_RpcStringBindingComposeW(ObjUuid,ProtSeq,NetworkAddr,EndPoint,Options,StringBinding); } + +//--------------------------------------------------------------------------- +// RpcRt_NdrClientCallX +//--------------------------------------------------------------------------- + void Sbie_StringFromGUID(const GUID* guid, WCHAR* str); +void RpcRt_NdrClientCallX(const WCHAR* Function, void* ReturnAddress,PMIDL_STUB_DESC pStubDescriptor) +{ + WCHAR text[512] = L"RpcRt_NdrClientCallX"; + __try + { + const WCHAR* CallingModule = Trace_FindModuleByAddress(ReturnAddress); + if (!CallingModule) + CallingModule = L"unknown"; + + PRPC_CLIENT_INTERFACE rpcInterface = (PRPC_CLIENT_INTERFACE)pStubDescriptor->RpcInterfaceInformation; + if (rpcInterface) + { + 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, + rpcInterface->InterfaceId.SyntaxVersion.MajorVersion, rpcInterface->InterfaceId.SyntaxVersion.MinorVersion, CallingModule); + } + else + { + Sbie_snwprintf(text, 512, L"Calling %s by %s", Function, CallingModule); + } + } + __except (EXCEPTION_EXECUTE_HANDLER) {} + SbieApi_MonitorPut2(MONITOR_IPC | MONITOR_TRACE, text, FALSE); +} + + #ifdef _WIN64 +ULONG_PTR RpcRt_NdrClientCall2_x64( + PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, va_list vl) +{ + void* ReturnAddress = (void*)*(__int64*)(vl - (3 * 8)); + + RpcRt_NdrClientCallX(L"NdrClientCall2", ReturnAddress, pStubDescriptor); + + return FALSE; // return TRUE to not call the trampoline upon return +} + ULONG_PTR RpcRt_NdrClientCall3_x64( - MIDL_STUBLESS_PROXY_INFO* pProxyInfo, ULONG nProcNum, void* pReturnValue, va_list vl -) + MIDL_STUBLESS_PROXY_INFO* pProxyInfo, ULONG nProcNum, void* pReturnValue, va_list vl) { void* ReturnAddress = (void*)*(__int64*)(vl - (4 * 8)); - - __try - { - PRPC_CLIENT_INTERFACE rpcInterface = (PRPC_CLIENT_INTERFACE)pProxyInfo->pStubDesc->RpcInterfaceInformation; - WCHAR interfaceID[48]; - Sbie_StringFromGUID(&rpcInterface->InterfaceId.SyntaxGUID, interfaceID); - - WCHAR text[130]; - Sbie_snwprintf(text, 130, L"Calling NdrClientCall3 for interface %s}, %d.%d", interfaceID, - rpcInterface->InterfaceId.SyntaxVersion.MajorVersion, rpcInterface->InterfaceId.SyntaxVersion.MinorVersion); - - SbieApi_MonitorPut2(MONITOR_IPC | MONITOR_TRACE, text, FALSE); - } - __except (EXCEPTION_EXECUTE_HANDLER) {} + __try { + RpcRt_NdrClientCallX(L"NdrClientCall3", ReturnAddress, pProxyInfo->pStubDesc); + }__except (EXCEPTION_EXECUTE_HANDLER) {} return FALSE; // return TRUE to not call the trampoline upon return } #else +ULONG_PTR __cdecl RpcRt_NdrClientCall_x86( + void* ReturnAddress, + PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...) +{ + //va_list vl; + //va_start(vl, pFormat); + + RpcRt_NdrClientCallX(L"NdrClientCall", ReturnAddress, pStubDescriptor); + + //va_end(vl); + + return FALSE; // return TRUE to not call the trampoline upon return +} + ULONG_PTR __cdecl RpcRt_NdrClientCall2_x86( void* ReturnAddress, PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...) { //va_list vl; //va_start(vl, pFormat); - - __try - { - PRPC_CLIENT_INTERFACE rpcInterface = (PRPC_CLIENT_INTERFACE)pStubDescriptor->RpcInterfaceInformation; - WCHAR interfaceID[48]; - Sbie_StringFromGUID(&rpcInterface->InterfaceId.SyntaxGUID, interfaceID); + RpcRt_NdrClientCallX(L"NdrClientCall2", ReturnAddress, pStubDescriptor); - WCHAR text[130]; - Sbie_snwprintf(text, 130, L"Calling NdrClientCall2 for interface %s}, %d.%d", interfaceID, - rpcInterface->InterfaceId.SyntaxVersion.MajorVersion, rpcInterface->InterfaceId.SyntaxVersion.MinorVersion); + //va_end(vl); - SbieApi_MonitorPut2(MONITOR_IPC | MONITOR_TRACE, text, FALSE); - } - __except (EXCEPTION_EXECUTE_HANDLER) {} + return FALSE; // return TRUE to not call the trampoline upon return +} + +ULONG_PTR __cdecl RpcRt_NdrClientCall4_x86( + void* ReturnAddress, + PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...) +{ + //va_list vl; + //va_start(vl, pFormat); + + RpcRt_NdrClientCallX(L"NdrClientCall4", ReturnAddress, pStubDescriptor); //va_end(vl); diff --git a/Sandboxie/core/dll/sbieapi.c b/Sandboxie/core/dll/sbieapi.c index 67bb7f80..e100fee3 100644 --- a/Sandboxie/core/dll/sbieapi.c +++ b/Sandboxie/core/dll/sbieapi.c @@ -1430,9 +1430,9 @@ _FX LONG SbieApi_MonitorPut2( API_MONITOR_PUT2_ARGS *args = (API_MONITOR_PUT2_ARGS *)parms; args->func_code = API_MONITOR_PUT2; - args->log_type.val64 = (ULONG64)(ULONG_PTR)&Type; - args->log_len.val64 = wcslen(Name) * sizeof(WCHAR); - args->log_ptr.val64 = (ULONG64)(ULONG_PTR)Name; + args->log_type.val64 = (ULONG64)(ULONG_PTR)&Type; + args->log_len.val64 = wcslen(Name) * sizeof(WCHAR); + args->log_ptr.val64 = (ULONG64)(ULONG_PTR)Name; args->check_object_exists.val64 = bCheckObjectExists; status = SbieApi_Ioctl(parms); @@ -1479,6 +1479,7 @@ _FX LONG SbieApi_MonitorGetEx( ULONG *SeqNum, USHORT *Type, ULONG64 *Pid, + ULONG64 *Tid, WCHAR *Name) // WCHAR [256] { NTSTATUS status; @@ -1489,6 +1490,7 @@ _FX LONG SbieApi_MonitorGetEx( args->log_seq.val64 = (ULONG64)(ULONG_PTR)SeqNum; args->log_type.val64 = (ULONG64)(ULONG_PTR)Type; args->log_pid.val64 = (ULONG64)(ULONG_PTR)Pid; + args->log_tid.val64 = (ULONG64)(ULONG_PTR)Tid; args->log_len.val64 = 256 * sizeof(WCHAR); args->log_ptr.val64 = (ULONG64)(ULONG_PTR)Name; status = SbieApi_Ioctl(parms); diff --git a/Sandboxie/core/dll/sbieapi.h b/Sandboxie/core/dll/sbieapi.h index 80106ea0..e9eccaf3 100644 --- a/Sandboxie/core/dll/sbieapi.h +++ b/Sandboxie/core/dll/sbieapi.h @@ -215,6 +215,7 @@ LONG SbieApi_MonitorGetEx( ULONG *SeqNum, USHORT *Type, ULONG64 *Pid, + ULONG64 *Tid, WCHAR *Name); // WCHAR [256] diff --git a/Sandboxie/core/dll/sbiedll.h b/Sandboxie/core/dll/sbiedll.h index 4cf69313..af779f22 100644 --- a/Sandboxie/core/dll/sbiedll.h +++ b/Sandboxie/core/dll/sbiedll.h @@ -204,6 +204,8 @@ SBIEDLL_EXPORT BOOLEAN SbieDll_MatchImage(const WCHAR* pat_str, const WCHAR* te SBIEDLL_EXPORT BOOLEAN SbieDll_CheckStringInList(const WCHAR* string, const WCHAR* boxname, const WCHAR* setting); +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 7f1a7242..b89cf783 100644 --- a/Sandboxie/core/dll/secure.c +++ b/Sandboxie/core/dll/secure.c @@ -1220,6 +1220,13 @@ extern ULONG_PTR __cdecl Secure_NdrAsyncClientCall( #endif _WIN64 +#ifdef _WIN64 + +BOOLEAN __cdecl Secure_CheckElevation64( + PVOID* pProxyInfo, ULONG nProcNum, void* pReturnValue, va_list vl); + +#endif _WIN64 + BOOLEAN __cdecl Secure_CheckElevation( void *ReturnAddressFromNdrAsyncClientCall, void *pStubDescriptor, void *pFormat, SECURE_UAC_ARGS *Args); @@ -1302,6 +1309,12 @@ _FX BOOLEAN Secure_Init_Elevation(HMODULE module) SBIEDLL_HOOK(Secure_,Ndr64AsyncClientCall); + //NdrAsyncClientCall(PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...) + //Ndr64AsyncClientCall(MIDL_STUBLESS_PROXY_INFO* pProxyInfo, unsigned int nProcNum, void* pReturnValue, ...) <- hook + + //NdrDcomAsyncClientCall(PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...) + //Ndr64DcomAsyncClientCall(MIDL_STUBLESS_PROXY_INFO* pProxyInfo, unsigned int nProcNum, void* pReturnValue, ...) + #else ! _WIN64 NdrAsyncClientCall = (P_NdrAsyncClientCall) @@ -1309,6 +1322,12 @@ _FX BOOLEAN Secure_Init_Elevation(HMODULE module) SBIEDLL_HOOK(Secure_,NdrAsyncClientCall); + //NdrAsyncClientCall(PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...) <- hook + //NdrAsyncClientCall2(PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...) -> NdrAsyncClientCall + + //NdrDcomAsyncClientCall(PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...) + //NdrDcomAsyncClientCall2(PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ...)->NdrDcomAsyncClientCall + #endif _WIN64 SBIEDLL_HOOK(Secure_,RpcAsyncCompleteCall); @@ -1321,11 +1340,38 @@ _FX BOOLEAN Secure_Init_Elevation(HMODULE module) // Secure_CheckElevation //--------------------------------------------------------------------------- +#ifdef _WIN64 + +ALIGNED BOOLEAN __cdecl Secure_CheckElevation64( + PVOID* pProxyInfo, ULONG nProcNum, void* pReturnValue, va_list vl) +{ + void* ReturnAddress = NULL; + void* pStubDescriptor = NULL; + __try { + ReturnAddress = *(__int64**)(vl - (4 * 8)); + pStubDescriptor = *pProxyInfo; + } __except (EXCEPTION_EXECUTE_HANDLER) {} + + return Secure_CheckElevation(ReturnAddress, pStubDescriptor, NULL, vl); +} + +#endif _WIN64 + +extern BOOLEAN g_rpc_client_hooks; +void RpcRt_NdrClientCallX(const WCHAR* Function, void* ReturnAddress, VOID* pStubDescriptor); ALIGNED BOOLEAN __cdecl Secure_CheckElevation( void *ReturnAddressFromNdrAsyncClientCall, void *pStubDescriptor, void *pFormat, SECURE_UAC_ARGS *Args) { + if (g_rpc_client_hooks) { +#ifdef _WIN64 + RpcRt_NdrClientCallX(L"Ndr64AsyncClientCall", ReturnAddressFromNdrAsyncClientCall, pStubDescriptor); +#else + RpcRt_NdrClientCallX(L"NdrAsyncClientCall", ReturnAddressFromNdrAsyncClientCall, pStubDescriptor); +#endif + } + static UCHAR elevation_binding_1[16] = { 0x9A, 0xF9, 0x1E, 0x20, 0xA0, 0x7F, 0x4C, 0x44, 0x93, 0x99, 0x19, 0xBA, 0x84, 0xF1, 0x2A, 0x1A }; diff --git a/Sandboxie/core/dll/setup.c b/Sandboxie/core/dll/setup.c index da1456ba..bbfd14a7 100644 --- a/Sandboxie/core/dll/setup.c +++ b/Sandboxie/core/dll/setup.c @@ -34,6 +34,21 @@ static ULONG Setup_VerifyCatalogFile(const WCHAR *CatalogFullPath); +/*static BOOL Setup_SetupDiCallClassInstaller( + _In_ DI_FUNCTION InstallFunction, + _In_ HDEVINFO DeviceInfoSet, + _In_opt_ PSP_DEVINFO_DATA DeviceInfoData);*/ + +/*static BOOL Setup_SetupDiRemoveDevice( + HDEVINFO DeviceInfoSet, + PSP_DEVINFO_DATA DeviceInfoData);*/ + +/*static BOOL Setup_DiUninstallDriverW( + HWND hwndParent, + LPCWSTR InfPath, + DWORD Flags, + PBOOL NeedReboot);*/ + static ULONG Setup_CM_Add_Driver_PackageW( ULONG_PTR Unknown1, ULONG_PTR Unknown2, ULONG_PTR Unknown3, ULONG_PTR Unknown4, ULONG_PTR Unknown5, ULONG_PTR Unknown6, @@ -46,12 +61,38 @@ static ULONG Setup_CM_Add_Driver_Package_ExW( ULONG_PTR Unknown7, ULONG_PTR Unknown8, ULONG_PTR Unknown9, ULONG_PTR Unknown10, ULONG_PTR Unknown11); +/*static ULONG Setup_CM_Query_And_Remove_SubTreeW( + PVOID dnAncestor, // DEVINST + PVOID pVetoType, // PPNP_VETO_TYPE + LPWSTR pszVetoName, + ULONG ulNameLength, + ULONG ulFlags);*/ + +/*static ULONG Setup_CM_Uninstall_DevNode( + PVOID dnDevInst, // DEVNODE + ULONG ulFlags);*/ + //--------------------------------------------------------------------------- typedef ULONG (*P_VerifyCatalogFile)(const WCHAR *CatalogFullPath); +/*typedef BOOL (*P_SetupDiCallClassInstaller)( + _In_ DI_FUNCTION InstallFunction, + _In_ HDEVINFO DeviceInfoSet, + _In_opt_ PSP_DEVINFO_DATA DeviceInfoData);*/ + +/*typedef BOOL (*P_SetupDiRemoveDevice)( + HDEVINFO DeviceInfoSet, + PSP_DEVINFO_DATA DeviceInfoData);*/ + +/*typedef BOOL (*P_DiUninstallDriverW)( + HWND hwndParent, + LPCWSTR InfPath, + DWORD Flags, + PBOOL NeedReboot);*/ + typedef ULONG (*P_CM_Add_Driver_PackageW)( ULONG_PTR Unknown1, ULONG_PTR Unknown2, ULONG_PTR Unknown3, ULONG_PTR Unknown4, ULONG_PTR Unknown5, ULONG_PTR Unknown6, @@ -64,15 +105,31 @@ typedef ULONG (*P_CM_Add_Driver_Package_ExW)( ULONG_PTR Unknown7, ULONG_PTR Unknown8, ULONG_PTR Unknown9, ULONG_PTR Unknown10, ULONG_PTR Unknown11); +/*typedef ULONG (*P_CM_Query_And_Remove_SubTreeW)( + PVOID dnAncestor, // DEVINST + PVOID pVetoType, // PPNP_VETO_TYPE + LPWSTR pszVetoName, + ULONG ulNameLength, + ULONG ulFlags);*/ + +/*typedef ULONG (*P_CM_Uninstall_DevNode)( + PVOID dnDevInst, // DEVNODE + ULONG ulFlags);*/ //--------------------------------------------------------------------------- -static P_VerifyCatalogFile __sys_VerifyCatalogFile = NULL; +static P_VerifyCatalogFile __sys_VerifyCatalogFile = NULL; +//static P_SetupDiCallClassInstaller __sys_SetupDiCallClassInstaller = NULL; +//static P_SetupDiRemoveDevice __sys_SetupDiRemoveDevice = NULL; + +//static P_DiUninstallDriverW __sys_DiUninstallDriverW = NULL; static P_CM_Add_Driver_PackageW __sys_CM_Add_Driver_PackageW = NULL; static P_CM_Add_Driver_Package_ExW __sys_CM_Add_Driver_Package_ExW = NULL; +//static P_CM_Query_And_Remove_SubTreeW __sys_CM_Query_And_Remove_SubTreeW = NULL; +//static P_CM_Uninstall_DevNode __sys_CM_Uninstall_DevNode = NULL; //--------------------------------------------------------------------------- // Defines for initialization @@ -103,9 +160,12 @@ static P_CM_Add_Driver_Package_ExW __sys_CM_Add_Driver_Package_ExW = NULL; _FX BOOLEAN Setup_Init_SetupApi(HMODULE module) { FIND_EP(VerifyCatalogFile); + //FIND_EP(SetupDiCallClassInstaller); + //FIND_EP(SetupDiRemoveDevice); DO_CALL_HOOK(VerifyCatalogFile,Setup_VerifyCatalogFile); - + //DO_CALL_HOOK(SetupDiCallClassInstaller,Setup_SetupDiCallClassInstaller); + //DO_CALL_HOOK(SetupDiRemoveDevice, Setup_SetupDiRemoveDevice); return TRUE; } @@ -127,6 +187,57 @@ _FX ULONG Setup_VerifyCatalogFile(const WCHAR *CatalogFullPath) } +//--------------------------------------------------------------------------- +// Setup_SetupDiCallClassInstaller +//--------------------------------------------------------------------------- + + +/*_FX BOOL Setup_SetupDiCallClassInstaller( + _In_ DI_FUNCTION InstallFunction, + _In_ HDEVINFO DeviceInfoSet, + _In_opt_ PSP_DEVINFO_DATA DeviceInfoData) +{ + return __sys_SetupDiCallClassInstaller(InstallFunction, DeviceInfoSet, DeviceInfoData); +}*/ + + +//--------------------------------------------------------------------------- +// Setup_SetupDiRemoveDevice +//--------------------------------------------------------------------------- + + +/*static BOOL Setup_SetupDiRemoveDevice( + HDEVINFO DeviceInfoSet, + PSP_DEVINFO_DATA DeviceInfoData) +{ + return TRUE; +}*/ + + +//--------------------------------------------------------------------------- +// Setup_Init_NewDev +//--------------------------------------------------------------------------- + + +/*_FX BOOLEAN Setup_Init_NewDev(HMODULE module) +{ + FIND_EP(DiUninstallDriverW); + + DO_CALL_HOOK(DiUninstallDriverW,Setup_DiUninstallDriverW); + + return TRUE; +} + +static BOOL Setup_DiUninstallDriverW( + HWND hwndParent, + LPCWSTR InfPath, + DWORD Flags, + PBOOL NeedReboot) +{ + return TRUE; +}*/ + + //--------------------------------------------------------------------------- // Setup_Init_CfgMgr32 //--------------------------------------------------------------------------- @@ -136,7 +247,9 @@ _FX BOOLEAN Setup_Init_CfgMgr32(HMODULE module) { FIND_EP(CM_Add_Driver_PackageW); FIND_EP(CM_Add_Driver_Package_ExW); - + // Note: When the Add_Driver_Package is not hooked it will atempt to contact the deviceinstall service, + // which uses a dynamic rpc port, heence as long as there is no blank OpenIpcPath=* this call will fail + // We hook these two functions only to provide the user a SBIE2205 informing, that drivers cant be installed. if (__sys_CM_Add_Driver_PackageW) { DO_CALL_HOOK( CM_Add_Driver_PackageW,Setup_CM_Add_Driver_PackageW); @@ -146,6 +259,19 @@ _FX BOOLEAN Setup_Init_CfgMgr32(HMODULE module) CM_Add_Driver_Package_ExW,Setup_CM_Add_Driver_Package_ExW); } + //FIND_EP(CM_Query_And_Remove_SubTreeW); + //FIND_EP(CM_Uninstall_DevNode); + // Note: most of the CM_ functions use the "\Device\DeviceApi\CMApi" device/file for communication, + // these requests are filtered by the driver and we let them silently fail. + /*if (__sys_CM_Query_And_Remove_SubTreeW) { + DO_CALL_HOOK( + CM_Query_And_Remove_SubTreeW,Setup_CM_Query_And_Remove_SubTreeW); + }*/ + /*if (__sys_CM_Uninstall_DevNode) { + DO_CALL_HOOK( + CM_Uninstall_DevNode,Setup_CM_Uninstall_DevNode); + }*/ + return TRUE; } @@ -180,3 +306,34 @@ _FX ULONG Setup_CM_Add_Driver_Package_ExW( SbieApi_Log(2205, L"CM Add Driver Package Ex"); return 0; } + + +//--------------------------------------------------------------------------- +// Setup_CM_Add_Driver_Package_ExW +//--------------------------------------------------------------------------- + + +/*static ULONG Setup_CM_Query_And_Remove_SubTreeW( + PVOID dnAncestor, // DEVINST + PVOID pVetoType, // PPNP_VETO_TYPE + LPWSTR pszVetoName, + ULONG ulNameLength, + ULONG ulFlags) +{ + return __sys_CM_Query_And_Remove_SubTreeW(dnAncestor, pVetoType, pszVetoName, ulNameLength, ulFlags); +}*/ + + +//--------------------------------------------------------------------------- +// Setup_CM_Add_Driver_Package_ExW +//--------------------------------------------------------------------------- + + +/*static ULONG Setup_CM_Uninstall_DevNode( + PVOID dnDevInst, // DEVNODE + ULONG ulFlags) +{ + LONG ret = __sys_CM_Uninstall_DevNode(dnDevInst, ulFlags); + + return ret; +}*/ \ No newline at end of file diff --git a/Sandboxie/core/dll/sh.c b/Sandboxie/core/dll/sh.c index c89ca48b..837b780b 100644 --- a/Sandboxie/core/dll/sh.c +++ b/Sandboxie/core/dll/sh.c @@ -31,7 +31,7 @@ #include "common/win32_ntddk.h" #include "common/my_shlwapi.h" #include "msgs/msgs.h" - +#include "gui_p.h" //--------------------------------------------------------------------------- // Functions @@ -46,6 +46,9 @@ static HKEY SbieDll_AssocQueryKeyWow64(const WCHAR *subj); static BOOL SH32_ShellExecuteExW(SHELLEXECUTEINFOW *lpExecInfo); +static BOOL SH32_Shell_NotifyIconW( + DWORD dwMessage, PNOTIFYICONDATAW lpData); + static WCHAR *SbieDll_AssocQueryCommandInternal( const WCHAR *subj, const WCHAR *verb); @@ -80,6 +83,9 @@ static ULONG SH_WindowMonitorThread(void *lpParameter); typedef BOOL (*P_ShellExecuteEx)( void *lpExecInfo); +typedef BOOL (*P_Shell_NotifyIconW)( + DWORD dwMessage, PNOTIFYICONDATAW lpData); + typedef ULONG (*P_SHChangeNotifyRegister)( HWND hwnd, int fSources, LONG fEvents, UINT wMsg, int cEntries, SHChangeNotifyEntry *pfsne); @@ -104,6 +110,8 @@ typedef HRESULT (*P_SHGetFolderLocation)( static P_ShellExecuteEx __sys_ShellExecuteExW = NULL; +static P_Shell_NotifyIconW __sys_Shell_NotifyIconW = NULL; + static P_SHChangeNotifyRegister __sys_SHChangeNotifyRegister = NULL; static P_SHOpenFolderAndSelectItems @@ -403,6 +411,159 @@ _FX BOOL SH32_ShellExecuteExW(SHELLEXECUTEINFOW *lpExecInfo) } +//--------------------------------------------------------------------------- +// SH32_BornderToIcon +//--------------------------------------------------------------------------- + + +HICON SH32_BorderToIcon(HICON hIcon, COLORREF color) +{ + typedef HDC(*P_GetDC)(HWND hWnd); + typedef int(*P_ReleaseDC)(HWND hWnd, HDC hDC); + typedef BOOL(*P_GetIconInfo)(HICON hIcon, PICONINFO piconinfo); + typedef HICON(*P_CreateIconIndirect)(PICONINFO piconinfo); + + typedef HDC(*P_CreateCompatibleDC)(HDC hdc); + typedef HGDIOBJ(*P_SelectObject)(HDC hdc, HGDIOBJ h); + typedef COLORREF(*P_GetPixel)(HDC hdc, int x, int y); + typedef COLORREF(*P_SetPixel)(HDC hdc, int x, int y, COLORREF color); + typedef BOOL(*P_DeleteObject)(HGDIOBJ ho); + typedef BOOL(*P_DeleteDC)(HDC hdc); + +#define GET_WIN_API(name, lib) \ + P_##name name = Ldr_GetProcAddrNew(lib, #name, #name); \ + if(!name) return NULL; + + GET_WIN_API(GetDC, DllName_user32); + GET_WIN_API(ReleaseDC, DllName_user32); + GET_WIN_API(GetIconInfo, DllName_user32); + GET_WIN_API(CreateIconIndirect, DllName_user32); + + GET_WIN_API(CreateCompatibleDC, DllName_gdi32); + GET_WIN_API(SelectObject, DllName_gdi32); + GET_WIN_API(GetPixel, DllName_gdi32); + GET_WIN_API(SetPixel, DllName_gdi32); + GET_WIN_API(DeleteObject, DllName_gdi32); + GET_WIN_API(DeleteDC, DllName_gdi32); + + + HICON hNewIcon = NULL; + HDC hMainDC = NULL, hMemDC1 = NULL, hMemDC3 = NULL; + HBITMAP hOldBmp1 = NULL, hOldBmp3 = NULL; + ICONINFO csII; + + if (!GetIconInfo(hIcon, &csII)) return NULL; + + hMainDC = GetDC(NULL); + hMemDC1 = CreateCompatibleDC(hMainDC); + hMemDC3 = CreateCompatibleDC(hMainDC); + if (hMainDC == NULL || hMemDC1 == NULL || hMemDC3 == NULL) return NULL; + + + DWORD dwWidth = csII.xHotspot * 2; + DWORD dwHeight = csII.yHotspot * 2; + + hOldBmp1 = (HBITMAP)SelectObject(hMemDC1, csII.hbmColor); + hOldBmp3 = (HBITMAP)SelectObject(hMemDC3, csII.hbmMask); + + DWORD dwLoopY = 0, dwLoopX = 0; + COLORREF crPixel = 0; + + for (dwLoopY = 0; dwLoopY < dwHeight; dwLoopY++) + { + for (dwLoopX = 0; dwLoopX < dwWidth; dwLoopX++) + { + crPixel = GetPixel(hMemDC1, dwLoopX, dwLoopY); + if (dwLoopY == 0 || dwLoopX == 0 || dwLoopY + 1 == dwHeight || dwLoopX + 1 == dwWidth) + crPixel = color; // RGB(255, 255, 0); + SetPixel(hMemDC1, dwLoopX, dwLoopY, crPixel); + + crPixel = GetPixel(hMemDC3, dwLoopX, dwLoopY); + if (dwLoopY == 0 || dwLoopX == 0 || dwLoopY + 1 == dwHeight || dwLoopX + 1 == dwWidth) + crPixel = 0; + SetPixel(hMemDC3, dwLoopX, dwLoopY, crPixel); + } + } + + SelectObject(hMemDC1, hOldBmp1); + SelectObject(hMemDC3, hOldBmp3); + + hNewIcon = CreateIconIndirect(&csII); + + + DeleteObject(csII.hbmColor); + DeleteObject(csII.hbmMask); + DeleteDC(hMemDC1); + DeleteDC(hMemDC3); + ReleaseDC(NULL, hMainDC); + + return hNewIcon; +} + + +//--------------------------------------------------------------------------- +// SH32_Shell_NotifyIconW +//--------------------------------------------------------------------------- + + +_FX BOOL SH32_Shell_NotifyIconW( + DWORD dwMessage, PNOTIFYICONDATAW lpData) +{ + BOOL ret; + HICON icon = NULL; + + if (dwMessage == NIM_ADD || dwMessage == NIM_MODIFY) + { + if (!Gui_DisableTitle && lpData && lpData->cbSize >= sizeof(PNOTIFYICONDATAW)) + { + ULONG len = wcslen(lpData->szTip); + + if (Gui_BoxNameTitleLen != 0 && (len + Gui_BoxNameTitleLen + 2) <= 127) + { + wmemmove(lpData->szTip + Gui_BoxNameTitleLen + 2, lpData->szTip, len + 1); + wmemcpy(lpData->szTip, Gui_BoxNameTitleW, Gui_BoxNameTitleLen); + wmemcpy(lpData->szTip + Gui_BoxNameTitleLen, L"\r\n", 2); + } + else + { + if (len + 8 > 127) { + lpData->szTip[127 - 8 - 3] = L'\0'; + wcscat(lpData->szTip, L"..."); + len = 127 - 8; + } + + wmemmove(lpData->szTip + 4, lpData->szTip, len + 1); + wmemcpy(lpData->szTip, L"[#] ", 4); + wcscat(lpData->szTip, L" [#]"); + } + } + + COLORREF color; + if (SbieDll_GetBorderColor(NULL, &color, NULL, NULL)) + { + HICON newIcon = SH32_BorderToIcon(lpData->hIcon, color); + if (newIcon) { + icon = lpData->hIcon; + lpData->hIcon = newIcon; + } + } + } + + ret = __sys_Shell_NotifyIconW(dwMessage, lpData); + + if (icon) + { + typedef BOOL(*P_DestroyIcon)(HICON hIcon); + P_DestroyIcon DestroyIcon = Ldr_GetProcAddrNew(DllName_user32, L"DestroyIcon", "DestroyIcon"); + + DestroyIcon(lpData->hIcon); + lpData->hIcon = icon; + } + + return ret; +} + + //--------------------------------------------------------------------------- // SH32_SHChangeNotifyRegister //--------------------------------------------------------------------------- @@ -789,6 +950,7 @@ _FX NTSTATUS SH32_LdrGetDllHandleEx( _FX BOOLEAN SH32_Init(HMODULE module) { P_ShellExecuteEx ShellExecuteExW; + P_Shell_NotifyIconW Shell_NotifyIconW; P_SHChangeNotifyRegister SHChangeNotifyRegister; void *SHGetItemFromObject; P_SHOpenFolderAndSelectItems SHOpenFolderAndSelectItems; @@ -806,6 +968,9 @@ _FX BOOLEAN SH32_Init(HMODULE module) ShellExecuteExW = (P_ShellExecuteEx) GetProcAddress(module, "ShellExecuteExW"); + Shell_NotifyIconW = (P_Shell_NotifyIconW) + GetProcAddress(module, "Shell_NotifyIconW"); + SHChangeNotifyRegister = (P_SHChangeNotifyRegister) GetProcAddress(module, "SHChangeNotifyRegister"); @@ -816,6 +981,8 @@ _FX BOOLEAN SH32_Init(HMODULE module) SBIEDLL_HOOK(SH32_,ShellExecuteExW); + SBIEDLL_HOOK(SH32_,Shell_NotifyIconW); + if (SHChangeNotifyRegister && SHGetItemFromObject) { // diff --git a/Sandboxie/core/dll/taskbar.c b/Sandboxie/core/dll/taskbar.c index 0185d011..61fabc86 100644 --- a/Sandboxie/core/dll/taskbar.c +++ b/Sandboxie/core/dll/taskbar.c @@ -377,6 +377,24 @@ _FX BOOLEAN Taskbar_ShouldOverrideAppUserModelId(void) // Taskbar_SetCurrentProcessExplicitAppUserModelID //--------------------------------------------------------------------------- +_FX HRESULT Taskbar_SetCurrentProcessExplicitAppUserModelID_hack( + const WCHAR* AppId) +{ + + // ToDo + // Fix-Me: BUG when ProcessParms->WindowTitle is already set LocalFree + // performed by SetCurrentProcessExplicitAppUserModelID crashes, WTF why?! + // + // To work around this issue, we clear the flag that indicates this value being set + // this way we trade a memory leak for an crash + // + + // HACK ALERT! if we clear 0x5000 the WindowTitle buffer will not be freed + RTL_USER_PROCESS_PARAMETERS* ProcessParms = Proc_GetRtlUserProcessParameters(); + ProcessParms->WindowFlags &= ~0x5000; + + return __sys_SetCurrentProcessExplicitAppUserModelID(AppId); +} _FX HRESULT Taskbar_SetCurrentProcessExplicitAppUserModelID( const WCHAR *AppId) @@ -385,7 +403,9 @@ _FX HRESULT Taskbar_SetCurrentProcessExplicitAppUserModelID( WCHAR *NewId; if (! Taskbar_ShouldOverrideAppUserModelId()) - return __sys_SetCurrentProcessExplicitAppUserModelID(AppId); + return Taskbar_SetCurrentProcessExplicitAppUserModelID_hack(AppId); + + hr = E_FAIL; if (Taskbar_SavedAppUserModelId) { Dll_Free(Taskbar_SavedAppUserModelId); @@ -399,14 +419,14 @@ _FX HRESULT Taskbar_SetCurrentProcessExplicitAppUserModelID( wmemcpy(Taskbar_SavedAppUserModelId, AppId, len + 1); NewId = Taskbar_CreateAppUserModelId(AppId); + if (NewId == NULL) + return hr; - } else - NewId = NULL; + hr = Taskbar_SetCurrentProcessExplicitAppUserModelID_hack(NewId); - hr = __sys_SetCurrentProcessExplicitAppUserModelID(NewId); - - if (NewId && NewId != AppId) - Dll_Free(NewId); + if (NewId != AppId) + Dll_Free(NewId); + } return hr; } diff --git a/Sandboxie/core/dll/trace.c b/Sandboxie/core/dll/trace.c index bd5f62c9..8f7382fa 100644 --- a/Sandboxie/core/dll/trace.c +++ b/Sandboxie/core/dll/trace.c @@ -19,9 +19,8 @@ // Trace Helper //--------------------------------------------------------------------------- - -#include "trace.h" #include "dll.h" +#include "trace.h" //--------------------------------------------------------------------------- @@ -70,9 +69,11 @@ _FX int Trace_Init(void) // intercept NTDLL entry points // - RtlSetLastWin32Error = (P_RtlSetLastWin32Error) - GetProcAddress(Dll_Ntdll, "RtlSetLastWin32Error"); - SBIEDLL_HOOK(Trace_,RtlSetLastWin32Error); + if (SbieApi_QueryConfBool(NULL, L"ErrorTrace", FALSE)) { + RtlSetLastWin32Error = (P_RtlSetLastWin32Error) + GetProcAddress(Dll_Ntdll, "RtlSetLastWin32Error"); + SBIEDLL_HOOK(Trace_, RtlSetLastWin32Error); + } // // intercept KERNEL32 entry points @@ -132,3 +133,40 @@ ALIGNED void Trace_OutputDebugStringA(const UCHAR *strA) __sys_OutputDebugStringA(strA); } + + +//--------------------------------------------------------------------------- +// Trace_FindModuleByAddress +//--------------------------------------------------------------------------- + +#include "../../common/my_xeb.h" + +WCHAR* Trace_FindModuleByAddress(void* address) +{ + WCHAR* found = NULL; + + PLIST_ENTRY Head, Next; + PLDR_DATA_TABLE_ENTRY Entry; + PPEB peb = (PPEB)NtCurrentPeb(); + + EnterCriticalSection((PRTL_CRITICAL_SECTION)peb->LoaderLock); + + Head = &peb->Ldr->InLoadOrderModuleList; + Next = Head->Flink; + + while (Next != Head) + { + Entry = CONTAINING_RECORD(Next, LDR_DATA_TABLE_ENTRY, InLoadOrderLinks); + + if (Entry->DllBase < address && (UINT_PTR)Entry->DllBase + Entry->SizeOfImage > (UINT_PTR)address) + { + found = Entry->BaseDllName.Buffer; + break; + } + Next = Next->Flink; + } + + LeaveCriticalSection((PRTL_CRITICAL_SECTION)peb->LoaderLock); + + return found; +} \ No newline at end of file diff --git a/Sandboxie/core/dll/trace.h b/Sandboxie/core/dll/trace.h index f2aff5cf..2892af59 100644 --- a/Sandboxie/core/dll/trace.h +++ b/Sandboxie/core/dll/trace.h @@ -29,6 +29,8 @@ int Trace_Init(void); +WCHAR* Trace_FindModuleByAddress(void* address); + //--------------------------------------------------------------------------- diff --git a/Sandboxie/core/dll/util_32.asm b/Sandboxie/core/dll/util_32.asm index bbe374bd..5d1f70cd 100644 --- a/Sandboxie/core/dll/util_32.asm +++ b/Sandboxie/core/dll/util_32.asm @@ -224,6 +224,33 @@ Gui_MsgWaitForMultipleObjects@20 ENDP PUBLIC C Gui_MsgWaitForMultipleObjects@20 +;---------------------------------------------------------------------------- +; RpcRt_NdrClientCall +;---------------------------------------------------------------------------- + + +EXTERN C RpcRt_NdrClientCall_x86 : PROC +;EXTERN C RpcRt_NdrClientCall_... : PROC +EXTERN C __sys_NdrClientCall : DWORD + +RpcRt_NdrClientCall PROC C PUBLIC + + call RpcRt_NdrClientCall_x86 + test al,al + jnz CancelCall + + jmp dword ptr [__sys_NdrClientCall] + +CancelCall: + +; jmp RpcRt_NdrClientCall_... + ret + +RpcRt_NdrClientCall ENDP + +PUBLIC C RpcRt_NdrClientCall + + ;---------------------------------------------------------------------------- ; RpcRt_NdrClientCall2 ;---------------------------------------------------------------------------- @@ -237,11 +264,11 @@ RpcRt_NdrClientCall2 PROC C PUBLIC call RpcRt_NdrClientCall2_x86 test al,al - jnz CancelCall + jnz CancelCall2 jmp dword ptr [__sys_NdrClientCall2] -CancelCall: +CancelCall2: ; jmp RpcRt_NdrClientCall2_... ret @@ -250,3 +277,29 @@ RpcRt_NdrClientCall2 ENDP PUBLIC C RpcRt_NdrClientCall2 + +;---------------------------------------------------------------------------- +; RpcRt_NdrClientCall4 +;---------------------------------------------------------------------------- + + +EXTERN C RpcRt_NdrClientCall4_x86 : PROC +;EXTERN C RpcRt_NdrClientCall4_... : PROC +EXTERN C __sys_NdrClientCall4 : DWORD + +RpcRt_NdrClientCall4 PROC C PUBLIC + + call RpcRt_NdrClientCall4_x86 + test al,al + jnz CancelCall4 + + jmp dword ptr [__sys_NdrClientCall4] + +CancelCall4: + +; jmp RpcRt_NdrClientCall4_... + ret + +RpcRt_NdrClientCall4 ENDP + +PUBLIC C RpcRt_NdrClientCall4 \ No newline at end of file diff --git a/Sandboxie/core/dll/util_64.asm b/Sandboxie/core/dll/util_64.asm index f98fd82d..e1a9c0a8 100644 --- a/Sandboxie/core/dll/util_64.asm +++ b/Sandboxie/core/dll/util_64.asm @@ -81,7 +81,7 @@ ProtectCall4 ENDP ; Secure_Ndr64AsyncClientCall ;---------------------------------------------------------------------------- -EXTERN Secure_CheckElevation : PROC +EXTERN Secure_CheckElevation64 : PROC EXTERN Secure_HandleElevation : PROC EXTERN __sys_Ndr64AsyncClientCall : QWORD @@ -94,11 +94,12 @@ Secure_Ndr64AsyncClientCall PROC mov [rax+4*8],r9 ; spill first variadic parameter sub rsp,8+(4*8) - xor rcx,rcx ; clear ReturnAddressFromNdrAsyncClientCall - xor rdx,rdx ; clear pStubDescriptor - xor r8,r8 ; clear pFormat +;; xor rcx,rcx ; clear pProxyInfo +;; xor rdx,rdx ; clear nProcNum +;; xor r8,r8 ; clear pReturnValue +; mov r8,[rsp + 8+(4*8)] ; return poitner lea r9,[rsp + 8+(4*8) + 4*8] ; setup Args -> SECURE_UAC_ARGS - call Secure_CheckElevation + call Secure_CheckElevation64 test al,al jnz WeHandleElevation @@ -191,6 +192,56 @@ l02: ret Gui_FixupCallbackPointers ENDP +;---------------------------------------------------------------------------- +; RpcRt_NdrClientCall2 +;---------------------------------------------------------------------------- + + +EXTERN RpcRt_NdrClientCall2_x64 : PROC +;EXTERN Secure_HandleElevation : PROC +EXTERN __sys_NdrClientCall2 : QWORD + +RpcRt_NdrClientCall2 PROC + + mov rax,rsp + mov [rax+1*8],rcx ; spill pStubDescriptor + mov [rax+2*8],rdx ; spill pFormat + mov [rax+3*8],r8 ; spill first variadic parameter + mov [rax+4*8],r9 ; spill second variadic parameter + sub rsp,8+(4*8) + +;; xor rcx,rcx ; clear pStubDescriptor +;; xor rdx,rdx ; clear pFormat +; mov r8,[rsp + 8+(4*8)] ; return poitner + lea r8,[rsp + 8+(4*8) + 3*8] ; Args + call RpcRt_NdrClientCall2_x64 + test al,al + jnz CancelCall2 + + lea rax,[rsp+8+(4*8)] + mov rcx,[rax+1*8] ; restore pStubDescriptor + mov rdx,[rax+2*8] ; restore pFormat + mov r8,[rax+3*8] ; restore first variadic parameter + mov r9,[rax+4*8] ; restore second variadic parameter + + add rsp,8+(4*8) + jmp [__sys_NdrClientCall2] + +CancelCall2: + +;;; xor rcx,rcx ; clear pProxyInfo +;;; xor rdx,rdx ; clear nProcNum +;;; xor r8,r8 ; clear pReturnValue +;; mov r8,[rsp + 8+(4*8)] ; return poitner +; lea r8,[rsp + 8+(4*8) + 3*8] ; Args +; call RpcRt_NdrClientCall2_... + + add rsp,8+(4*8) + ret + +RpcRt_NdrClientCall2 ENDP + + ;---------------------------------------------------------------------------- ; RpcRt_NdrClientCall3 ;---------------------------------------------------------------------------- @@ -216,7 +267,7 @@ RpcRt_NdrClientCall3 PROC lea r9,[rsp + 8+(4*8) + 4*8] ; Args call RpcRt_NdrClientCall3_x64 test al,al - jnz CancelCall + jnz CancelCall3 lea rax,[rsp+8+(4*8)] mov rcx,[rax+1*8] ; restore pProxyInfo @@ -227,7 +278,7 @@ RpcRt_NdrClientCall3 PROC add rsp,8+(4*8) jmp [__sys_NdrClientCall3] -CancelCall: +CancelCall3: ;;; xor rcx,rcx ; clear pProxyInfo ;;; xor rdx,rdx ; clear nProcNum diff --git a/Sandboxie/core/drv/SboxDrv.vcxproj b/Sandboxie/core/drv/SboxDrv.vcxproj index 865f6cda..9d7d2d4c 100644 --- a/Sandboxie/core/drv/SboxDrv.vcxproj +++ b/Sandboxie/core/drv/SboxDrv.vcxproj @@ -285,6 +285,12 @@ + + true + true + true + true + true true @@ -321,6 +327,7 @@ + diff --git a/Sandboxie/core/drv/SboxDrv.vcxproj.filters b/Sandboxie/core/drv/SboxDrv.vcxproj.filters index 28706649..20809b06 100644 --- a/Sandboxie/core/drv/SboxDrv.vcxproj.filters +++ b/Sandboxie/core/drv/SboxDrv.vcxproj.filters @@ -118,6 +118,12 @@ common + + ipc + + + file + diff --git a/Sandboxie/core/drv/api_defs.h b/Sandboxie/core/drv/api_defs.h index 5eacd3fc..ce2a2851 100644 --- a/Sandboxie/core/drv/api_defs.h +++ b/Sandboxie/core/drv/api_defs.h @@ -316,6 +316,7 @@ API_ARGS_CLOSE(API_DISABLE_FORCE_PROCESS_ARGS) API_ARGS_BEGIN(API_MONITOR_CONTROL_ARGS) API_ARGS_FIELD(ULONG *,set_flag) API_ARGS_FIELD(ULONG *,get_flag) +//API_ARGS_FIELD(ULONG *,get_used) API_ARGS_CLOSE(API_MONITOR_CONTROL_ARGS) @@ -329,6 +330,7 @@ API_ARGS_BEGIN(API_MONITOR_GET_EX_ARGS) API_ARGS_FIELD(ULONG *, log_seq) API_ARGS_FIELD(USHORT *, log_type) API_ARGS_FIELD(ULONG64 *, log_pid) +API_ARGS_FIELD(ULONG64 *, log_tid) API_ARGS_FIELD(ULONG, log_len) API_ARGS_FIELD(WCHAR *, log_ptr) API_ARGS_CLOSE(API_MONITOR_GET_EX_ARGS) diff --git a/Sandboxie/core/drv/file.c b/Sandboxie/core/drv/file.c index c75702dc..d666e65a 100644 --- a/Sandboxie/core/drv/file.c +++ b/Sandboxie/core/drv/file.c @@ -879,6 +879,8 @@ _FX BOOLEAN File_InitProcess(PROCESS *proc) proc->box->name, L"NotifyDirectDiskAccess", 0, FALSE); } + proc->file_open_devapi_cmapi = Conf_Get_Boolean(proc->box->name, L"OpenDevCMApi", 0, FALSE); + if (ok && proc->image_path && (! proc->image_sbie)) { // diff --git a/Sandboxie/core/drv/file_ctrl.c b/Sandboxie/core/drv/file_ctrl.c new file mode 100644 index 00000000..6d4008df --- /dev/null +++ b/Sandboxie/core/drv/file_ctrl.c @@ -0,0 +1,130 @@ +/* + * Copyright 2021 David Xanatos, xanasoft.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + //--------------------------------------------------------------------------- + // DeviceIoControlFile filter + //--------------------------------------------------------------------------- + +//#define CTL_CODE( DeviceType, Function, Method, Access ) (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method)) + +#define DEVICE_TYPE_FROM_CTL_CODE(ctrlCode) (((ULONG)(ctrlCode & 0xffff0000)) >> 16) + +#define FUNCTION_FROM_CTL_CODE(ctrlCode) (((ULONG)(ctrlCode & 0x3ffc)) >> 2) + +#define METHOD_FROM_CTL_CODE(ctrlCode) ((ULONG)(ctrlCode & 3)) + +_FX NTSTATUS Syscall_DeviceIoControlFile( + PROCESS *proc, SYSCALL_ENTRY *syscall_entry, ULONG_PTR *user_args) +{ + // filter out dangerous driver calls + + ULONG IoControlCode = (ULONG)user_args[5]; + + if (DEVICE_TYPE_FROM_CTL_CODE(IoControlCode) == 0x6d) //MOUNTMGRCONTROLTYPE 'm' \Device\MountPointManager + { + ULONG function; + function = FUNCTION_FROM_CTL_CODE(IoControlCode); + //DbgPrint("DeviceIoContoleFile, func = %d, p=%06d t=%06d, %S\n", function, PsGetCurrentProcessId(), PsGetCurrentThreadId(), proc->image_name); + if (function == 0 || // IOCTL_MOUNTMGR_CREATE_POINT + function == 1 || // IOCTL_MOUNTMGR_DELETE_POINTS (DeleteVolumeMountPoint()) + function == 3 || // IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY + function == 6 || // IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED + function == 7 || // IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED + function == 9) // IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE + return STATUS_ACCESS_DENIED; + } + + if (DEVICE_TYPE_FROM_CTL_CODE(IoControlCode) == 0x47) //CMApi(?)CONTROLTYPE 0x47 \Device\DeviceApi\CMApi + { + if (!proc->file_open_devapi_cmapi) + { + ULONG function = FUNCTION_FROM_CTL_CODE(IoControlCode); + /*WCHAR path[256] = { 0 }; + FILE_OBJECT* object; + NTSTATUS status = ObReferenceObjectByHandle((HANDLE)user_args[0], 0, *IoFileObjectType, UserMode, &object, NULL); + if (NT_SUCCESS(status)) + { + memcpy(path, object->FileName.Buffer, object->FileName.Length); + path[object->FileName.Length / sizeof(WCHAR)] = 0; + ObDereferenceObject(object); + }*/ + + BOOLEAN filter = FALSE; + switch (function) + { + //case 0x0: + //case 0x100: //?SwDeviceCreate - Initiates the enumeration of a software device. + case 0x101: //?SwDevicePropertySet + case 0x102: //?SwDeviceInterfaceRegister + case 0x103: //?SwDeviceInterfaceSetState + case 0x104: //?SwDeviceInterfacePropertySet + case 0x105: //?SwDeviceSetLifetime + //case 0x106: //?SwDeviceGetLifetime + + //case 0x200: //?CMP_Register_Notification,CM_Get_Device_ID_List,CM_Get_Device_ID_List_Size + //case 0x201: //?CmNotifyWnfNotificationCallback,CM_Get_Device_Interface_List_Size + //case 0x202: //?ProcessPlugPlayEventCallback,CM_Enumerate_Classes,CM_Enumerate_Enumerators + //case 0x203: //?UnregisterClient,CM_Get_Class_Property_Keys,CM_Get_DevNode_Property_Keys,CM_Get_Device_Interface_Property_Keys + //case 0x204: //GetObjectProperty,GetObjectProperty + case 0x205: //CM_Set_DevNode_Property,CM_Set_Device_Interface_Property,CM_Set_Class_Property + //case 0x206: //GetRegistryProperty,GetRegistryProperty + case 0x207: //CM_Set_Class_Registry_Property,CM_Set_DevNode_Registry_Property + //case 0x209: //CM_Get_DevNode_Status + //case 0x20a: //CM_Get_Depth + case 0x20b: //CM_Set_DevNode_Problem + case 0x20c: //CM_Disable_DevNode,CM_Query_And_Remove_SubTree + case 0x20d: //CM_Register_Device_Interface + case 0x20e: //CM_Unregister_Device_Interface + //case 0x20f: //CM_Get_Device_Interface_Alias + //case 0x210: //Validate_Device_Instance + 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 0x215: //CM_Delete_Device_Interface_Key + 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 0x219: //CM_Delete_Class_Key + + filter = TRUE; + } + + /* + WCHAR msg_str[240]; + swprintf(msg_str, L"DeviceIoContoleFile, CMApi, func = 0x%X, filter=%d, p=%06d t=%06d, %s\n", + function, filter, PsGetCurrentProcessId(), PsGetCurrentThreadId(), proc->image_name); + const WCHAR* strings[2] = { msg_str, NULL }; + Session_MonitorPutEx(MONITOR_OTHER | MONITOR_TRACE, strings, NULL, PsGetCurrentProcessId(), PsGetCurrentThreadId());*/ + + if(filter) + return STATUS_ACCESS_DENIED; + } + } + + return NtDeviceIoControlFile( + (HANDLE)user_args[0], // FileHandle + (HANDLE)user_args[1], // Event + (PIO_APC_ROUTINE)user_args[2], // ApcRoutine + (PVOID)user_args[3], // ApcContext + (PIO_STATUS_BLOCK)user_args[4], // IoStatusBlock + (ULONG)user_args[5], // IoControlCode + (PVOID)user_args[6], // InputBuffer + (ULONG)user_args[7], // InputBufferLength + (PVOID)user_args[8], // OutBuffer + (ULONG)user_args[9]); // OutputBufferLength +} diff --git a/Sandboxie/core/drv/ipc.c b/Sandboxie/core/drv/ipc.c index 447bdfc2..f0a42e54 100644 --- a/Sandboxie/core/drv/ipc.c +++ b/Sandboxie/core/drv/ipc.c @@ -652,6 +652,9 @@ _FX BOOLEAN Ipc_InitPaths(PROCESS *proc) proc->ipc_open_lsa_endpoint = Conf_Get_Boolean(proc->box->name, L"OpenLsaEndpoint", 0, FALSE); + proc->ipc_open_sam_endpoint = + Conf_Get_Boolean(proc->box->name, L"OpenSamEndpoint", 0, FALSE); + proc->ipc_allowSpoolerPrintToFile = Conf_Get_Boolean(proc->box->name, L"AllowSpoolerPrintToFile", 0, FALSE); @@ -1168,8 +1171,6 @@ _FX NTSTATUS Ipc_Api_DuplicateObject(PROCESS *proc, ULONG64 *parms) DesiredAccess, HandleAttributes, Options & ~DUPLICATE_CLOSE_SOURCE); - *TargetHandle = NULL; - if (NT_SUCCESS(status)) { status = Ipc_CheckObjectName(TargetHandleValue); @@ -1184,12 +1185,11 @@ _FX NTSTATUS Ipc_Api_DuplicateObject(PROCESS *proc, ULONG64 *parms) status = NtDuplicateObject( SourceProcessHandle, SourceHandle, - TargetProcessHandle, TargetHandle, + TargetProcessHandle, &TargetHandleValue, DesiredAccess, HandleAttributes, Options); - - TargetHandleValue = *TargetHandle; } + *TargetHandle = NULL; if (NT_SUCCESS(status)) *TargetHandle = TargetHandleValue; diff --git a/Sandboxie/core/drv/ipc_lsa.c b/Sandboxie/core/drv/ipc_lsa.c index 15d3a93c..449c0b04 100644 --- a/Sandboxie/core/drv/ipc_lsa.c +++ b/Sandboxie/core/drv/ipc_lsa.c @@ -343,7 +343,7 @@ _FX BOOLEAN Ipc_Filter_Lsa_Ep_Msg(PROCESS* proc, UCHAR uMsg) WCHAR msg_str[24]; swprintf(msg_str, L" Msg: %02X", (ULONG)uMsg); const WCHAR* strings[3] = { L"\\RPC Control\\LSARPC_ENDPOINT", msg_str, NULL }; - Session_MonitorPutEx(mon_type, strings, NULL, PsGetCurrentProcessId()); + Session_MonitorPutEx(mon_type, strings, NULL, PsGetCurrentProcessId(), PsGetCurrentThreadId()); } } diff --git a/Sandboxie/core/drv/ipc_port.c b/Sandboxie/core/drv/ipc_port.c index bb0647d8..6aa38394 100644 --- a/Sandboxie/core/drv/ipc_port.c +++ b/Sandboxie/core/drv/ipc_port.c @@ -25,6 +25,7 @@ #include "obj.h" #include "api.h" #include "thread.h" +#include "session.h" //--------------------------------------------------------------------------- @@ -122,6 +123,9 @@ NTSTATUS Ipc_CheckPortRequest_Lsa( NTSTATUS Ipc_CheckPortRequest_LsaEP( PROCESS* proc, OBJECT_NAME_INFORMATION* Name, PORT_MESSAGE* msg); +NTSTATUS Ipc_CheckPortRequest_Sam( + PROCESS* proc, OBJECT_NAME_INFORMATION* Name, PORT_MESSAGE* msg); + NTSTATUS Ipc_CheckPortRequest_PowerManagement( PROCESS *proc, OBJECT_NAME_INFORMATION *Name, PORT_MESSAGE *msg); @@ -235,6 +239,8 @@ _FX NTSTATUS Ipc_CheckPortRequest( status = Ipc_CheckPortRequest_Lsa(proc, Name, msg); if (status == STATUS_BAD_INITIAL_PC) status = Ipc_CheckPortRequest_LsaEP(proc, Name, msg); + if (status == STATUS_BAD_INITIAL_PC) + status = Ipc_CheckPortRequest_Sam(proc, Name, msg); if (status == STATUS_BAD_INITIAL_PC) status = Ipc_CheckPortRequest_PowerManagement(proc, Name, msg); if (status == STATUS_BAD_INITIAL_PC) @@ -247,6 +253,14 @@ _FX NTSTATUS Ipc_CheckPortRequest( //DbgPrint("Status <%08X> on Port <%*.*S>\n", status, Name->Name.Length/sizeof(WCHAR), Name->Name.Length/sizeof(WCHAR), Name->Name.Buffer); //} + /*if (Session_MonitorCount)// && (proc->ipc_trace & (TRACE_ALLOW | TRACE_DENY))) + { + WCHAR msg_str[256]; + swprintf(msg_str, L"CheckPortRequest, Status <%08X> on Port <%*.*s>\n", status, Name->Name.Length / sizeof(WCHAR), Name->Name.Length / sizeof(WCHAR), Name->Name.Buffer); + const WCHAR* strings[2] = { msg_str, NULL }; + Session_MonitorPutEx(MONITOR_IPC, strings, NULL, PsGetCurrentProcessId(), PsGetCurrentThreadId()); + }*/ + // // finish // diff --git a/Sandboxie/core/drv/ipc_sam.c b/Sandboxie/core/drv/ipc_sam.c new file mode 100644 index 00000000..9c5e9b4a --- /dev/null +++ b/Sandboxie/core/drv/ipc_sam.c @@ -0,0 +1,190 @@ +/* + * Copyright 2021 David Xanatos, xanasoft.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + //--------------------------------------------------------------------------- + // Inter-Process Communication + //--------------------------------------------------------------------------- + + +#include "ipc.h" +#include "obj.h" +#include "api.h" +#include "util.h" +#include "session.h" + +//--------------------------------------------------------------------------- +// Functions +//--------------------------------------------------------------------------- + +_FX BOOLEAN Ipc_Filter_Sam_Msg(PROCESS* proc, UCHAR uMsg); + +//--------------------------------------------------------------------------- +// Ipc_CheckPortRequest_Sam +//--------------------------------------------------------------------------- + + +_FX NTSTATUS Ipc_CheckPortRequest_Sam( + PROCESS* proc, OBJECT_NAME_INFORMATION* Name, PORT_MESSAGE* msg) +{ + NTSTATUS status; + + if (proc->ipc_open_sam_endpoint) + return STATUS_BAD_INITIAL_PC; + + if (Name->Name.Length == 22 * sizeof(WCHAR)) { + + if (_wcsicmp(Name->Name.Buffer, L"\\RPC Control\\samss lpc") != 0) + return STATUS_BAD_INITIAL_PC; + + } + else + return STATUS_BAD_INITIAL_PC; + + // + // examine message + // + + status = STATUS_SUCCESS; + + __try { + + ProbeForRead(msg, sizeof(PORT_MESSAGE), sizeof(ULONG_PTR)); + + if (Driver_OsVersion >= DRIVER_WINDOWS_7) { + + ULONG len = msg->u1.s1.DataLength; + UCHAR* ptr = (UCHAR*)((UCHAR*)msg + sizeof(PORT_MESSAGE)); + int i = 0; + int rc = -2; + + ProbeForRead(ptr, len, sizeof(WCHAR)); + + if (Ipc_Filter_Sam_Msg(proc, ptr[20])) + status = STATUS_ACCESS_DENIED; + + //DbgPrint("\\RPC Control\\samss lpc message ID: %d\n", (int)ptr[20]); + } + + } + __except (EXCEPTION_EXECUTE_HANDLER) { + status = GetExceptionCode(); + } + + return status; +} + + +//--------------------------------------------------------------------------- +// Ipc_Filter_Sam_Msg +//--------------------------------------------------------------------------- + + +_FX BOOLEAN Ipc_Filter_Sam_Msg(PROCESS* proc, UCHAR uMsg) +{ + BOOLEAN filter = FALSE; + + switch (uMsg) + { + //case 0x00: //SamConnect + //case 0x01: //SamCloseHandle + case 0x02: //SamSetSecurityObject + //case 0x03: //SamQuerySecurityObject + //case 0x05: //SamLookupDomainInSamServer + //case 0x06: //SamEnumerateDomainsInSamServer + //case 0x07: //SamOpenDomain + //case 0x08: //SamQueryInformationDomain + case 0x09: //SamSetInformationDomain + case 0x0A: //SamCreateGroupInDomain + //case 0x0B: //SamEnumerateGroupsInDomain + case 0x0C: //SamCreateUserInDomain + //case 0x0D: //SamiEnumerateUsersInDomain + case 0x0E: //SamCreateAliasInDomain + //case 0x0F: //SamEnumerateAliasesInDomain + //case 0x10: //SamGetAliasMembership + //case 0x11: //SamiLookupNamesInDomain + //case 0x12: //SampLookupIdsInDomain + //case 0x13: //SamOpenGroup + //case 0x14: //SamQueryInformationGroup + case 0x15: //SamSetInformationGroup + case 0x17: //SamDeleteGroup + case 0x18: //SamRemoveMemberFromGroup + //case 0x19: //SamGetMembersInGroup + //case 0x1A: //SamSetMemberAttributesOfGroup + //case 0x1B: //SamOpenAlias + //case 0x1C: //SamQueryInformationAlias + case 0x1D: //SamSetInformationAlias + case 0x1E: //SamDeleteAlias + case 0x1F: //SamAddMemberToAlias + case 0x20: //SamRemoveMemberFromAlias + //case 0x21: //SamGetMembersInAlias + //case 0x22: //SamOpenUser + case 0x23: //SamDeleteUser + //case 0x24: //SamQueryInformationUser + case 0x25: //SamSetInformationUser + case 0x26: //SamiLmChangePasswordUser, SamiLmChangePasswordUser + //case 0x27: //SamGetGroupsForUser + //case 0x28: //SamQueryDisplayInformation + //case 0x29: //SamGetDisplayEnumerationIndex + //case 0x2C: //SampCheckPasswordRestrictions + case 0x2D: //SamRemoveMemberFromForeignDomain + //case 0x2E: //SamQueryInformationDomain + //case 0x30: //SamQueryDisplayInformation + //case 0x31: //SamGetDisplayEnumerationIndex + case 0x32: //SamCreateUser2InDomain + //case 0x33: //SamQueryDisplayInformation + case 0x35: //SamRemoveMultipleMembersFromAlias + case 0x37: //SamiChangePasswordUser2 + case 0x38: //SamiChangePasswordUser2 + //case 0x39: //SamConnect + case 0x3A: //SampSetInfoUserUseOldInfoClass + case 0x3B: //SamiSetBootKeyInformation + //case 0x3E: //SamConnect + //case 0x40: //SamConnect + //case 0x41: //SamRidToSid + case 0x42: //SampSetDSRMPassword + //case 0x43: //SamValidatePassword + //case 0x44: //SamQueryLocalizableAccountsInDomain + //case 0x45: //SamPerformGenericOperation + case 0x46: //SamiSyncDSRMPasswordFromAccount + //case 0x47: //SamiLookupNamesInDomain + //case 0x48: //SamiEnumerateUsersInDomain + + //case 0xEF: //Unknown + filter = TRUE; + } + + 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" Msg: %02X", (ULONG)uMsg); + const WCHAR* strings[3] = { L"\\RPC Control\\samss lpc", msg_str, NULL }; + Session_MonitorPutEx(mon_type, strings, NULL, PsGetCurrentProcessId(), PsGetCurrentThreadId()); + } + } + + return filter; +} diff --git a/Sandboxie/core/drv/ipc_spl.c b/Sandboxie/core/drv/ipc_spl.c index 82063fdd..b4efe15c 100644 --- a/Sandboxie/core/drv/ipc_spl.c +++ b/Sandboxie/core/drv/ipc_spl.c @@ -312,7 +312,7 @@ _FX BOOLEAN Ipc_Filter_Spooler_Msg(PROCESS* proc, UCHAR uMsg) WCHAR msg_str[24]; swprintf(msg_str, L" Msg: %02X", (ULONG)uMsg); const WCHAR* strings[3] = { L"\\RPC Control\\spoolss", msg_str, NULL }; - Session_MonitorPutEx(mon_type, strings, NULL, PsGetCurrentProcessId()); + Session_MonitorPutEx(mon_type, strings, NULL, PsGetCurrentProcessId(), PsGetCurrentThreadId()); } } diff --git a/Sandboxie/core/drv/log.c b/Sandboxie/core/drv/log.c index 1b7b3051..04afe786 100644 --- a/Sandboxie/core/drv/log.c +++ b/Sandboxie/core/drv/log.c @@ -337,6 +337,6 @@ _FX void Log_Debug_Msg(USHORT type, const WCHAR *string1, const WCHAR *string2) if (Session_MonitorCount) { const WCHAR* strings[4] = { string1, L" ", string2, NULL }; - Session_MonitorPutEx(type, strings, NULL, PsGetCurrentProcessId()); + Session_MonitorPutEx(type, strings, NULL, PsGetCurrentProcessId(), PsGetCurrentThreadId()); } } diff --git a/Sandboxie/core/drv/process.h b/Sandboxie/core/drv/process.h index 61a9b000..75ecb7e7 100644 --- a/Sandboxie/core/drv/process.h +++ b/Sandboxie/core/drv/process.h @@ -136,6 +136,7 @@ struct _PROCESS { BOOLEAN file_warn_internet; BOOLEAN file_warn_direct_access; BOOLEAN AllowInternetAccess; + BOOLEAN file_open_devapi_cmapi; // key-related @@ -156,6 +157,7 @@ struct _PROCESS { BOOLEAN ipc_warn_startrun; BOOLEAN ipc_block_password; BOOLEAN ipc_open_lsa_endpoint; + BOOLEAN ipc_open_sam_endpoint; BOOLEAN ipc_allowSpoolerPrintToFile; BOOLEAN ipc_openPrintSpooler; diff --git a/Sandboxie/core/drv/session.c b/Sandboxie/core/drv/session.c index fb81552e..74b5b1c8 100644 --- a/Sandboxie/core/drv/session.c +++ b/Sandboxie/core/drv/session.c @@ -579,7 +579,7 @@ _FX BOOLEAN Session_IsForceDisabled(ULONG SessionId) _FX void Session_MonitorPut(USHORT type, const WCHAR *name, HANDLE pid) { const WCHAR* strings[2] = { name, NULL }; - Session_MonitorPutEx(type, strings, NULL, pid); + Session_MonitorPutEx(type, strings, NULL, pid, PsGetCurrentThreadId()); } @@ -588,7 +588,7 @@ _FX void Session_MonitorPut(USHORT type, const WCHAR *name, HANDLE pid) //--------------------------------------------------------------------------- -_FX void Session_MonitorPutEx(USHORT type, const WCHAR** strings, ULONG* lengths, HANDLE pid) +_FX void Session_MonitorPutEx(USHORT type, const WCHAR** strings, ULONG* lengths, HANDLE pid, HANDLE tid) { SESSION *session; KIRQL irql; @@ -600,17 +600,20 @@ _FX void Session_MonitorPutEx(USHORT type, const WCHAR** strings, ULONG* lengths if (session->monitor_log && *strings[0]) { ULONG64 pid64 = (ULONG64)pid; + ULONG64 tid64 = (ULONG64)tid; + SIZE_T data_len = 0; for(int i=0; strings[i] != NULL; i++) data_len += (lengths ? lengths [i] : wcslen(strings[i])) * sizeof(WCHAR); - //[Type 2][PID 8][Data n*2] - SIZE_T entry_size = 2 + 8 + data_len; + //[Type 2][PID 8][TID 8][Data n*2] + SIZE_T entry_size = 2 + 8 + 8 + data_len; CHAR* write_ptr = log_buffer_push_entry((LOG_BUFFER_SIZE_T)entry_size, session->monitor_log); if (write_ptr) { log_buffer_push_bytes((CHAR*)&type, 2, &write_ptr, session->monitor_log); log_buffer_push_bytes((CHAR*)&pid64, 8, &write_ptr, session->monitor_log); + log_buffer_push_bytes((CHAR*)&tid64, 8, &write_ptr, session->monitor_log); // join strings seamlessly for (int i = 0; strings[i] != NULL; i++) @@ -634,6 +637,7 @@ _FX NTSTATUS Session_Api_MonitorControl(PROCESS *proc, ULONG64 *parms) API_MONITOR_CONTROL_ARGS *args = (API_MONITOR_CONTROL_ARGS *)parms; ULONG *in_flag; ULONG *out_flag; + ULONG *out_used; SESSION *session; KIRQL irql; BOOLEAN EnableMonitor; @@ -657,6 +661,18 @@ _FX NTSTATUS Session_Api_MonitorControl(PROCESS *proc, ULONG64 *parms) } } + //out_used = args->get_used.val; + //if (out_used) { + // ProbeForWrite(out_used, sizeof(ULONG), sizeof(ULONG)); + // *out_used = 0; + // session = Session_Get(FALSE, -1, &irql); + // if (session) { + // if (session->monitor_log) + // *out_used = (ULONG)session->monitor_log->buffer_used; + // Session_Unlock(irql); + // } + //} + // // set status // @@ -679,7 +695,14 @@ _FX NTSTATUS Session_Api_MonitorControl(PROCESS *proc, ULONG64 *parms) if (EnableMonitor && (! session->monitor_log)) { - session->monitor_log = log_buffer_init(SESSION_MONITOR_BUF_SIZE * sizeof(WCHAR)); + ULONG BuffSize = Conf_Get_Number(NULL, L"TraceBufferPages", 0, 256) * PAGE_SIZE; + + session->monitor_log = log_buffer_init(BuffSize * sizeof(WCHAR)); + if (!session->monitor_log) { + Log_Msg0(MSG_1201); + session->monitor_log = log_buffer_init(SESSION_MONITOR_BUF_SIZE * sizeof(WCHAR)); + } + if (session->monitor_log) { InterlockedIncrement(&Session_MonitorCount); } else @@ -925,6 +948,7 @@ _FX NTSTATUS Session_Api_MonitorGetEx(PROCESS *proc, ULONG64 *parms) ULONG *seq_num; USHORT *log_type; ULONG64 *log_pid; + ULONG64* log_tid; ULONG log_len; WCHAR *log_data; SESSION *session; @@ -946,6 +970,10 @@ _FX NTSTATUS Session_Api_MonitorGetEx(PROCESS *proc, ULONG64 *parms) if (log_pid != NULL) ProbeForWrite(log_pid, sizeof(ULONG64), sizeof(ULONG64)); + log_tid = args->log_tid.val; + if (log_tid != NULL) + ProbeForWrite(log_tid, sizeof(ULONG64), sizeof(ULONG64)); + log_len = args->log_len.val / sizeof(WCHAR); if (!log_len) return STATUS_INVALID_PARAMETER; @@ -992,17 +1020,23 @@ _FX NTSTATUS Session_Api_MonitorGetEx(PROCESS *proc, ULONG64 *parms) // __leave; //} - //[Type 2][PID 8][Data n*2] + //[Type 2][PID 8][PID 8][Data n*2] log_buffer_get_bytes((CHAR*)log_type, 2, &read_ptr, session->monitor_log); + ULONG64 pid64; log_buffer_get_bytes((CHAR*)&pid64, 8, &read_ptr, session->monitor_log); if (log_pid != NULL) *log_pid = pid64; + ULONG64 tid64; + log_buffer_get_bytes((CHAR*)&tid64, 8, &read_ptr, session->monitor_log); + if (log_tid != NULL) + *log_tid = tid64; + log_len -= sizeof(WCHAR); // reserve room for the termination character - if (log_len > entry_size - (2 + 8)) - log_len = entry_size - (2 + 8); + 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); // add required termination character diff --git a/Sandboxie/core/drv/session.h b/Sandboxie/core/drv/session.h index 2c190a13..97b2d3fb 100644 --- a/Sandboxie/core/drv/session.h +++ b/Sandboxie/core/drv/session.h @@ -44,7 +44,7 @@ BOOLEAN Session_IsForceDisabled(ULONG SessionId); void Session_MonitorPut(USHORT type, const WCHAR *name, HANDLE pid); -void Session_MonitorPutEx(USHORT type, const WCHAR** strings, ULONG* lengths, HANDLE pid); +void Session_MonitorPutEx(USHORT type, const WCHAR** strings, ULONG* lengths, HANDLE pid, HANDLE tid); //--------------------------------------------------------------------------- diff --git a/Sandboxie/core/drv/syscall.c b/Sandboxie/core/drv/syscall.c index 01b34917..8481153b 100644 --- a/Sandboxie/core/drv/syscall.c +++ b/Sandboxie/core/drv/syscall.c @@ -857,13 +857,12 @@ _FX NTSTATUS Syscall_Api_Invoke(PROCESS *proc, ULONG64 *parms) if (hConnection) { WCHAR trace_str[128]; - swprintf(trace_str, L"[syscall] t=%06d - %.*S, status = 0x%X, handle = %X; ", //59 chars + entry->name - PsGetCurrentThreadId(), + swprintf(trace_str, L"[syscall] %.*S, status = 0x%X, handle = %X; ", //59 chars + entry->name max(strlen(entry->name), 64), entry->name, status, hConnection); const WCHAR* strings[3] = { trace_str, puStr ? puStr->Buffer : NULL, NULL }; ULONG lengths[3] = { wcslen(trace_str), puStr ? puStr->Length / 2 : 0, 0 }; - Session_MonitorPutEx(MONITOR_IPC | MONITOR_TRACE, strings, lengths, PsGetCurrentProcessId()); + Session_MonitorPutEx(MONITOR_IPC | MONITOR_TRACE, strings, lengths, PsGetCurrentProcessId(), PsGetCurrentThreadId()); traced = TRUE; } } @@ -871,12 +870,11 @@ _FX NTSTATUS Syscall_Api_Invoke(PROCESS *proc, ULONG64 *parms) if (!traced && ((proc->call_trace & TRACE_ALLOW) || ((status != STATUS_SUCCESS) && (proc->call_trace & TRACE_DENY)))) { WCHAR trace_str[128]; - swprintf(trace_str, L"[syscall] t=%06d - %.*S, status = 0x%X", //59 chars + entry->name - PsGetCurrentThreadId(), + swprintf(trace_str, L"[syscall] %.*S, status = 0x%X", //59 chars + entry->name max(strlen(entry->name), 64), entry->name, status); const WCHAR* strings[2] = { trace_str, NULL }; - Session_MonitorPutEx(MONITOR_SYSCALL | MONITOR_TRACE, strings, NULL, PsGetCurrentProcessId()); + Session_MonitorPutEx(MONITOR_SYSCALL | MONITOR_TRACE, strings, NULL, PsGetCurrentProcessId(), PsGetCurrentThreadId()); } #ifdef _WIN64 diff --git a/Sandboxie/core/drv/syscall_open.c b/Sandboxie/core/drv/syscall_open.c index 86541950..75e56b7c 100644 --- a/Sandboxie/core/drv/syscall_open.c +++ b/Sandboxie/core/drv/syscall_open.c @@ -244,6 +244,51 @@ _FX NTSTATUS Syscall_OpenHandle( } } + PUNICODE_STRING puName = NULL; + __try { + + if ((strcmp(syscall_entry->name, "ConnectPort") == 0) || + (strcmp(syscall_entry->name, "AlpcConnectPort") == 0)) + { + puName = (UNICODE_STRING*)user_args[1]; + } + else if ((strcmp(syscall_entry->name, "CreateFile") == 0) || + (strcmp(syscall_entry->name, "OpenFile") == 0)) + { + POBJECT_ATTRIBUTES pObj = (POBJECT_ATTRIBUTES)user_args[2]; + if (pObj && pObj->ObjectName) + { + 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 ((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} + { + WCHAR access_str[24]; + swprintf(access_str, L"(DD) %08X", DesiredAccess); + Log_Debug_Msg(MONITOR_DRIVE | MONITOR_DENY, access_str, puName->Buffer); + + if (proc->file_warn_direct_access) { + + //Log_MsgP1(MSG_BLOCKED_DIRECT_DISK_ACCESS, proc->image_name, proc->pid); + Process_LogMessage(proc, MSG_BLOCKED_DIRECT_DISK_ACCESS); + } + + return STATUS_ACCESS_DENIED; + } + } + } + } + } + __except (EXCEPTION_EXECUTE_HANDLER) {} + + + // // replace the address of the handle in the user stack // @@ -294,15 +339,7 @@ _FX NTSTATUS Syscall_OpenHandle( status = ObReferenceObjectByHandle( NewHandle, 0, NULL, UserMode, &OpenedObject, &HandleInfo); - if (NT_SUCCESS(status)) { - - PUNICODE_STRING puName = NULL; - - if ((strcmp(syscall_entry->name, "ConnectPort") == 0) || - (strcmp(syscall_entry->name, "AlpcConnectPort") == 0)) - { - puName = (UNICODE_STRING*)user_args[1]; - } + if (NT_SUCCESS(status)) { // // check the access that was granted to the object @@ -373,39 +410,9 @@ _FX NTSTATUS Syscall_GetNextProcess( // Syscall_DeviceIoControlFile //--------------------------------------------------------------------------- -#define FUNCTION_FROM_CTL_CODE(ctrlCode) (((ULONG)(ctrlCode & 0x3f)) >> 2) -_FX NTSTATUS Syscall_DeviceIoControlFile( - PROCESS *proc, SYSCALL_ENTRY *syscall_entry, ULONG_PTR *user_args) -{ - // filter out dangerous driver calls +#include "file_ctrl.c" - if (DEVICE_TYPE_FROM_CTL_CODE(user_args[5]) == 0x6d) //MOUNTMGRCONTROLTYPE 'm' \Device\MountPointManager - { - ULONG function; - function = FUNCTION_FROM_CTL_CODE(user_args[5]); - //DbgPrint("DeviceIoContoleFile, func = %d, p=%06d t=%06d, %S\n", function, PsGetCurrentProcessId(), PsGetCurrentThreadId(), proc->image_name); - if (function == 0 || // IOCTL_MOUNTMGR_CREATE_POINT - function == 1 || // IOCTL_MOUNTMGR_DELETE_POINTS (DeleteVolumeMountPoint()) - function == 3 || // IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY - function == 6 || // IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED - function == 7 || // IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED - function == 9) // IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE - return STATUS_ACCESS_DENIED; - } - - return NtDeviceIoControlFile( - (HANDLE)user_args[0], // FileHandle - (HANDLE)user_args[1], // Event - (PIO_APC_ROUTINE)user_args[2], // ApcRoutine - (PVOID)user_args[3], // ApcContext - (PIO_STATUS_BLOCK)user_args[4], // IoStatusBlock - (ULONG)user_args[5], // IoControlCode - (PVOID)user_args[6], // InputBuffer - (ULONG)user_args[7], // InputBufferLength - (PVOID)user_args[8], // OutBuffer - (ULONG)user_args[9]); // OutputBufferLength -} //--------------------------------------------------------------------------- // Syscall_DuplicateHandle @@ -423,7 +430,6 @@ _FX NTSTATUS Syscall_DuplicateHandle( HANDLE NewHandle; void *TargetProcessObject; - // // if there is a target process handle, keep a record of the // associated process object so we can check it later diff --git a/Sandboxie/core/svc/EpMapperServer.cpp b/Sandboxie/core/svc/EpMapperServer.cpp index 04ef48a0..82ff4f44 100644 --- a/Sandboxie/core/svc/EpMapperServer.cpp +++ b/Sandboxie/core/svc/EpMapperServer.cpp @@ -184,7 +184,7 @@ MSG_HEADER *EpMapperServer::EpmapperGetPortNameHandler(MSG_HEADER *msg) { // // Note: it seams that chrome.exe resolves GAME_CONFIG_STORE_PORT in one process and accesses from an other - // so since here we onlyonly a fre non critical ports we will use PID 0 to open it gloally + // so since here we only open non critical ports we will use PID 0 to open them globally // instead of only for the one process. Todo: make it per sandbox instead // diff --git a/Sandboxie/core/svc/sbieiniserver.cpp b/Sandboxie/core/svc/sbieiniserver.cpp index 1ffc23f4..bf7fe6bf 100644 --- a/Sandboxie/core/svc/sbieiniserver.cpp +++ b/Sandboxie/core/svc/sbieiniserver.cpp @@ -1736,6 +1736,8 @@ MSG_HEADER *SbieIniServer::RunSbieCtrl(HANDLE idProcess, bool isSandboxed) WCHAR *args; if (isSandboxed) + args = NULL; + else if (*ctrlName) args = L" -autorun"; else args = L" /open /sync"; diff --git a/Sandboxie/install/Templates.ini b/Sandboxie/install/Templates.ini index 8a9220c0acd4508176df75a8e234afe2e48060f9..b5bed2793aea38717e251848e6884e97ad2af131 100644 GIT binary patch delta 52 zcmV-40L%Z7%L}T}3xI?Hv;qdy2_pbA05kwL05FsB8ymM?)B>&n0dKbr)&heMmpJ4C K7`Fn}0yYEDA`t`t delta 106 zcmZ2=k$b{v?uHh|Elg}ztlbz&8S)sC8A=#38S;TF1%?bDozIXBsetMargin(3); + m_pSearchLayout->setMargin(0); m_pSearchLayout->setSpacing(3); m_pSearchLayout->setAlignment(Qt::AlignLeft); @@ -29,8 +29,8 @@ CFinder::CFinder(QObject* pFilterTarget, QWidget *parent, bool HighLightOption) m_pSearch->setMinimumWidth(150); m_pSearch->setMaximumWidth(350); m_pSearchLayout->addWidget(m_pSearch); - QObject::connect(m_pSearch, SIGNAL(textChanged(QString)), this, SLOT(OnUpdate())); - //QObject::connect(m_pSearch, SIGNAL(returnPressed()), this, SLOT(_q_next())); + QObject::connect(m_pSearch, SIGNAL(textChanged(QString)), this, SLOT(OnText())); + QObject::connect(m_pSearch, SIGNAL(returnPressed()), this, SLOT(OnReturn())); m_pCaseSensitive = new QCheckBox(tr("Case Sensitive")); m_pSearchLayout->addWidget(m_pCaseSensitive); @@ -48,6 +48,7 @@ CFinder::CFinder(QObject* pFilterTarget, QWidget *parent, bool HighLightOption) if (HighLightOption) { m_pHighLight = new QCheckBox(tr("Highlight")); + m_pHighLight->setChecked(true); m_pSearchLayout->addWidget(m_pHighLight); connect(m_pHighLight, SIGNAL(stateChanged(int)), this, SLOT(OnUpdate())); } @@ -67,7 +68,9 @@ CFinder::CFinder(QObject* pFilterTarget, QWidget *parent, bool HighLightOption) setLayout(m_pSearchLayout); - setMaximumHeight(30); + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + //setMaximumHeight(30); hide(); @@ -81,14 +84,34 @@ CFinder::CFinder(QObject* pFilterTarget, QWidget *parent, bool HighLightOption) } m_pSortProxy = qobject_cast(pFilterTarget); - if (pFilterTarget) + if (pFilterTarget) { QObject::connect(this, SIGNAL(SetFilter(const QRegExp&, bool, int)), pFilterTarget, SLOT(SetFilter(const QRegExp&, bool, int))); + QObject::connect(this, SIGNAL(SelectNext()), pFilterTarget, SLOT(SelectNext())); + } + + m_pTimer = new QTimer(this); + m_pTimer->setSingleShot(true); + m_pTimer->setInterval(500); + connect(m_pTimer, SIGNAL(timeout()), SLOT(OnUpdate())); + + this->installEventFilter(this); } CFinder::~CFinder() { } +bool CFinder::eventFilter(QObject* source, QEvent* event) +{ + if (event->type() == QEvent::KeyPress && ((QKeyEvent*)event)->key() == Qt::Key_Escape + && ((QKeyEvent*)event)->modifiers() == Qt::NoModifier) + { + Close(); + return true; // cancel event + } + + return QWidget::eventFilter(source, event); +} void CFinder::Open() { @@ -115,9 +138,23 @@ QRegExp CFinder::GetRegExp() const void CFinder::OnUpdate() { + m_pTimer->stop(); emit SetFilter(GetRegExp(), GetHighLight(), GetColumn()); } +void CFinder::OnText() +{ + m_pTimer->stop(); + m_pTimer->start(); +} + +void CFinder::OnReturn() +{ + OnUpdate(); + if (m_pHighLight->isChecked()) + emit SelectNext(); +} + void CFinder::Close() { emit SetFilter(QRegExp()); diff --git a/SandboxiePlus/MiscHelpers/Common/Finder.h b/SandboxiePlus/MiscHelpers/Common/Finder.h index b4fc799b..d5c3e77d 100644 --- a/SandboxiePlus/MiscHelpers/Common/Finder.h +++ b/SandboxiePlus/MiscHelpers/Common/Finder.h @@ -18,12 +18,20 @@ public: signals: void SetFilter(const QRegExp& Exp, bool bHighLight = false, int Column = -1); + void SelectNext(); public slots: void Open(); - void OnUpdate(); void Close(); +private slots: + void OnUpdate(); + void OnText(); + void OnReturn(); + +protected: + bool eventFilter(QObject* source, QEvent* event); + private: QHBoxLayout* m_pSearchLayout; @@ -35,4 +43,6 @@ private: QCheckBox* m_pHighLight; QSortFilterProxyModel* m_pSortProxy; + + QTimer* m_pTimer; }; \ No newline at end of file diff --git a/SandboxiePlus/MiscHelpers/Common/PanelView.h b/SandboxiePlus/MiscHelpers/Common/PanelView.h index ef6fae5a..7d7fbc96 100644 --- a/SandboxiePlus/MiscHelpers/Common/PanelView.h +++ b/SandboxiePlus/MiscHelpers/Common/PanelView.h @@ -152,6 +152,8 @@ public: m_pSortProxy->setDynamicSortFilter(true); m_pTreeList->setModel(m_pSortProxy); + ((CSortFilterProxyModel*)m_pSortProxy)->setView(m_pTreeList); + m_pTreeList->setSelectionMode(QAbstractItemView::ExtendedSelection); #ifdef WIN32 diff --git a/SandboxiePlus/MiscHelpers/Common/SortFilterProxyModel.h b/SandboxiePlus/MiscHelpers/Common/SortFilterProxyModel.h index 5934b6b0..f23d7045 100644 --- a/SandboxiePlus/MiscHelpers/Common/SortFilterProxyModel.h +++ b/SandboxiePlus/MiscHelpers/Common/SortFilterProxyModel.h @@ -1,6 +1,8 @@ #pragma once #include "../mischelpers_global.h" +#include +#include class MISCHELPERS_EXPORT CSortFilterProxyModel: public QSortFilterProxyModel { @@ -11,10 +13,17 @@ public: { m_bAlternate = bAlternate; m_bHighLight = false; + m_iColumn = 0; + m_pView = NULL; this->setSortCaseSensitivity(Qt::CaseInsensitive); } + void setView(QTreeView* pView) + { + m_pView = pView; + } + bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const { if (m_bHighLight) @@ -73,12 +82,126 @@ public: public slots: void SetFilter(const QRegExp& Exp, bool bHighLight = false, int Col = -1) // -1 = any { + QModelIndex idx; + if (m_pView) idx = m_pView->currentIndex(); + m_iColumn = Col; m_bHighLight = bHighLight; setFilterKeyColumn(Col); setFilterRegExp(Exp); + if (m_pView) m_pView->setCurrentIndex(idx); + if (m_bHighLight) + emit layoutChanged(); + } + + void SelectNext() + { + if (!m_pView) + return; + + bool next = true; + QModelIndex idx = m_pView->currentIndex(); + if (!(next = idx.isValid())) + idx = index(0, 0); + + //if (QApplication::keyboardModifiers() & Qt::ControlModifier) + if (QApplication::keyboardModifiers() & Qt::ShiftModifier) + idx = FindPrev(idx, next); + else + idx = FindNext(idx, next); + + if (idx.isValid()) + m_pView->setCurrentIndex(idx); + else + QApplication::beep(); } protected: bool m_bAlternate; bool m_bHighLight; + int m_iColumn; + QTreeView* m_pView; + + bool MatchCell(QModelIndex idx, int column) + { + QModelIndex tmp = idx.sibling(idx.row(), column); + + QString str = data(tmp, filterRole()).toString(); + if (str.contains(filterRegExp())) + return true; + return false; + } + + bool MatchRow(QModelIndex idx) + { + if (m_iColumn != -1) + return MatchCell(idx, m_iColumn); + + for(int col = 0; col < columnCount(idx); col++) { + if (MatchCell(idx, col)) + return true; + } + return false; + } + + QModelIndex FindNext(QModelIndex idx, bool next = false) + { + if (MatchRow(idx) && !next) + return idx; + + if (hasChildren(idx)) + { + int numRows = rowCount(idx); + for (int count = 0; count < numRows; count++) { + QModelIndex tmp = FindNext(index(count, 0, idx)); + if (tmp.isValid()) + return tmp; + } + } + + do { + QModelIndex par = parent(idx); + + int numRows = rowCount(par); + for (int count = idx.row() + 1; count < numRows; count++) { + QModelIndex tmp = FindNext(index(count, 0, par)); + if (tmp.isValid()) + return tmp; + } + + idx = par; + } while (idx.isValid()); + + return QModelIndex(); + } + + QModelIndex FindPrev(QModelIndex idx, bool next = false) + { + if (MatchRow(idx) && !next) + return idx; + + if (hasChildren(idx)) + { + int numRows = rowCount(idx); + for (int count = numRows-1; count >= 0; count++) { + QModelIndex tmp = FindNext(index(count, 0, idx)); + if (tmp.isValid()) + return tmp; + } + } + + do { + QModelIndex par = parent(idx); + + int numRows = rowCount(par); + for (int count = idx.row() - 1; count >= 0; count--) { + QModelIndex tmp = FindNext(index(count, 0, par)); + if (tmp.isValid()) + return tmp; + } + + idx = par; + } while (idx.isValid()); + + return QModelIndex(); + } }; \ No newline at end of file diff --git a/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj b/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj index 3c136953..5194a4d5 100644 --- a/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj +++ b/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj @@ -196,6 +196,7 @@ + Create @@ -217,6 +218,7 @@ + diff --git a/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj.filters b/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj.filters index 5dcb8277..bb3d372a 100644 --- a/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj.filters +++ b/SandboxiePlus/QSbieAPI/QSbieAPI.vcxproj.filters @@ -57,6 +57,9 @@ Helpers + + SbieAPI + @@ -77,6 +80,9 @@ Resource Files + + SbieAPI + diff --git a/SandboxiePlus/QSbieAPI/Sandboxie/SandBox.cpp b/SandboxiePlus/QSbieAPI/Sandboxie/SandBox.cpp index 681891a7..ed9aaf34 100644 --- a/SandboxiePlus/QSbieAPI/Sandboxie/SandBox.cpp +++ b/SandboxiePlus/QSbieAPI/Sandboxie/SandBox.cpp @@ -81,7 +81,7 @@ CSandBox::CSandBox(const QString& BoxName, class CSbieAPI* pAPI) : CSbieIni(BoxN if (cfglvl < 8) { // templates L8 - InsertText("Template", "FileCppy"); + InsertText("Template", "FileCopy"); InsertText("Template", "SkipHook"); } @@ -96,9 +96,9 @@ void CSandBox::UpdateDetails() { } -SB_STATUS CSandBox::RunStart(const QString& Command) +SB_STATUS CSandBox::RunStart(const QString& Command, bool Elevated) { - return m_pAPI->RunStart(m_Name, Command); + return m_pAPI->RunStart(m_Name, Command, NULL, Elevated); } SB_STATUS CSandBox::RunSandboxed(const QString& Command) @@ -111,7 +111,7 @@ SB_STATUS CSandBox::TerminateAll() return m_pAPI->TerminateAll(m_Name); } -bool CSandBox::IsEmpty() +bool CSandBox::IsEmpty() const { return !QDir(m_FilePath).exists(); } diff --git a/SandboxiePlus/QSbieAPI/Sandboxie/SandBox.h b/SandboxiePlus/QSbieAPI/Sandboxie/SandBox.h index 15706937..84dcef34 100644 --- a/SandboxiePlus/QSbieAPI/Sandboxie/SandBox.h +++ b/SandboxiePlus/QSbieAPI/Sandboxie/SandBox.h @@ -50,15 +50,15 @@ public: virtual int GetActiveProcessCount() const { return m_ActiveProcessCount; } - virtual SB_STATUS RunStart(const QString& Command); + virtual SB_STATUS RunStart(const QString& Command, bool Elevated = false); virtual SB_STATUS RunSandboxed(const QString& Command); virtual SB_STATUS TerminateAll(); virtual void CloseBox() {} - virtual bool IsEnabled() { return m_IsEnabled; } + virtual bool IsEnabled() const { return m_IsEnabled; } - virtual bool IsEmpty(); + virtual bool IsEmpty() const; virtual SB_PROGRESS CleanBox(); virtual SB_STATUS RenameBox(const QString& NewName); virtual SB_STATUS RemoveBox(); diff --git a/SandboxiePlus/QSbieAPI/SbieAPI.cpp b/SandboxiePlus/QSbieAPI/SbieAPI.cpp index 30424e4d..9481c821 100644 --- a/SandboxiePlus/QSbieAPI/SbieAPI.cpp +++ b/SandboxiePlus/QSbieAPI/SbieAPI.cpp @@ -900,12 +900,12 @@ QString CSbieAPI::GetUserSection() const return UserSection; } -SB_STATUS CSbieAPI::RunStart(const QString& BoxName, const QString& Command, QProcess* pProcess) +SB_STATUS CSbieAPI::RunStart(const QString& BoxName, const QString& Command, QProcess* pProcess, bool Elevated) { if (m_SbiePath.isEmpty()) return SB_ERR(SB_PathFail); - QString StartCmd = "\"" + GetStartPath() + "\" /box:" + BoxName + " " + Command; + QString StartCmd = "\"" + GetStartPath() + "\"" + (Elevated ? " /elevated" : "" ) + " /box:" + BoxName + " " + Command; if (pProcess) pProcess->start(StartCmd); else @@ -1864,6 +1864,8 @@ bool CSbieAPI::AreForceProcessDisabled() SB_STATUS CSbieAPI__MonitorControl(SSbieAPI* m, ULONG *NewState, ULONG *OldState) { + //ULONG Used = 0; + __declspec(align(8)) ULONG64 parms[API_NUM_ARGS]; API_MONITOR_CONTROL_ARGS* args = (API_MONITOR_CONTROL_ARGS*)parms; @@ -1871,10 +1873,14 @@ SB_STATUS CSbieAPI__MonitorControl(SSbieAPI* m, ULONG *NewState, ULONG *OldState args->func_code = API_MONITOR_CONTROL; args->set_flag.val = NewState; args->get_flag.val = OldState; + //args->get_used.val = &Used; NTSTATUS status = m->IoControl(parms); if (!NT_SUCCESS(status)) return SB_ERR(status); + + //qDebug() << "used bytes" << (quint32)Used; + return SB_OK; } @@ -1896,7 +1902,8 @@ bool CSbieAPI::GetMonitor() const int max_len = 1024; USHORT type; - ULONG64 pid; + ULONG64 pid = 0; + ULONG64 tid = 0; WCHAR data[max_len + 1] = { 0 }; ULONG RecordNum = m->lastRecordNum; @@ -1906,9 +1913,10 @@ bool CSbieAPI::GetMonitor() memset(parms, 0, sizeof(parms)); args->func_code = API_MONITOR_GET_EX; - args->log_seq.val = &RecordNum; + args->log_seq.val = &RecordNum; // set this to NULL for record clearing args->log_type.val = &type; args->log_pid.val = &pid; + args->log_tid.val = &tid; args->log_len.val = max_len * sizeof(WCHAR); args->log_ptr.val = data; @@ -1936,17 +1944,24 @@ bool CSbieAPI::GetMonitor() return true; } - CResLogEntryPtr LogEntry = CResLogEntryPtr(new CResLogEntry(pid, type, Data)); + CTraceEntryPtr LogEntry = CTraceEntryPtr(new CTraceEntry(pid, tid, type, Data)); + AddTraceEntry(LogEntry, true); - QWriteLocker Lock(&m_ResLogMutex); - if (!m_ResLogList.isEmpty() && m_ResLogList.last()->Equals(LogEntry)) { - m_ResLogList.last()->Merge(LogEntry); - return true; - } - m_ResLogList.append(LogEntry); return true; } +void CSbieAPI::AddTraceEntry(const CTraceEntryPtr& LogEntry, bool bCanMerge) +{ + QWriteLocker Lock(&m_TraceMutex); + + if (bCanMerge && !m_TraceList.isEmpty() && m_TraceList.last()->Equals(LogEntry)) { + m_TraceList.last()->Merge(LogEntry); + return; + } + + m_TraceList.append(LogEntry); +} + /////////////////////////////////////////////////////////////////////////////// // Other // @@ -1961,105 +1976,3 @@ QString CSbieAPI::GetSbieMsgStr(quint32 code, quint32 Lang) LocalFree(ret_str); return qStr.trimmed(); // note messages may have \r\n at the end } - -/////////////////////////////////////////////////////////////////////////////// -// -// - -QString ErrorString(qint32 err) -{ - QString Error; - HMODULE handle = NULL; //err < 0 ? GetModuleHandle(L"NTDLL.DLL") : NULL; - DWORD flags = 0; //err < 0 ? FORMAT_MESSAGE_FROM_HMODULE : 0; - LPTSTR s; - if (::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | flags, handle, err, 0, (LPTSTR)&s, 0, NULL) > 0) - { - LPTSTR p = wcschr(s, L'\r'); - if (p != NULL) *p = L'\0'; - Error = QString::fromWCharArray(s); - ::LocalFree(s); - } - return Error; -} - -CResLogEntry::CResLogEntry(quint32 ProcessId, quint32 Type, const QString& Value) -{ - m_ProcessId = ProcessId; - m_Name = Value; - m_Type.Flags = Type; - - m_TimeStamp = QDateTime::currentDateTime(); // ms resolution - m_Counter = 0; - - // if this is a set error, then get the actual error string - if (m_Type.Type == MONITOR_OTHER && Value.indexOf("SetError:") == 0) - { - auto tmp = Value.split(":"); - if (tmp.length() >= 2) - { - qint32 errCode = tmp[1].trimmed().toInt(); - QString Error = ErrorString(errCode); - if(!Error.isEmpty()) - m_Name += " (" + Error + ")"; - } - } - - static atomic uid = 0; - m_uid = uid.fetch_add(1); -} - -QString CResLogEntry::GetTypeStr() const -{ - switch (m_Type.Type) - { - 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); - } -} - -QString CResLogEntry::GetStautsStr() const -{ - QString Status; - if (m_Type.Open) - Status.append("Open "); - if (m_Type.Deny) - Status.append("Closed "); - - if (m_Type.Trace) - Status.append("Trace "); - - if (m_Counter > 1) - Status.append(QString("(%1)").arg(m_Counter)); - - return Status; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// - -QString GetLastErrorAsString() -{ - DWORD errorMessageID = ::GetLastError(); - if (errorMessageID == 0) - return QString(); - - char* messageBuffer = NULL; - FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, errorMessageID, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&messageBuffer, 0, NULL); - - QString message(messageBuffer); - LocalFree(messageBuffer); - return message; -} - diff --git a/SandboxiePlus/QSbieAPI/SbieAPI.h b/SandboxiePlus/QSbieAPI/SbieAPI.h index faba557e..e15687c1 100644 --- a/SandboxiePlus/QSbieAPI/SbieAPI.h +++ b/SandboxiePlus/QSbieAPI/SbieAPI.h @@ -24,57 +24,11 @@ #include "SbieStatus.h" +#include "SbieTrace.h" + #include "./Sandboxie/SandBox.h" #include "./Sandboxie/BoxedProcess.h" -class QSBIEAPI_EXPORT CResLogEntry : public QSharedData -{ -public: - CResLogEntry(quint32 ProcessId, quint32 Type, const QString& Value); - - quint32 GetProcessId() const { return m_ProcessId; } - QDateTime GetTimeStamp() const { return m_TimeStamp; } - quint16 GetType() const { return m_Type.Flags; } - QString GetValue() const { return m_Name; } - QString GetTypeStr() const; - QString GetStautsStr() const; - int GetCount() const { return m_Counter; } - - bool Equals(const QSharedDataPointer& pOther) const { - return pOther->m_ProcessId == this->m_ProcessId - //&& pOther->m_Type.Flags == this->m_Type.Flags - && pOther->m_Name == this->m_Name; - } - void Merge(const QSharedDataPointer& pOther) { m_Counter++; this->m_Type.Flags |= pOther->m_Type.Flags; } - - quint64 GetUID() const { return m_uid; } - -protected: - QString m_Name; - quint32 m_ProcessId; - QDateTime m_TimeStamp; - - union - { - quint16 Flags; - struct - { - quint16 - Type : 12, - Open : 1, - Deny : 1, - Reserved : 1, - Trace : 1; - }; - } m_Type; - - int m_Counter; - - quint64 m_uid; -}; - -typedef QSharedDataPointer CResLogEntryPtr; - class QSBIEAPI_EXPORT CSbieAPI : public QThread { @@ -153,13 +107,14 @@ public: virtual SB_STATUS EnableMonitor(bool Enable); virtual bool IsMonitoring(); - virtual QList GetResLog() const { QReadLocker Lock(&m_ResLogMutex); return m_ResLogList; } - virtual void ClearResLog() { QWriteLocker Lock(&m_ResLogMutex); m_ResLogList.clear(); } + virtual void AddTraceEntry(const CTraceEntryPtr& LogEntry, bool bCanMerge = false); + virtual QList GetTrace() const { QReadLocker Lock(&m_TraceMutex); return m_TraceList; } + virtual void ClearTrace() { QWriteLocker Lock(&m_TraceMutex); m_TraceList.clear(); } // Other virtual QString GetSbieMsgStr(quint32 code, quint32 Lang = 1033); - virtual SB_STATUS RunStart(const QString& BoxName, const QString& Command, QProcess* pProcess = NULL); + virtual SB_STATUS RunStart(const QString& BoxName, const QString& Command, QProcess* pProcess = NULL, bool Elevated = false); virtual QString GetStartPath() const; enum ESbieQueuedRequests @@ -225,8 +180,8 @@ protected: QMap m_SandBoxes; QMap m_BoxedProxesses; - mutable QReadWriteLock m_ResLogMutex; - QList m_ResLogList; + mutable QReadWriteLock m_TraceMutex; + QList m_TraceList; mutable QReadWriteLock m_DriveLettersMutex; QMap m_DriveLetters; diff --git a/SandboxiePlus/QSbieAPI/SbieTrace.cpp b/SandboxiePlus/QSbieAPI/SbieTrace.cpp new file mode 100644 index 00000000..7e3a04cd --- /dev/null +++ b/SandboxiePlus/QSbieAPI/SbieTrace.cpp @@ -0,0 +1,151 @@ +/* + * + * Copyright (c) 2020, David Xanatos + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "stdafx.h" +#include +#include +#include "SbieTrace.h" + +#include +#define WIN32_NO_STATUS +typedef long NTSTATUS; + +#include +#include "SbieDefs.h" + +#include "..\..\Sandboxie\common\win32_ntddk.h" + +#include "..\..\Sandboxie\core\drv\api_defs.h" + +#include "..\..\Sandboxie\core\svc\msgids.h" +#include "..\..\Sandboxie\core\svc\ProcessWire.h" +#include "..\..\Sandboxie\core\svc\sbieiniwire.h" +#include "..\..\Sandboxie\core\svc\QueueWire.h" +#include "..\..\Sandboxie\core\svc\InteractiveWire.h" + + + +/////////////////////////////////////////////////////////////////////////////// +// +// + +QString ErrorString(qint32 err) +{ + QString Error; + HMODULE handle = NULL; //err < 0 ? GetModuleHandle(L"NTDLL.DLL") : NULL; + DWORD flags = 0; //err < 0 ? FORMAT_MESSAGE_FROM_HMODULE : 0; + LPTSTR s; + if (::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | flags, handle, err, 0, (LPTSTR)&s, 0, NULL) > 0) + { + LPTSTR p = wcschr(s, L'\r'); + if (p != NULL) *p = L'\0'; + Error = QString::fromWCharArray(s); + ::LocalFree(s); + } + return Error; +} + +CTraceEntry::CTraceEntry(quint32 ProcessId, quint32 ThreadId, quint32 Type, const QString& Message) +{ + m_ProcessId = ProcessId; + m_ThreadId = ThreadId; + m_Message = Message; + m_Type.Flags = Type; + + m_TimeStamp = QDateTime::currentDateTime(); // ms resolution + + static atomic uid = 0; + m_uid = uid.fetch_add(1); + + m_Counter = 0; + + m_Message = m_Message.replace("\r", "").replace("\n", " "); + + // if this is a set error, then get the actual error string + if (m_Type.Type == MONITOR_OTHER && Message.indexOf("SetError:") == 0) + { + auto tmp = Message.split(":"); + if (tmp.length() >= 2) + { + QString temp = tmp[1].trimmed(); + int endPos = temp.indexOf(QRegExp("[ \r\n]")); + if (endPos != -1) + temp.truncate(endPos); + + qint32 errCode = temp.toInt(); + QString Error = ErrorString(errCode); + if (!Error.isEmpty()) + m_Message += " (" + Error + ")"; + } + } +} + +QString CTraceEntry::GetTypeStr() const +{ + 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); + } +} + +QString CTraceEntry::GetStautsStr() const +{ + QString Status; + if (m_Type.Open) + Status.append("Open "); + if (m_Type.Deny) + Status.append("Closed "); + + if (m_Type.Trace) + Status.append("Trace "); + + if (m_Counter > 1) + Status.append(QString("(%1)").arg(m_Counter)); + + return Status; +} + +/////////////////////////////////////////////////////////////////////////////// +// +// + +QString GetLastErrorAsString() +{ + DWORD errorMessageID = ::GetLastError(); + if (errorMessageID == 0) + return QString(); + + char* messageBuffer = NULL; + FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, errorMessageID, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&messageBuffer, 0, NULL); + + QString message(messageBuffer); + LocalFree(messageBuffer); + return message; +} \ No newline at end of file diff --git a/SandboxiePlus/QSbieAPI/SbieTrace.h b/SandboxiePlus/QSbieAPI/SbieTrace.h new file mode 100644 index 00000000..90cc90b6 --- /dev/null +++ b/SandboxiePlus/QSbieAPI/SbieTrace.h @@ -0,0 +1,79 @@ +/* + * + * Copyright (c) 2020, David Xanatos + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include + +#include "qsbieapi_global.h" + +#include "SbieStatus.h" + +#define MONITOR_APICALL 0x000A + +class QSBIEAPI_EXPORT CTraceEntry : public QSharedData +{ +public: + CTraceEntry(quint32 ProcessId, quint32 ThreadId, quint32 Type, const QString& Message); + + virtual QString GetMessage() const { return m_Message; } + virtual quint32 GetProcessId() const { return m_ProcessId; } + virtual quint32 GetThreadId() const { return m_ThreadId; } + virtual QDateTime GetTimeStamp() const { return m_TimeStamp; } + + virtual quint16 GetType() const { return m_Type.Flags; } + virtual QString GetTypeStr() const; + virtual QString GetStautsStr() const; + + virtual int GetCount() const { return m_Counter; } + + virtual bool Equals(const QSharedDataPointer& pOther) const { + return pOther->m_ProcessId == this->m_ProcessId && pOther->m_ThreadId == this->m_ThreadId + && pOther->m_Message == this->m_Message; + } + virtual void Merge(const QSharedDataPointer& pOther) { + m_Counter++; this->m_Type.Flags |= pOther->m_Type.Flags; + } + + quint64 GetUID() const { return m_uid; } + +protected: + QString m_Message; + quint32 m_ProcessId; + quint32 m_ThreadId; + QDateTime m_TimeStamp; + + union + { + quint16 Flags; + struct + { + quint16 + Type : 12, + Open : 1, + Deny : 1, + Reserved : 1, + Trace : 1; + }; + } m_Type; + + quint64 m_uid; + + int m_Counter; +}; + +typedef QSharedDataPointer CTraceEntryPtr; diff --git a/SandboxiePlus/SandMan/ApiLog.cpp b/SandboxiePlus/SandMan/ApiLog.cpp deleted file mode 100644 index bf555c68..00000000 --- a/SandboxiePlus/SandMan/ApiLog.cpp +++ /dev/null @@ -1,103 +0,0 @@ -#include "stdafx.h" -#include "ApiLog.h" -#include - -CApiLogEntry::CApiLogEntry(quint64 ProcessId, const QString& Message) -{ - m_ProcessId = ProcessId; - m_Message = Message; - m_TimeStamp = QDateTime::currentDateTime(); // ms resolution - - static atomic uid = 0; - m_uid = uid.fetch_add(1); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// - -CApiLog::CApiLog(QObject* parent) : QThread(parent) -{ - m_pServer = NULL; - - start(); -} - -CApiLog::~CApiLog() -{ - quit(); - if (!wait(10 * 1000)) - terminate(); -} - -void CApiLog::run() -{ - qDebug() << "LogAPI server started"; - - m_pServer = new CApiLogServer(); - - QThread::run(); // run messge loop - - m_pServer->deleteLater(); - - qDebug() << "LogAPI server stopped"; -} - -///////////////////////////////////////////////////////////////////////////////////// -// - -CApiLogServer::CApiLogServer() -{ - m_pServer = new QLocalServer(this); - m_pServer->setSocketOptions(QLocalServer::WorldAccessOption); - if (!m_pServer->listen("LogAPI")) { - qDebug() << "Not able to open Server Pipe"; - return; - } - - connect(m_pServer, SIGNAL(newConnection()), this, SLOT(OnPipe())); - - m_pApiLog = qobject_cast(thread()); -} - -void CApiLogServer::OnPipe() -{ - QLocalSocket *pSocket = m_pServer->nextPendingConnection(); - connect(pSocket, SIGNAL(readyRead()), this, SLOT(OnData())); - connect(pSocket, SIGNAL(disconnected()), this, SLOT(OnClose())); - - ULONG ClientProcessId = 0; - GetNamedPipeClientProcessId((HANDLE)pSocket->socketDescriptor(), &ClientProcessId); - - m_pClients.insert(pSocket, new SApiLog(ClientProcessId)); -} - -void CApiLogServer::OnData() -{ - QLocalSocket* pSocket = qobject_cast(sender()); - SApiLog* ApiLog = m_pClients.value(pSocket); - if (!ApiLog) - return; - - ApiLog->Buffer.append(pSocket->readAll()); - - for (;;) - { - int endPos = ApiLog->Buffer.indexOf('\0'); - if (endPos == -1) - break; - - CApiLogEntryPtr LogEntry = CApiLogEntryPtr(new CApiLogEntry(ApiLog->ProcessId, QString(ApiLog->Buffer.data()))); - ApiLog->Buffer.remove(0, endPos + 1); - - QWriteLocker Lock(&m_pApiLog->m_ApiLogMutex); - m_pApiLog->m_ApiLogList.append(LogEntry); - } -} - -void CApiLogServer::OnClose() -{ - QLocalSocket* pSocket = qobject_cast(sender()); - delete m_pClients.take(pSocket); - pSocket->deleteLater(); -} \ No newline at end of file diff --git a/SandboxiePlus/SandMan/ApiLog.h b/SandboxiePlus/SandMan/ApiLog.h deleted file mode 100644 index c01af9d7..00000000 --- a/SandboxiePlus/SandMan/ApiLog.h +++ /dev/null @@ -1,74 +0,0 @@ -#pragma once - -class CApiLogEntry : public QSharedData -{ -public: - CApiLogEntry(quint64 ProcessId, const QString& Message); - - quint64 GetProcessId() const { return m_ProcessId; } - QDateTime GetTimeStamp() const { return m_TimeStamp; } - QString GetMessage() const { return m_Message; } - - quint64 GetUID() const { return m_uid; } - -protected: - quint64 m_ProcessId; - QDateTime m_TimeStamp; - QString m_Message; - - quint64 m_uid; -}; - -typedef QSharedDataPointer CApiLogEntryPtr; - -class CApiLog : public QThread -{ - Q_OBJECT -public: - CApiLog(QObject* parent = 0); - virtual ~CApiLog(); - - virtual QList GetApiLog() const { QReadLocker Lock(&m_ApiLogMutex); return m_ApiLogList; } - virtual void ClearApiLog() { QWriteLocker Lock(&m_ApiLogMutex); m_ApiLogList.clear(); } - -protected: - friend class CApiLogServer; - - virtual void run(); - - mutable QReadWriteLock m_ApiLogMutex; - QList m_ApiLogList; - - CApiLogServer* m_pServer; -}; - -///////////////////////////////////////////////////////////////////////////////////// -// - -class CApiLogServer : public QObject -{ - Q_OBJECT -protected: - CApiLogServer(); - -public slots: - void OnPipe(); - void OnData(); - void OnClose(); - -protected: - friend class CApiLog; - - struct SApiLog - { - SApiLog(quint64 pid) { ProcessId = pid; } - - QByteArray Buffer; - quint64 ProcessId; - }; - - QLocalServer* m_pServer; - QMap m_pClients; - - CApiLog* m_pApiLog; -}; \ No newline at end of file diff --git a/SandboxiePlus/SandMan/Forms/OptionsWindow.ui b/SandboxiePlus/SandMan/Forms/OptionsWindow.ui index a701c6de..8dcc0e2c 100644 --- a/SandboxiePlus/SandMan/Forms/OptionsWindow.ui +++ b/SandboxiePlus/SandMan/Forms/OptionsWindow.ui @@ -6,7 +6,7 @@ 0 0 - 622 + 682 473 @@ -45,7 +45,7 @@ QTabWidget::West - 8 + 0 @@ -1637,40 +1637,6 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - GUI Trace - - - - - - - IPC Trace - - - - - - - Pipe Trace - - - @@ -1684,14 +1650,14 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to - - + + - Log Debug Output to the Trace Log + Log all SetError's to Trace log - + Qt::Vertical @@ -1704,21 +1670,35 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to - + + + + <- for this one the above does not apply + + + + + + + Log Debug Output to the Trace Log + + + + File Trace - + Key Trace - + Log all access events as seen by the driver to the resource access log. @@ -1738,20 +1718,60 @@ instead of "*". - + + + + GUI Trace + + + + + + + IPC Trace + + + + COM Class Trace - - + + - <- for this one the above does not apply + Pipe Trace + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + diff --git a/SandboxiePlus/SandMan/Models/ApiMonModel.cpp b/SandboxiePlus/SandMan/Models/ApiMonModel.cpp deleted file mode 100644 index 1e32d758..00000000 --- a/SandboxiePlus/SandMan/Models/ApiMonModel.cpp +++ /dev/null @@ -1,144 +0,0 @@ -#include "stdafx.h" -#include "ApiMonModel.h" -#include "../MiscHelpers/Common/Common.h" - -CApiMonModel::CApiMonModel(QObject *parent) -:CListItemModel(parent) -{ -} - -CApiMonModel::~CApiMonModel() -{ -} - -void CApiMonModel::Sync(const QList& List, QSet PIDs) -{ - QList New; - QHash Old = m_Map; - - int i = 0; - if (List.count() >= m_List.count() && m_List.count() > 0) - { - i = m_List.count() - 1; - if (m_List.at(i)->ID == List.at(i)->GetUID()) - { - i++; - Old.clear(); - } - else - i = 0; - } - - for (; i < List.count(); i++) - { - CApiLogEntryPtr pEntry = List.at(i); - QVariant ID = pEntry->GetUID(); - - if (!PIDs.isEmpty() && !PIDs.contains(pEntry->GetProcessId())) - continue; - - int Row = -1; - QHash::iterator I = Old.find(ID); - SApiLogNode* pNode = I != Old.end() ? static_cast(I.value()) : NULL; - if(!pNode) - { - pNode = static_cast(MkNode(ID)); - pNode->Values.resize(columnCount()); - pNode->pEntry = pEntry; - New.append(pNode); - } - else - { - I.value() = NULL; - Row = GetRow(pNode); - } - - int Col = 0; - bool State = false; - int Changed = 0; - - /*int RowColor = CTaskExplorer::eNone; - if (pGDI->IsMarkedForRemoval() && CTaskExplorer::UseListColor(CTaskExplorer::eToBeRemoved)) RowColor = CTaskExplorer::eToBeRemoved; - else if (pGDI->IsNewlyCreated() && CTaskExplorer::UseListColor(CTaskExplorer::eAdded)) RowColor = CTaskExplorer::eAdded; - - if (pNode->iColor != RowColor) { - pNode->iColor = RowColor; - pNode->Color = CTaskExplorer::GetListColor(RowColor); - Changed = 2; - }*/ - - for(int section = 0; section < columnCount(); section++) - { - if (!m_Columns.contains(section)) - continue; // ignore columns which are hidden - - QVariant Value; - switch(section) - { - case eProcess: Value = pEntry->GetProcessId(); break; - case eTimeStamp: Value = pEntry->GetTimeStamp(); break; - case eMessage: Value = pEntry->GetMessage(); break; - } - - SApiLogNode::SValue& ColValue = pNode->Values[section]; - - if (ColValue.Raw != Value) - { - if(Changed == 0) - Changed = 1; - ColValue.Raw = Value; - - switch (section) - { - case eProcess: ColValue.Formated = QString::number(pEntry->GetProcessId()); break; - case eTimeStamp: ColValue.Formated = pEntry->GetTimeStamp().toString("hh:mm:ss.zzz"); break; - //case eType: ColValue.Formated = ; break; - //case eValue: ColValue.Formated = ; break; - } - } - - if(State != (Changed != 0)) - { - if(State && Row != -1) - emit dataChanged(createIndex(Row, Col), createIndex(Row, section-1)); - State = (Changed != 0); - Col = section; - } - if(Changed == 1) - Changed = 0; - } - if(State && Row != -1) - emit dataChanged(createIndex(Row, Col, pNode), createIndex(Row, columnCount()-1, pNode)); - - } - - CListItemModel::Sync(New, Old); -} - -CApiLogEntryPtr CApiMonModel::GetEntry(const QModelIndex &index) const -{ - if (!index.isValid()) - return CApiLogEntryPtr(); - - SApiLogNode* pNode = static_cast(index.internalPointer()); - return pNode->pEntry; -} - -int CApiMonModel::columnCount(const QModelIndex &parent) const -{ - return eCount; -} - -QVariant CApiMonModel::headerData(int section, Qt::Orientation orientation, int role) const -{ - if (orientation == Qt::Horizontal && role == Qt::DisplayRole) - { - switch(section) - { - case eProcess: return tr("Process"); - case eTimeStamp: return tr("Time Stamp"); - case eMessage: return tr("Message"); - } - } - return QVariant(); -} diff --git a/SandboxiePlus/SandMan/Models/ApiMonModel.h b/SandboxiePlus/SandMan/Models/ApiMonModel.h deleted file mode 100644 index ac9f46b0..00000000 --- a/SandboxiePlus/SandMan/Models/ApiMonModel.h +++ /dev/null @@ -1,40 +0,0 @@ -#pragma once -#include -#include "../ApiLog.h" -#include "../../MiscHelpers/Common/ListItemModel.h" - -class CApiMonModel : public CListItemModel -{ - Q_OBJECT - -public: - CApiMonModel(QObject *parent = 0); - ~CApiMonModel(); - - void Sync(const QList& List, QSet PIDs); - - CApiLogEntryPtr GetEntry(const QModelIndex &index) const; - - int columnCount(const QModelIndex &parent = QModelIndex()) const; - QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; - - enum EColumns - { - eProcess = 0, - eTimeStamp, - eMessage, - eCount - }; - -protected: - struct SApiLogNode: SListNode - { - SApiLogNode(const QVariant& Id) : SListNode(Id), iColor(0) {} - - CApiLogEntryPtr pEntry; - - int iColor; - }; - - virtual SListNode* MkNode(const QVariant& Id) { return new SApiLogNode(Id); } -}; \ No newline at end of file diff --git a/SandboxiePlus/SandMan/Models/ResMonModel.cpp b/SandboxiePlus/SandMan/Models/ResMonModel.cpp index e0e121c1..853fef02 100644 --- a/SandboxiePlus/SandMan/Models/ResMonModel.cpp +++ b/SandboxiePlus/SandMan/Models/ResMonModel.cpp @@ -12,7 +12,8 @@ CResMonModel::~CResMonModel() { } -void CResMonModel::Sync(const QList& List, QSet PIDs) +//void CResMonModel::Sync(const QList& List, QSet PIDs) +void CResMonModel::Sync(const QList& List) { QList New; QHash Old = m_Map; @@ -32,19 +33,19 @@ void CResMonModel::Sync(const QList& List, QSet PIDs) for(; i < List.count(); i++) { - CResLogEntryPtr pEntry = List.at(i); + CTraceEntryPtr pEntry = List.at(i); QVariant ID = pEntry->GetUID(); - if (!PIDs.isEmpty() && !PIDs.contains(pEntry->GetProcessId())) - continue; + //if (!PIDs.isEmpty() && !PIDs.contains(pEntry->GetProcessId())) + // continue; int Row = -1; QHash::iterator I = Old.find(ID); - SResLogNode* pNode = I != Old.end() ? static_cast(I.value()) : NULL; + STraceNode* pNode = I != Old.end() ? static_cast(I.value()) : NULL; if(!pNode) { - pNode = static_cast(MkNode(ID)); + pNode = static_cast(MkNode(ID)); pNode->Values.resize(columnCount()); pNode->pEntry = pEntry; New.append(pNode); @@ -78,13 +79,13 @@ void CResMonModel::Sync(const QList& List, QSet PIDs) switch(section) { case eProcess: Value = pEntry->GetProcessId(); break; - case eTimeStamp: Value = pEntry->GetTimeStamp(); break; + case eTimeStamp: Value = pEntry->GetUID(); break; case eType: Value = pEntry->GetTypeStr(); break; case eStatus: Value = pEntry->GetStautsStr(); break; - case eValue: Value = pEntry->GetValue(); break; + case eValue: Value = pEntry->GetMessage(); break; } - SResLogNode::SValue& ColValue = pNode->Values[section]; + STraceNode::SValue& ColValue = pNode->Values[section]; if (ColValue.Raw != Value) { @@ -97,7 +98,7 @@ void CResMonModel::Sync(const QList& List, QSet PIDs) case eProcess: { CBoxedProcessPtr pProcess = theAPI->GetProcessById(pEntry->GetProcessId()); - ColValue.Formated = QString("%1 (%2)").arg(pProcess.isNull() ? tr("Unknown") : pProcess->GetProcessName()).arg(pEntry->GetProcessId()); + ColValue.Formated = QString("%1 (%2, %3)").arg(pProcess.isNull() ? tr("Unknown") : pProcess->GetProcessName()).arg(pEntry->GetProcessId()).arg(pEntry->GetThreadId()); break; } case eTimeStamp: ColValue.Formated = pEntry->GetTimeStamp().toString("hh:mm:ss.zzz"); break; @@ -124,12 +125,12 @@ void CResMonModel::Sync(const QList& List, QSet PIDs) CListItemModel::Sync(New, Old); } -CResLogEntryPtr CResMonModel::GetEntry(const QModelIndex &index) const +CTraceEntryPtr CResMonModel::GetEntry(const QModelIndex &index) const { if (!index.isValid()) - return CResLogEntryPtr(); + return CTraceEntryPtr(); - SResLogNode* pNode = static_cast(index.internalPointer()); + STraceNode* pNode = static_cast(index.internalPointer()); return pNode->pEntry; } diff --git a/SandboxiePlus/SandMan/Models/ResMonModel.h b/SandboxiePlus/SandMan/Models/ResMonModel.h index 82a4202a..a913ce6e 100644 --- a/SandboxiePlus/SandMan/Models/ResMonModel.h +++ b/SandboxiePlus/SandMan/Models/ResMonModel.h @@ -11,9 +11,10 @@ public: CResMonModel(QObject *parent = 0); ~CResMonModel(); - void Sync(const QList& List, QSet PIDs); + //void Sync(const QList& List, QSet PIDs); + void Sync(const QList& List); - CResLogEntryPtr GetEntry(const QModelIndex &index) const; + CTraceEntryPtr GetEntry(const QModelIndex &index) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; @@ -29,14 +30,14 @@ public: }; protected: - struct SResLogNode: SListNode + struct STraceNode: SListNode { - SResLogNode(const QVariant& Id) : SListNode(Id), iColor(0) {} + STraceNode(const QVariant& Id) : SListNode(Id), iColor(0) {} - CResLogEntryPtr pEntry; + CTraceEntryPtr pEntry; int iColor; }; - virtual SListNode* MkNode(const QVariant& Id) { return new SResLogNode(Id); } + virtual SListNode* MkNode(const QVariant& Id) { return new STraceNode(Id); } }; \ No newline at end of file diff --git a/SandboxiePlus/SandMan/Models/SbieModel.cpp b/SandboxiePlus/SandMan/Models/SbieModel.cpp index 088cc44f..5c60bed8 100644 --- a/SandboxiePlus/SandMan/Models/SbieModel.cpp +++ b/SandboxiePlus/SandMan/Models/SbieModel.cpp @@ -86,17 +86,21 @@ QString CSbieModel::FindParent(const QVariant& Name, const QMap CSbieModel::MakeBoxPath(const QVariant& Name, const QMap& Groups) +void CSbieModel::MakeBoxPath(const QVariant& Name, const QMap& Groups, QList& Path) { QString ParentID = FindParent(Name, Groups); - QList Path; - if (!ParentID.isEmpty() && ParentID != Name - && !Groups.value(CSbieModel__RemoveGroupMark(Name.toString())).contains(CSbieModel__RemoveGroupMark(ParentID))) + if (!ParentID.isEmpty() && ParentID != Name && !Path.contains(ParentID)) { - Path = MakeBoxPath(ParentID, Groups); - Path.append(ParentID); + Path.prepend(ParentID); + MakeBoxPath(ParentID, Groups, Path); } +} + +QList CSbieModel::MakeBoxPath(const QVariant& Name, const QMap& Groups) +{ + QList Path; + MakeBoxPath(Name, Groups, Path); return Path; } @@ -118,8 +122,8 @@ QList CSbieModel::Sync(const QMap& BoxList, cons { pNode = static_cast(MkNode(ID)); pNode->Values.resize(columnCount()); - if (m_bTree) - pNode->Path = MakeBoxPath(ID, Groups); + if (m_bTree) + pNode->Path = MakeBoxPath(ID, Groups); pNode->pBox = NULL; New[pNode->Path].append(pNode); Added.append(ID); diff --git a/SandboxiePlus/SandMan/Models/SbieModel.h b/SandboxiePlus/SandMan/Models/SbieModel.h index 79ee31f7..28b6b829 100644 --- a/SandboxiePlus/SandMan/Models/SbieModel.h +++ b/SandboxiePlus/SandMan/Models/SbieModel.h @@ -63,6 +63,7 @@ protected: QString FindParent(const QVariant& Name, const QMap& Groups); QList MakeBoxPath(const QVariant& Name, const QMap& Groups); + void MakeBoxPath(const QVariant& Name, const QMap& Groups, QList& Path); //virtual QVariant GetDefaultIcon() const; diff --git a/SandboxiePlus/SandMan/SandMan.cpp b/SandboxiePlus/SandMan/SandMan.cpp index 5c2264ab..4eceedc7 100644 --- a/SandboxiePlus/SandMan/SandMan.cpp +++ b/SandboxiePlus/SandMan/SandMan.cpp @@ -6,7 +6,7 @@ #include "Views/SbieView.h" #include "../MiscHelpers/Common/CheckableMessageBox.h" #include -#include "ApiLog.h" +//#include "ApiLog.h" #include "./Dialogs/MultiErrorDialog.h" #include "../QSbieAPI/SbieUtils.h" #include "../QSbieAPI/Sandboxie/BoxBorder.h" @@ -89,6 +89,10 @@ CSandMan::CSandMan(QWidget *parent) theGUI = this; + + const char version[] = VERSION_STR; + + QDesktopServices::setUrlHandler("http", this, "OpenUrl"); QDesktopServices::setUrlHandler("https", this, "OpenUrl"); QDesktopServices::setUrlHandler("sbie", this, "OpenUrl"); @@ -117,7 +121,7 @@ CSandMan::CSandMan(QWidget *parent) m_SbieTemplates = new CSbieTemplates(theAPI, this); - m_ApiLog = NULL; + //m_ApiLog = NULL; m_bConnectPending = false; m_bStopPending = false; @@ -184,17 +188,17 @@ CSandMan::CSandMan(QWidget *parent) // // Api Log - m_pApiMonModel = new CApiMonModel(); - //m_pApiMonModel->SetUseIcons(true); - - m_pApiCallLog = new CPanelViewEx(m_pApiMonModel); - - //m_pApiCallLog->GetView()->setItemDelegate(theGUI->GetItemDelegate()); - - m_pApiCallLog->GetView()->setSelectionMode(QAbstractItemView::ExtendedSelection); - - m_pLogTabs->addTab(m_pApiCallLog, tr("Api Call Log")); - m_pApiCallLog->setEnabled(false); + //m_pApiMonModel = new CApiMonModel(); + ////m_pApiMonModel->SetUseIcons(true); + // + //m_pApiCallLog = new CPanelViewEx(m_pApiMonModel); + // + ////m_pApiCallLog->GetView()->setItemDelegate(theGUI->GetItemDelegate()); + // + //m_pApiCallLog->GetView()->setSelectionMode(QAbstractItemView::ExtendedSelection); + // + //m_pLogTabs->addTab(m_pApiCallLog, tr("Api Call Log")); + //m_pApiCallLog->setEnabled(false); // @@ -315,11 +319,11 @@ void CSandMan::LoadState() ((QTreeViewEx*)m_pResourceLog->GetView())->OnResetColumns(); else ((QTreeViewEx*)m_pResourceLog->GetView())->restoreState(Columns); - Columns = theConf->GetBlob("MainWindow/ApiLogList_Columns"); - if (!Columns.isEmpty()) - ((QTreeViewEx*)m_pApiCallLog->GetView())->OnResetColumns(); - else - ((QTreeViewEx*)m_pApiCallLog->GetView())->restoreState(Columns); + //Columns = theConf->GetBlob("MainWindow/ApiLogList_Columns"); + //if (!Columns.isEmpty()) + // ((QTreeViewEx*)m_pApiCallLog->GetView())->OnResetColumns(); + //else + // ((QTreeViewEx*)m_pApiCallLog->GetView())->restoreState(Columns); m_pLogSplitter->restoreState(theConf->GetBlob("MainWindow/Log_Splitter")); m_pPanelSplitter->restoreState(theConf->GetBlob("MainWindow/Panel_Splitter")); m_pLogTabs->setCurrentIndex(theConf->GetInt("MainWindow/LogTab", 0)); @@ -331,7 +335,7 @@ void CSandMan::StoreState() //theConf->SetBlob("MainWindow/BoxTree_Columns", m_pBoxTree->saveState()); theConf->SetBlob("MainWindow/LogList_Columns", m_pMessageLog->GetView()->header()->saveState()); theConf->SetBlob("MainWindow/ResMonList_Columns", m_pResourceLog->GetView()->header()->saveState()); - theConf->SetBlob("MainWindow/ApiLogList_Columns", m_pApiCallLog->GetView()->header()->saveState()); + //theConf->SetBlob("MainWindow/ApiLogList_Columns", m_pApiCallLog->GetView()->header()->saveState()); theConf->SetBlob("MainWindow/Log_Splitter", m_pLogSplitter->saveState()); theConf->SetBlob("MainWindow/Panel_Splitter", m_pPanelSplitter->saveState()); theConf->SetValue("MainWindow/LogTab", m_pLogTabs->currentIndex()); @@ -399,8 +403,9 @@ void CSandMan::CreateMenus() m_pCleanUpProcesses = m_pCleanUpMenu->addAction(tr("Cleanup Processes"), this, SLOT(OnCleanUp())); m_pCleanUpMenu->addSeparator(); m_pCleanUpMsgLog = m_pCleanUpMenu->addAction(tr("Cleanup Message Log"), this, SLOT(OnCleanUp())); - m_pCleanUpResLog = m_pCleanUpMenu->addAction(tr("Cleanup Resource Log"), this, SLOT(OnCleanUp())); - m_pCleanUpApiLog = m_pCleanUpMenu->addAction(tr("Cleanup Api Call Log"), this, SLOT(OnCleanUp())); + m_pCleanUpTrace = m_pCleanUpMenu->addAction(tr("Cleanup Trace Log"), this, SLOT(OnCleanUp())); + //m_pCleanUpTrace = m_pCleanUpMenu->addAction(tr("Cleanup Resource Log"), this, SLOT(OnCleanUp())); + //m_pCleanUpApiLog = m_pCleanUpMenu->addAction(tr("Cleanup Api Call Log"), this, SLOT(OnCleanUp())); m_pKeepTerminated = m_pMenuView->addAction(CSandMan::GetIcon("Keep"), tr("Keep terminated"), this, SLOT(OnSetKeep())); m_pKeepTerminated->setCheckable(true); @@ -415,8 +420,8 @@ void CSandMan::CreateMenus() m_pEnableMonitoring = m_pMenuOptions->addAction(CSandMan::GetIcon("SetLogging"), tr("Resource Logging"), this, SLOT(OnSetMonitoring())); m_pEnableMonitoring->setCheckable(true); m_pMenuOptions->addSeparator(); - m_pEnableLogging = m_pMenuOptions->addAction(CSandMan::GetIcon("LogAPI"), tr("API Call Logging"), this, SLOT(OnSetLogging())); - m_pEnableLogging->setCheckable(true); + //m_pEnableLogging = m_pMenuOptions->addAction(CSandMan::GetIcon("LogAPI"), tr("API Call Logging"), this, SLOT(OnSetLogging())); + //m_pEnableLogging->setCheckable(true); m_pMenuHelp = menuBar()->addMenu(tr("&Help")); @@ -459,7 +464,7 @@ void CSandMan::CreateToolBar() m_pToolBar->addAction(m_pEditIni); m_pToolBar->addSeparator(); m_pToolBar->addAction(m_pEnableMonitoring); - m_pToolBar->addAction(m_pEnableLogging); + //m_pToolBar->addAction(m_pEnableLogging); m_pToolBar->addSeparator(); @@ -611,6 +616,8 @@ void CSandMan::timerEvent(QTimerEvent* pEvent) if (pEvent->timerId() != m_uTimerID) return; + bool bForceProcessDisabled = false; + if (theAPI->IsConnected()) { SB_STATUS Status = theAPI->ReloadBoxes(); @@ -622,14 +629,20 @@ void CSandMan::timerEvent(QTimerEvent* pEvent) theAPI->UpdateProcesses(m_pKeepTerminated->isChecked()); - m_pDisableForce->setChecked(theAPI->AreForceProcessDisabled()); - m_pDisableForce2->setChecked(theAPI->AreForceProcessDisabled()); + bForceProcessDisabled = theAPI->AreForceProcessDisabled(); + m_pDisableForce->setChecked(bForceProcessDisabled); + m_pDisableForce2->setChecked(bForceProcessDisabled); + + + bool bIsMonitoring = theAPI->IsMonitoring(); + m_pResourceLog->setEnabled(bIsMonitoring); + m_pEnableMonitoring->setChecked(bIsMonitoring); } - if (m_bIconEmpty != (theAPI->TotalProcesses() == 0) || m_bIconDisabled != theAPI->AreForceProcessDisabled()) + if (m_bIconEmpty != (theAPI->TotalProcesses() == 0) || m_bIconDisabled != bForceProcessDisabled) { m_bIconEmpty = (theAPI->TotalProcesses() == 0); - m_bIconDisabled = theAPI->AreForceProcessDisabled(); + m_bIconDisabled = bForceProcessDisabled; QString IconFile = ":/SandMan"; if (m_bIconEmpty) @@ -755,17 +768,18 @@ void CSandMan::OnSelectionChanged() Processes.append(pBox->GetProcessList().values()); }*/ - QSet Pids; - foreach(const CBoxedProcessPtr& pProcess, Processes) - Pids.insert(pProcess->GetProcessId()); + //QSet Pids; + //foreach(const CBoxedProcessPtr& pProcess, Processes) + // Pids.insert(pProcess->GetProcessId()); - QList ResourceLog = theAPI->GetResLog(); - m_pResMonModel->Sync(ResourceLog, Pids); + QList ResourceLog = theAPI->GetTrace(); + //m_pResMonModel->Sync(ResourceLog, Pids); + m_pResMonModel->Sync(ResourceLog); - if (m_ApiLog) { - QList ApiCallLog = m_ApiLog->GetApiLog(); - m_pApiMonModel->Sync(ApiCallLog, Pids); - } + //if (m_ApiLog) { + // QList ApiCallLog = m_ApiLog->GetApiLog(); + // m_pApiMonModel->Sync(ApiCallLog, Pids); + //} } void CSandMan::OnStatusChanged() @@ -850,7 +864,7 @@ void CSandMan::OnStatusChanged() m_pEditIni->setEnabled(isConnected); m_pReloadIni->setEnabled(isConnected); m_pEnableMonitoring->setEnabled(isConnected); - m_pEnableLogging->setEnabled(isConnected); + //m_pEnableLogging->setEnabled(isConnected); } void CSandMan::OnMenuHover(QAction* action) @@ -1148,10 +1162,6 @@ SB_STATUS CSandMan::ConnectSbieImpl() if (!Status) return Status; - bool bIsMonitoring = theAPI->IsMonitoring(); - m_pResourceLog->setEnabled(bIsMonitoring); - m_pEnableMonitoring->setChecked(bIsMonitoring); - return SB_OK; } @@ -1275,11 +1285,11 @@ void CSandMan::OnCleanUp() if (sender() == m_pCleanUpMsgLog || sender() == m_pCleanUpButton) m_pMessageLog->GetTree()->clear(); - if (sender() == m_pCleanUpResLog || sender() == m_pCleanUpButton) - theAPI->ClearResLog(); + if (sender() == m_pCleanUpTrace || sender() == m_pCleanUpButton) + theAPI->ClearTrace(); - if (sender() == m_pCleanUpApiLog || sender() == m_pCleanUpButton) - if(m_ApiLog) m_ApiLog->ClearApiLog(); + //if (sender() == m_pCleanUpApiLog || sender() == m_pCleanUpButton) + // if(m_ApiLog) m_ApiLog->ClearApiLog(); if (sender() == m_pCleanUpProcesses || sender() == m_pCleanUpButton) theAPI->UpdateProcesses(false); @@ -1335,7 +1345,7 @@ void CSandMan::OnResetMsgs() theConf->SetValue("Options/CheckForUpdates", 2); theConf->SetValue("Options/NoEditInfo", true); - theConf->SetValue("Options/ApiLogInfo", true); + //theConf->SetValue("Options/ApiLogInfo", true); theConf->SetValue("Options/BoxedExplorerInfo", true); theConf->SetValue("Options/ExplorerInfo", true); @@ -1415,40 +1425,40 @@ void CSandMan::OnSetMonitoring() m_pResourceLog->setEnabled(m_pEnableMonitoring->isChecked()); } -void CSandMan::OnSetLogging() -{ - if (m_pEnableLogging->isChecked()) - { - if (theConf->GetBool("Options/ApiLogInfo", true)) - { - QString Message = tr("To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes.\n" - "Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project."); - - bool State = false; - CCheckableMessageBox::question(this, "Sandboxie-Plus", Message - , tr("Don't show this message again."), &State, QDialogButtonBox::Ok, QDialogButtonBox::Ok, QMessageBox::Information); - - if (State) - theConf->SetValue("Options/ApiLogInfo", false); - } - - if (!m_pToolBar->isVisible()) - m_pLogTabs->show(); - - if (!m_ApiLog) { - m_ApiLog = new CApiLog(); - m_pApiCallLog->setEnabled(true); - } - } - else - { - if (m_ApiLog) { - m_pApiCallLog->setEnabled(false); - m_ApiLog->deleteLater(); - m_ApiLog = NULL; - } - } -} +//void CSandMan::OnSetLogging() +//{ +// if (m_pEnableLogging->isChecked()) +// { +// if (theConf->GetBool("Options/ApiLogInfo", true)) +// { +// QString Message = tr("To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes.\n" +// "Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project."); +// +// bool State = false; +// CCheckableMessageBox::question(this, "Sandboxie-Plus", Message +// , tr("Don't show this message again."), &State, QDialogButtonBox::Ok, QDialogButtonBox::Ok, QMessageBox::Information); +// +// if (State) +// theConf->SetValue("Options/ApiLogInfo", false); +// } +// +// if (!m_pToolBar->isVisible()) +// m_pLogTabs->show(); +// +// if (!m_ApiLog) { +// m_ApiLog = new CApiLog(); +// //m_pApiCallLog->setEnabled(true); +// } +// } +// else +// { +// if (m_ApiLog) { +// //m_pApiCallLog->setEnabled(false); +// m_ApiLog->deleteLater(); +// m_ApiLog = NULL; +// } +// } +//} void CSandMan::AddAsyncOp(const CSbieProgressPtr& pProgress) { @@ -1993,7 +2003,7 @@ void CSandMan::LoadLanguage() m_LanguageId = LocaleNameToLCID(Lang.toStdWString().c_str(), 0); QString LangAux = Lang; // Short version as fallback - LangAux.truncate(LangAux.lastIndexOf('_')); + LangAux.truncate(LangAux.lastIndexOf('-')); QString LangPath = QApplication::applicationDirPath() + "/translations/sandman_"; bool bAux = false; diff --git a/SandboxiePlus/SandMan/SandMan.h b/SandboxiePlus/SandMan/SandMan.h index 78a1fe3f..683f0bc8 100644 --- a/SandboxiePlus/SandMan/SandMan.h +++ b/SandboxiePlus/SandMan/SandMan.h @@ -8,21 +8,18 @@ #include "../MiscHelpers/Common/ProgressDialog.h" #include "../MiscHelpers/Common/NetworkAccessManager.h" #include "Models/ResMonModel.h" -#include "Models/ApiMonModel.h" +//#include "Models/ApiMonModel.h" #include #include "Windows/PopUpWindow.h" -#define VERSION_MJR 0 -#define VERSION_MIN 6 -#define VERSION_REV 7 -#define VERSION_UPD 0 +#include "version.h" //#include "../QSbieAPI/SbieAPI.h" #include "SbiePlusAPI.h" class CSbieView; -class CApiLog; +//class CApiLog; class CBoxBorder; class CSbieTemplates; @@ -70,7 +67,7 @@ protected: CBoxBorder* m_pBoxBorder; CSbieTemplates* m_SbieTemplates; - CApiLog* m_ApiLog; + //CApiLog* m_ApiLog; QMap m_pAsyncProgress; @@ -132,7 +129,7 @@ private slots: void OnEditIni(); void OnReloadIni(); void OnSetMonitoring(); - void OnSetLogging(); + //void OnSetLogging(); void OnExit(); void OnHelp(); @@ -171,8 +168,8 @@ private: CPanelWidgetEx* m_pMessageLog; CPanelViewEx* m_pResourceLog; CResMonModel* m_pResMonModel; - CPanelViewEx* m_pApiCallLog; - CApiMonModel* m_pApiMonModel; + //CPanelViewEx* m_pApiCallLog; + //CApiMonModel* m_pApiMonModel; QMenu* m_pMenuFile; @@ -204,8 +201,8 @@ private: QMenu* m_pCleanUpMenu; QAction* m_pCleanUpProcesses; QAction* m_pCleanUpMsgLog; - QAction* m_pCleanUpResLog; - QAction* m_pCleanUpApiLog; + QAction* m_pCleanUpTrace; + //QAction* m_pCleanUpApiLog; QToolButton* m_pCleanUpButton; QAction* m_pKeepTerminated; @@ -215,7 +212,7 @@ private: QAction* m_pEditIni; QAction* m_pReloadIni; QAction* m_pEnableMonitoring; - QAction* m_pEnableLogging; + //QAction* m_pEnableLogging; QMenu* m_pMenuHelp; QAction* m_pSupport; diff --git a/SandboxiePlus/SandMan/SandMan.vcxproj b/SandboxiePlus/SandMan/SandMan.vcxproj index 27c44ebe..f4a5548c 100644 --- a/SandboxiePlus/SandMan/SandMan.vcxproj +++ b/SandboxiePlus/SandMan/SandMan.vcxproj @@ -195,13 +195,11 @@ - - @@ -231,9 +229,7 @@ - - diff --git a/SandboxiePlus/SandMan/SandMan.vcxproj.filters b/SandboxiePlus/SandMan/SandMan.vcxproj.filters index eff8f684..8ae7d692 100644 --- a/SandboxiePlus/SandMan/SandMan.vcxproj.filters +++ b/SandboxiePlus/SandMan/SandMan.vcxproj.filters @@ -66,18 +66,12 @@ Models - - SandMan - Dialogs SandMan - - Models - Helpers @@ -133,18 +127,12 @@ Models - - SandMan - Dialogs SandMan - - Models - Windows diff --git a/SandboxiePlus/SandMan/SbiePlusAPI.cpp b/SandboxiePlus/SandMan/SbiePlusAPI.cpp index 2bdb2936..79071f36 100644 --- a/SandboxiePlus/SandMan/SbiePlusAPI.cpp +++ b/SandboxiePlus/SandMan/SbiePlusAPI.cpp @@ -89,7 +89,16 @@ CSandBoxPlus::~CSandBoxPlus() void CSandBoxPlus::UpdateDetails() { - m_bLogApiFound = GetTextList("OpenPipePath", false).contains("\\Device\\NamedPipe\\LogAPI"); + //m_bLogApiFound = GetTextList("OpenPipePath", false).contains("\\Device\\NamedPipe\\LogAPI"); + m_bLogApiFound = false; + QStringList InjectDlls = GetTextList("InjectDll", false); + foreach(const QString & InjectDll, InjectDlls) + { + if (InjectDll.contains("logapi", Qt::CaseInsensitive)) { + m_bLogApiFound = true; + break; + } + } m_bINetBlocked = false; foreach(const QString& Entry, GetTextList("ClosedFilePath", false)) @@ -132,6 +141,9 @@ QString CSandBoxPlus::GetStatusStr() const QStringList Status; + if (IsEmpty()) + Status.append(tr("Empty")); + if (m_iUnsecureDebugging == 1) Status.append(tr("NOT SECURE (Debug Config)")); else if (m_iUnsecureDebugging == 2) @@ -168,13 +180,13 @@ void CSandBoxPlus::SetLogApi(bool bEnable) { if (bEnable) { - InsertText("OpenPipePath", "\\Device\\NamedPipe\\LogAPI"); + //InsertText("OpenPipePath", "\\Device\\NamedPipe\\LogAPI"); InsertText("InjectDll", "\\LogAPI\\logapi32.dll"); InsertText("InjectDll64", "\\LogAPI\\logapi64.dll"); } else { - DelValue("OpenPipePath", "\\Device\\NamedPipe\\LogAPI"); + //DelValue("OpenPipePath", "\\Device\\NamedPipe\\LogAPI"); DelValue("InjectDll", "\\LogAPI\\logapi32.dll"); DelValue("InjectDll64", "\\LogAPI\\logapi64.dll"); } diff --git a/SandboxiePlus/SandMan/Views/SbieView.cpp b/SandboxiePlus/SandMan/Views/SbieView.cpp index 6d71a9a3..1469c6ae 100644 --- a/SandboxiePlus/SandMan/Views/SbieView.cpp +++ b/SandboxiePlus/SandMan/Views/SbieView.cpp @@ -39,6 +39,7 @@ CSbieView::CSbieView(QWidget* parent) : CPanelView(parent) //m_pSbieTree->setItemDelegate(theGUI->GetItemDelegate()); m_pSbieTree->setModel(m_pSortProxy); + ((CSortFilterProxyModel*)m_pSortProxy)->setView(m_pSbieTree); m_pSbieTree->setSelectionMode(QAbstractItemView::ExtendedSelection); m_pSbieTree->setSortingEnabled(true); @@ -71,6 +72,7 @@ CSbieView::CSbieView(QWidget* parent) : CPanelView(parent) m_pMenuRunMailer = m_pMenuRun->addAction(CSandMan::GetIcon("Email"), tr("Run eMail Client"), this, SLOT(OnSandBoxAction())); m_pMenuRunExplorer = m_pMenuRun->addAction(CSandMan::GetIcon("Explore"), tr("Run Explorer"), this, SLOT(OnSandBoxAction())); m_pMenuRunCmd = m_pMenuRun->addAction(CSandMan::GetIcon("Cmd"), tr("Run Cmd.exe"), this, SLOT(OnSandBoxAction())); + m_pMenuRunCmdAdmin = m_pMenuRun->addAction(CSandMan::GetIcon("Cmd"), tr("Run Cmd.exe as Admin"), this, SLOT(OnSandBoxAction())); m_pMenuRun->addSeparator(); m_iMenuRun = m_pMenuRun->actions().count(); m_pMenuEmptyBox = m_pMenu->addAction(CSandMan::GetIcon("EmptyAll"), tr("Terminate All Programs"), this, SLOT(OnSandBoxAction())); @@ -377,6 +379,26 @@ QString CSbieView__SerializeGroup(QMap& m_Groups, const QS return Grouping.join(","); } +QString CSbieView::FindParent(const QString& Name) +{ + for (auto I = m_Groups.begin(); I != m_Groups.end(); ++I) + { + if (I.value().contains(Name, Qt::CaseInsensitive)) + return I.key(); + } + return QString(); +} + +bool CSbieView::IsParentOf(const QString& Name, const QString& Group) +{ + QString Parent = FindParent(Group); + if (Parent == Name) + return true; + if (Parent.isEmpty()) + return false; + return IsParentOf(Name, Parent); +} + void CSbieView::OnGroupAction() { QAction* Action = qobject_cast(sender()); @@ -453,7 +475,7 @@ void CSbieView::OnGroupAction() if (Name.isEmpty()) continue; - if (Name == Group || m_Groups.value(Name).contains(Group)) { + if (Name == Group || IsParentOf(Name, Group)) { QMessageBox("Sandboxie-Plus", tr("A group can not be its own parent."), QMessageBox::Critical, QMessageBox::Ok, QMessageBox::NoButton, QMessageBox::NoButton, this).exec(); continue; } @@ -528,6 +550,8 @@ void CSbieView::OnSandBoxAction() } else if (Action == m_pMenuRunCmd) 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_pMenuPresetsINet) diff --git a/SandboxiePlus/SandMan/Views/SbieView.h b/SandboxiePlus/SandMan/Views/SbieView.h index 71b2540f..f365d853 100644 --- a/SandboxiePlus/SandMan/Views/SbieView.h +++ b/SandboxiePlus/SandMan/Views/SbieView.h @@ -51,6 +51,9 @@ private: void UpdateGroupMenu(); + QString FindParent(const QString& Name); + bool IsParentOf(const QString& Name, const QString& Group); + QVBoxLayout* m_pMainLayout; QTreeViewEx* m_pSbieTree; @@ -68,6 +71,7 @@ private: QAction* m_pMenuRunMailer; QAction* m_pMenuRunExplorer; QAction* m_pMenuRunCmd; + QAction* m_pMenuRunCmdAdmin; QAction* m_pMenuMkLink; QMenu* m_pMenuPresets; QAction* m_pMenuPresetsLogApi; diff --git a/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp b/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp index d160fc77..d880841a 100644 --- a/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp +++ b/SandboxiePlus/SandMan/Windows/OptionsWindow.cpp @@ -276,6 +276,7 @@ COptionsWindow::COptionsWindow(const QSharedPointer& pBox, const QStri connect(ui.chkGuiTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkComTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.chkDbgTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); + connect(ui.chkErrTrace, SIGNAL(clicked(bool)), this, SLOT(OnAdvancedChanged())); connect(ui.btnAddAutoExec, SIGNAL(clicked(bool)), this, SLOT(OnAddAutoExec())); connect(ui.btnDelAutoExec, SIGNAL(clicked(bool)), this, SLOT(OnDelAutoExec())); @@ -512,6 +513,7 @@ void COptionsWindow::LoadConfig() 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.chkHideOtherBoxes->setChecked(m_pBox->GetBool("HideOtherBoxes", false)); QStringList Processes = m_pBox->GetTextList("HideHostProcess", m_Template); @@ -679,6 +681,7 @@ void COptionsWindow::SaveConfig() WriteAdvancedCheck(ui.chkGuiTrace, "GuiTrace", "*"); WriteAdvancedCheck(ui.chkComTrace, "ClsidTrace", "*"); WriteAdvancedCheck(ui.chkDbgTrace, "DebugTrace", "y"); + WriteAdvancedCheck(ui.chkErrTrace, "ErrorTrace", "y"); WriteAdvancedCheck(ui.chkHideOtherBoxes, "HideOtherBoxes"); diff --git a/SandboxiePlus/SandMan/sandman_de.ts b/SandboxiePlus/SandMan/sandman_de.ts index 3209f6d1..1096498e 100644 --- a/SandboxiePlus/SandMan/sandman_de.ts +++ b/SandboxiePlus/SandMan/sandman_de.ts @@ -1,2971 +1,2984 @@ - - - - - CApiMonModel - - - Process - Prozess - - - - Time Stamp - Zeitstempel - - - - Message - Nachricht - - - - 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? - - - + + + + + CApiMonModel + + Process + Prozess + + + Time Stamp + Zeitstempel + + + Message + Nachricht + + + + 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 - - - - 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 - - - - 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 - - - - API Call Logging - API Aufrufprotokollierung - - - - &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. - - - - To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. -Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. - Um die API Protokollierung zu nutzen, muss die LogApiDll von https://github.com/sandboxie-plus/LogApiDll mit einer oder mehrerer Box(en) eingerichtet werden. -Bitte die neuste Version herunterladen und entsprechend der Anweisungen in der README.md des Projekts in der Sandboxie.ini einrichten. - - - - 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. - - - Ignore this update, notify me about the next one. - Dieses Update ignorieren, über das nächste Update benachrichtigen. - - - - 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 - - - - Api Call Log - API Aufrufprotokoll - - - - Cleanup Processes - Prozesse aufräumen - - - - Cleanup Message Log - Nachrichtenprotokoll aufräumen - - - - Cleanup Resource Log - Ressourcenprotokoll aufräumen - - - - Cleanup Api Call Log - API Aufrufprotokoll 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 - - - No sandboxes found; creating: %1 - Keine Sandbox(en) gefunden; erstelle: %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 - - - - 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 - - - - 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 + + + + + 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 + + + + + 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 + + + API Call Logging + API Aufrufprotokollierung + + + + &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. + + + To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. +Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. + Um die API Protokollierung zu nutzen, muss die LogApiDll von https://github.com/sandboxie-plus/LogApiDll mit einer oder mehrerer Box(en) eingerichtet werden. +Bitte die neuste Version herunterladen und entsprechend der Anweisungen in der README.md des Projekts in der Sandboxie.ini einrichten. + + + + 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. + + + Ignore this update, notify me about the next one. + Dieses Update ignorieren, über das nächste Update benachrichtigen. + + + + 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 + + + Api Call Log + API Aufrufprotokoll + + + + Cleanup Processes + Prozesse aufräumen + + + + Cleanup Message Log + Nachrichtenprotokoll aufräumen + + + Cleanup Resource Log + Ressourcenprotokoll aufräumen + + + + Cleanup Processes + Cleanup Api Call Log + API Aufrufprotokoll 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 + + + No sandboxes found; creating: %1 + Keine Sandbox(en) gefunden; erstelle: %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 + + + + + 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 + + + + + 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_pl.ts b/SandboxiePlus/SandMan/sandman_pl.ts index 9096b243..749de91e 100644 --- a/SandboxiePlus/SandMan/sandman_pl.ts +++ b/SandboxiePlus/SandMan/sandman_pl.ts @@ -4,19 +4,16 @@ CApiMonModel - Process - Proces + Proces - Time Stamp - Znacznik czasu + Znacznik czasu - Message - Wiadomość + Wiadomość @@ -119,244 +116,244 @@ 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. @@ -617,32 +614,32 @@ Full path: %4 CResMonModel - + Unknown Nieznane - + Process Proces - + Time Stamp Znacznik czasu - + Type Typ - + Status Status - + Value Wartość @@ -650,47 +647,52 @@ Full path: %4 CSandBoxPlus - + Disabled Wyłączone - + + Empty + + + + NOT SECURE (Debug Config) NIE BEZPIECZNE (Konfiguracja debug) - + Reduced Isolation Ograniczona izolacja - + Enhanced Isolation Wzmocniona izolacja - + API Log Log API - + No INet Bez INetu - + Net Share Bez dysków sieciowych - + No Admin Bez praw administracyjnych - + Normal Normalna @@ -698,747 +700,743 @@ Full path: %4 CSandMan - - + + Sandboxie-Plus v%1 Sandboxie-Plus v%1 - + Reset Columns Zresetuj kolumny - + Copy Cell Skopiuj komórkę - + Copy Row Skopiuj linijkę - + Copy Panel Skopiuj wszystko - + Time|Message Czas|Wiadomość - + Sbie Messages Wiadomość Sbie - + Resource Monitor Monitor dostępu do zasobów - Api Call Log - Log wywołani API + Log wywołani API - + Show/Hide Pokarz/Schowaj - - + + Disable Forced Programs Wyłącz monitorowanie programów - + &Sandbox &Piaskownica - + Create New Box Stwórz piaskownice - + Terminate All Processes Zakończ wszystkie procesy - + Window Finder Szukacz okien - + &Maintenance &Zarzadzanie - + Connect Połącz - + Disconnect Odłącz - + Stop All Zakończ wszystkie - + &Advanced &Zaawansowane - + Install Driver Zainstaluj sterownik - + Start Driver Uruchom sterownik - + Stop Driver Zatrzymaj sterownik - + Uninstall Driver Usuń sterownik - + Install Service Zainstaluj usługę - + Start Service Uruchom usługę - + Stop Service Zatrzymaj usługę - + Uninstall Service Usuń usługę - + Exit Zakończ - + &View &Widok - + Simple View Prosty widok - + Advanced View Zaawansowany widok - + Always on Top Zawsze na wierzchu - + Show Hidden Boxes Pokarz ukryte piaskownice - + Clean Up Wyczyść - + Cleanup Processes Wyczyść prcesy - + Cleanup Message Log Wyczyść log wiadomosci - Cleanup Resource Log - Wyczyść log dostępów do zasobów + Wyczyść log dostępów do zasobów - Cleanup Api Call Log - Wyczyść log wywołana API + Cleanup Processes + Cleanup Api Call Log + Wyczyść log wywołana API - + + Cleanup Trace Log + + + + Keep terminated Zatrzymaj zakończone procesy - + &Options &Opcje - + Global Settings Globalne ustawienia - + Reset all hidden messages Zresetuj ukryte wiadomości - + Edit ini file Edytuj plik ini - + Reload ini file Odśwież plik ini - + Resource Logging Logowanie dostępu do zasobów - API Call Logging - Loguj wywołania API + Loguj wywołania API - + &Help &Pomoc - + Support Sandboxie-Plus with a Donation Wesprzyj Sandboxie-Plus darowizną - + Visit Support Forum Odwiedź forum - + Online Documentation Dokumentacja online - + Check for Updates Szukaj aktualizacji - + About the Qt Framework O Qt Framework - - + + About Sandboxie-Plus O Sandboxie-Plus - + Cleanup Wyczyść - + Do you want to close Sandboxie Manager? Czy chcesz zakończyć Sandboxie manager? - + Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. Sandboxie-Plus była wykonana w modusie przenośnym, teraz musi usunąć sterownik i usługę. Do tego będzie potrzebowała uprawnień administracyjnych. - - - - - - - + + + + + + Don't show this message again. Nie pokazuj tej wiadomości jeszcze raz. - - - + + + Sandboxie-Plus - Error Sandboxie-Plus - Błąd - + Failed to stop all Sandboxie components Błąd w zakańczaniu komponentów Sandboxie - + Failed to start required Sandboxie components Błąd w inicjacji komponentów Sandboxie - + Maintenance operation %1 Operacja zarządzania %1 - + Maintenance operation Successful Operacja zarzadzania zakończona - + Select box: Wybierz piaskownice: - + Default sandbox not found; creating: %1 Domyślna piaskownica nie znaleziona, więc zostanie odtworzona: %1 - + Do you want to check if there is a new version of Sandboxie-Plus? Czy chcesz sprawdzić, czy istnieje nowa wersja Saidboxie-Plus? - + Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? Niektóre szablony kompatybilności (%1) nie zostały znalezione, przypuszczalnie są przestarzałe, czy maja zostać usunięte z wszystkich piaskownic? - + Cleaned up removed templates... Wyczyść i usunięte szablony… - + Sbie Directory: %1 Folder z piaskownicami: %1 - + Loaded Config: %1 Załadowana konfiguracja: %1 - + Driver version: %1 Wersja sterownika: %1 - + - Portable - przenośna - + Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? Sandboxie-Plus została wystartowana w modusie przenośnym, czy folder piaskownic ma zostać umieszczony w folderze powyższym? - + - NOT connected - NIE połączone - + PID %1: PID %1: - + %1 (%2): %1 (%2): - + Recovering file %1 to %2 Odtwarzanie pliku %1 do %2 - + The file %1 already exists, do you want to overwrite it? Plik o nazwie %1 już istnieje czy ma zostać zastąpiony? - + Do this for all files! Zrób to z wszystkimi plikami! - + Failed to recover some files: Nie udało się odtworzyć następujących plików: - + Only Administrators can change the config. Tylko administratorzy mogą zmieniać ustawienia piaskownicy. - + Please enter the configuration password. Proszę podać hasło. - + Login Failed: %1 Logowanie się nie udało: %1 - + Do you want to terminate all processes in all sandboxes? Czy wszystkie programy we wszystkich piaskownicach mają zostać zakończone? - + Terminate all without asking W przyszłości zakańczaj bez pytania - + Please enter the duration for disabling forced programs. Proszę podać jak długo monitorowanie procesów ma zostać wstrzymane. - + Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. Sandboxie-Plus jest wykonane w modusie przenośnym i musi zainstalować sterownik i usługę. Do tego będzie potrzebować uprawnień administratorskich. - + Executing maintenance operation, please wait... Wykonywanie operacji zarzadzania, proszę czekać… - + Do you also want to reset hidden message boxes (yes), or only all log messages (no)? Czy ukryte okna z wiadomościami mają zostać zresetowane (tak), czy tylko wiadomości piaskownic (nie)? - + The changes will be applied automatically whenever the file gets saved. Zmiany będą zastosowane automatycznie jak tylko plik zostanie zapisany. - + The changes will be applied automatically as soon as the editor is closed. Zmiany będą zastosowane automatycznie jak tylko edytor zostanie zakończony. - - To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. -Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. - - - - + Error Status: %1 Kod błędu: %1 - + Administrator rights are required for this operation. Ta operacja wymaga uprawnień administratorskich. - + Failed to execute: %1 Błąd przy wykonywaniu: %1 - + Failed to connect to the driver Błąd przy polaczeniu ze sterownikiem - + Failed to communicate with Sandboxie Service: %1 Błąd przy komunikacji z usługą: %1 - + An incompatible Sandboxie %1 was found. Compatible versions: %2 Nie kompatybilna wersja Sandboxie %1 jest aktualnie zainstalowana. Kompatybilne wersje: %2 - + Can't find Sandboxie installation path. Folder instalacyjny nie mógł być zidentyfikowany. - + Failed to copy configuration from sandbox %1: %2 Błąd przy kopiowaniu konfiguracji piaskownicy %1: %2 - + A sandbox of the name %1 already exists Piaskownica o nazwie %1 jur istnieje - + Failed to delete sandbox %1: %2 Błąd przy usuwaniu piaskownicy %1: %2 - + The sandbox name can not be longer than 32 characters. Nazwy piaskownicy nie mogą być dłuższe niż 32 litery. - + The sandbox name can not be a device name. Nazwy piaskownicy nie mogą być nazwami urządzeń. - + The sandbox name can contain only letters, digits and underscores which are displayed as spaces. Nazwy piaskownicy mogą jedynie być nazwami litery, liczby i podkreślenia które będą wyświetlane jako spacje. - + Failed to terminate all processes Błąd zakańczania wszystkich procesów - + Delete protection is enabled for the sandbox Ochrona przed usunięciem jest aktywna dla tej piaskownicy - + Error deleting sandbox folder: %1 Błąd usuwania foldera piaskownicy: %1 - + A sandbox must be emptied before it can be renamed. Piaskownica musi być opróżniona zanim morze być przemianowana. - + A sandbox must be emptied before it can be deleted. Piaskownica musi być opróżniona zanim morze być usunięta. - + Failed to move directory '%1' to '%2' Błąd przy przenoszeniu foldera %1 do %2 - + This Snapshot operation can not be performed while processes are still running in the box. Operacja migawkowa ni może być wykonana puki procesy są wykonywane w piaskownicy. - + Failed to create directory for new snapshot Błąd przy tworzeniu foldera dla nowej migawki - + Failed to copy RegHive Błąd przy kopiowaniu gałęzi rejestru - + Snapshot not found Nie znaleziono migawki - + Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. Błąd przy kombinowaniu folderów migawek '%1' u '%2', migawki nie zostały całkowicie skombinowane. - + Failed to remove old snapshot directory '%1' Błąd przy usuwaniu starego foldera migawki '%1' - + Can't remove a snapshot that is shared by multiple later snapshots Nie można usunąć migawki, która jest używana przez inne migawki - + Failed to remove old RegHive Błąd przy usuwaniu gałęzi rejestru - + You are not authorized to update configuration in section '%1' Brak autoryzacji do zmian konfiguracji w tej sekcji '%1' - + Failed to set configuration setting %1 in section %2: %3 Błąd przy zmianie ustawienia %1 w sekcji %2: %3 - + Can not create snapshot of an empty sandbox Migawka pustej piaskownicy nie morzy być wytworzona - + A sandbox with that name already exists Piaskownica o tej nazwie już istnieje - + Unknown Error Status: %1 Nieznany kod błędu: %1 - + Operation failed for %1 item(s). Błąd przy wykonywaniu %1 operacji. - + Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? Czy przeglądarka internetowa z %1 ma być otwarte w piaskownicy (tak), czy poza piaskownica (nie)? - + Remember choice for later. Zapamiętaj wybór na później. - + Checking for updates... Szukanie aktualizacji… - + server not reachable server nie dostępny - - + + Failed to check for updates, error: %1 Błąd przy szukaniu aktualizacji: %1 - + <p>Do you want to go to the <a href="%1">info page</a>?</p> <p>Czy chcesz otworzyć <a href="%1">stronę informacyjną</a>?</p> - + Don't show this announcement in the future. Nie pokazuj jego ogłoszenia w przyszłości. - + <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> <p>Nowa wersja Sandboxie-Plus jest dostępna.<br /><font color='red'>Nowa wersja:</font> <b>%1</b></p> - + <p>Do you want to download the latest version?</p> <p>Czy chcesz pobrać najnowszą wersję?</p> - + <p>Do you want to go to the <a href="%1">download page</a>?</p> <p>Czy chcesz otworzyć <a href="%1">stronę pobierania</a>?</p> - + Don't show this message anymore. Nie pokazuj tej aktualizacji w przyszłości. - + Downloading new version... Pobieranie nowej wersji… - + No new updates found, your Sandboxie-Plus is up-to-date. Nie znaleziono nowszej wersji, twoja Sandboxie-Plus jest aktualna. - + Failed to download update from: %1 Błąd pobierania aktualizacji z: %1 - + <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>Nowa wersja Sandboxie-Plus zostają pobrana z:</p><p><a href="%2">%1</a></p><p>Czy instalacja ma zostać zaczęta? Wszystkie programy aktywne w piaskownicach zostaną zakończone.</p> - + <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> <h3>O Sandboxie-Plus</h3><p>Wersja %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - + <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 jest otwarto źródłowym rozwidlenie Sandboxie.</p><p></p><p>Odwiedź <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> aby otrzymać dalsze informacje.</p><p></p><p></p><p></p><p>Icony z <a href="https://icons8.com">icons8.com</a></p><p></p> - + The selected window is running as part of program %1 in sandbox %2 Wybrane okno jest częścią programu %1 z piaskownicy %2 - + The selected window is not running as part of any sandboxed program. Wybrane okno nie jest częścią żadnego programu w piaskownicy. - + Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. Uchwyć i pociągnij narzędzie do szukania i puść je nad oknem do analizy. - + Sandboxie-Plus - Window Finder Sandboxie-Plus - Narzędzie do szukania @@ -1446,37 +1444,37 @@ Please download the latest release and set it up with the Sandboxie.ini as instr CSbieModel - + Box Groupe Grupy piaskownic - + Name Nazwa - + Process ID Identyfikator procesu - + Status Status - + Title Tytuł okna - + Start Time Czas startu - + Path / Command Line Ścieżka / wiersz poleceń @@ -1484,12 +1482,12 @@ Please download the latest release and set it up with the Sandboxie.ini as instr CSbieProcess - + Terminated Zakończony - + Running Aktywny @@ -1497,278 +1495,283 @@ Please download the latest release and set it up with the Sandboxie.ini as instr CSbieView - + Create New Box Stwórz nową piaskownicę - + Add Group Dodaj grupę - + Remove Group Usuń grupę - + Run Wykonaj - + Run Program Wykonaj program - + Run from Start Menu Wykonaj program z menu startowego - + Run Web Browser Wykonaj przeglądarkę internetową - + Run eMail Client Wykonaj program eMail - + Run Explorer Wykonaj explorator window - + Run Cmd.exe Wykonaj cmd.exe - + + Run Cmd.exe as Admin + + + + Terminate All Programs Zakończ wszystkie programy - - + + Create Shortcut Wytwórz skrót - + Explore Content Eksploruj zawartość - + Snapshots Manager Menedżer migawek - + Recover Files Przywróć pliki - + Delete Content Skasuj zawartość - + Sandbox Presets Ustawienia wstępne - + Enable API Call logging 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 - + 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ć? @@ -1998,7 +2001,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr - + Name Nazwa @@ -2483,41 +2486,46 @@ Uwaga: Ustawieni monitora procesów są także ograniczone. + 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 @@ -2529,72 +2537,72 @@ instead of "*". - + COM Class Trace Śledzenie klas COM - + <- for this one the above does not apply - + 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 @@ -2610,7 +2618,7 @@ instead of "*". QObject - + Drive %1 Dysk %1 diff --git a/SandboxiePlus/SandMan/sandman_pt.ts b/SandboxiePlus/SandMan/sandman_pt.ts index 215cfd6b..2b7d4976 100644 --- a/SandboxiePlus/SandMan/sandman_pt.ts +++ b/SandboxiePlus/SandMan/sandman_pt.ts @@ -4,19 +4,16 @@ CApiMonModel - Process - Processo + Processo - Time Stamp - Horário + Horário - Message - Mensagem + Mensagem @@ -127,108 +124,108 @@ 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. @@ -237,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 @@ -551,38 +548,38 @@ - Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? + 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 - Deseja permitir que %4 (%5) copie um arquivo grande %1 para a caixa: %2? + Deseja permitir que %4 (%5) copie um arquivo grande %1 para a caixa: %2? Nome do arquivo: %3 - Do you want to allow %1 (%2) access to the internet? + 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 - Deseja permitir o acesso de %1 (%2) à Internet? + Deseja permitir o acesso de %1 (%2) à Internet? Caminho completo: %3 - %1 is eligible for quick recovery from %2. + %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 está qualificado para recuperação rápida de %2. + %1 está qualificado para recuperação rápida de %2. O arquivo foi gravado por: %3 - Migrating a large file %1 into the sandbox %2, %3 left. + 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 - Migrando um arquivo grande %1 para a caixa %2, %3 restante. + Migrando um arquivo grande %1 para a caixa %2, %3 restante. Caminho completo: %4 @@ -649,32 +646,32 @@ Caminho completo: %4 CResMonModel - + Unknown Desconhecido - + Process Processo - + Time Stamp Horário - + Type Tipo - + Value Valor - + Status Status @@ -682,48 +679,53 @@ Caminho completo: %4 CSandBoxPlus - + Disabled Desativado - + + Empty + + + + NOT SECURE (Debug Config) NÃO SEGURO (configurar depuração) - + Reduced Isolation Isolamento Reduzido - + Enhanced Isolation Isolamento Aprimorado - + API Log Log de API - + No INet Sem Internet - + Net Share Kept original for lack of good German wording Compartilhar Rede - + No Admin Sem Admin - + Normal Normal @@ -731,337 +733,340 @@ Caminho completo: %4 CSandMan - - + + Sandboxie-Plus v%1 Sandboxie-Plus v%1 - + Reset Columns Redefinir Colunas - + Copy Cell Copiar Célula - + Copy Row Copiar Linha - + Copy Panel Copiar Painel - + Time|Message Horário|Mensagem - + Sbie Messages Mensagem do Sbie - + Resource Monitor Monitor de Recursos - Api Call Log Took the freedom of Api being all caps - Log de Chamada + Log de Chamada - + Show/Hide Exibir/Ocultar - - + + Disable Forced Programs Desativar Programas Forçados - + &Sandbox &Sandbox - + Create New Box Criar Nova Caixa - + Terminate All Processes Terminar Todos os Processos - + Window Finder Localizador de Janelas - + &Maintenance &Manutenção - + Connect Conectar - + Disconnect Desconectar - + Stop All Parar Todos - + &Advanced &Avançado - + Install Driver Instalar Drive - + Start Driver Iniciar Drive - + Stop Driver Parar Drive - + Uninstall Driver Desinstalar Drive - + Install Service Instalar Serviço - + Start Service Iniciar Serviço - + Stop Service Parar Serviço - + Uninstall Service Desinstalar Serviço - + Exit Sair - + &View &Exibir - + Simple View Simples - + Advanced View Avançada - + Always on Top Sempre Visível - + Show Hidden Boxes Mostrar Caixas Ocultas - + Clean Up Limpar - + Cleanup Processes Limpar Processos - + Cleanup Message Log Limpar Log de Mensagens - Cleanup Resource Log - Limpar Log de Recurso + Limpar Log de Recurso - Cleanup Api Call Log - Limpar Log de Chamada Api + Cleanup Processes + Cleanup Api Call Log + Limpar Log de Chamada Api - + + Cleanup Trace Log + + + + Keep terminated Manter terminado - + &Options &Opções - + Global Settings Configurações Globais - + Reset all hidden messages Redefinir todas as mensagens ocultas - + Edit ini file Freedom to ini being all caps Editar arquivo ini - + Reload ini file Recarregar arquivo ini - + Resource Logging Log de Recursos - API Call Logging - Log de Chamada de API + Log de Chamada de API - + &Help Aj&uda - + Support Sandboxie-Plus with a Donation Doar para o Sandboxie-Plus - + Visit Support Forum Fórum de Suporte - + Online Documentation Documentação Online - + Check for Updates Verificar por Atualizações - + About the Qt Framework Sobre o Qt Framework - - + + About Sandboxie-Plus Sobre o Sandboxie-Plus - + Cleanup Limpar - + Do you want to close Sandboxie Manager? Gostaria de fechar o Sandboxie Manager? - + Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. Sandboxie-Plus estava sendo executado em modo portable, agora tem que limpar os serviços criados. Isso solicitará privilégios administrativos. - + Failed to stop all Sandboxie components Falha ao parar todos os componentes do Sandboxie - + Failed to start required Sandboxie components Falha ao iniciar os componentes exigidos do Sandboxie - + Default sandbox not found; creating: %1 Caixa de areia padrão não encontrada; Criando: %1 - + <p>Do you want to go to the <a href="%1">info page</a>?</p> <p>Você quer ir para a <a href="%1">página de informações</a>?</p> - + Don't show this message anymore. Não mostre mais essa mensagem. - + The selected window is running as part of program %1 in sandbox %2 A janela selecionada está sendo executado como parte do programa %1 na caixa de areia %2 - + The selected window is not running as part of any sandboxed program. A janela selecionada não está sendo executado como parte de nenhum programa de caixa de areia. - + Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. Arraste o Localizador sobre uma janela para selecioná-la, em seguida, solte para verificar se a janela está em uma caixa. - + Sandboxie-Plus - Window Finder Sandboxie-Plus - Localizador de Janela @@ -1074,96 +1079,95 @@ Caminho completo: %4 Alguns modelos de compatibilidade (%1) estão faltando, provavelmente excluídos. Deseja removê-los de todas as caixas? - + Cleaned up removed templates... Limpei modelos removidos... - + Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? Sandboxie-Plus foi iniciado no modo portátil, você deseja colocar a pasta SandBox em seu diretório pai? - + - NOT connected - NÃO conectado - + The file %1 already exists, do you want to overwrite it? O arquivo %1 já existe, deseja sobrescrevê-lo? - + Do this for all files! Fazer isso para todos os arquivos! - + Failed to recover some files: Falha ao recuperar alguns arquivos: - + Do you want to terminate all processes in all sandboxes? Você deseja encerrar todos os processos em todas as caixas? - + Terminate all without asking Finalizar tudo sem perguntar - + Please enter the duration for disabling forced programs. Insira a duração para desabilitar programas forçados. - + Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. Sandboxie-Plus foi iniciado no modo portable é preciso criar os serviços necessários. Isso solicitará privilégios administrativos. - + Do you also want to reset hidden message boxes (yes), or only all log messages (no)? Você também deseja redefinir as caixas de mensagens ocultas (sim) ou apenas todas as mensagens de log (não)? - + The changes will be applied automatically whenever the file gets saved. As alterações serão aplicadas automaticamente sempre que o arquivo for salvo. - + The changes will be applied automatically as soon as the editor is closed. As alterações serão aplicadas automaticamente assim que o editor for fechado. - To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. - Para usar o log de API, você deve primeiro configurar o LogApiDll em https://github.com/sandboxie-plus/LogApiDll com um ou mais caixas de areia. + Para usar o log de API, você deve primeiro configurar o LogApiDll em https://github.com/sandboxie-plus/LogApiDll com um ou mais caixas de areia. Faça o download da versão mais recente e configure-o com o Sandboxie.ini conforme instruído no README.md do projeto. - + Error Status: %1 Status de Erro: %1 - + Can not create snapshot of an empty sandbox Não é possível criar instantâneo de uma caixa de areia vazia - + A sandbox with that name already exists Uma caixa de areia com esse nome já existe - + <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 é uma continuação de código aberto do Sandboxie.</p><p></p><p>Visite <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> para maiores informações.</p><p></p><p></p><p></p><p>Ícones de <a href="https://icons8.com">icons8.com</a></p><p></p> @@ -1172,7 +1176,7 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo Direitos administrativos necessários. - + Failed to execute: %1 Falha ao executar: %1 @@ -1181,7 +1185,7 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo Falha ao se conectar ao driver - + Failed to communicate with Sandboxie Service: %1 Falha ao se comunicar com o serviço Sandboxie: %1 @@ -1194,17 +1198,17 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo Versão incompatível, encontrada Sandboxie %1, versões compatíveis: %2 - + Failed to copy configuration from sandbox %1: %2 Falha ao copiar a configuração do sandbox %1: %2 - + A sandbox of the name %1 already exists Uma caixa de areia com o nome %1 já existe - + Failed to delete sandbox %1: %2 Falha ao excluir sandbox %1: %2 @@ -1213,72 +1217,72 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo O nome da caixa de areia não pode ter mais de 32 caracteres. - + The sandbox name can not be a device name. O nome da caixa de areia não pode ser um nome de dispositivo. - + The sandbox name can contain only letters, digits and underscores which are displayed as spaces. O nome da caixa de areia pode conter apenas letras, números e sublinhados que são exibidos como espaços. - + Failed to terminate all processes Falha ao terminar todos os processos - + Delete protection is enabled for the sandbox A proteção de exclusão está ativada para a caixa de areia - + Error deleting sandbox folder: %1 Erro ao excluir a pasta da caixa de areia: %1 - + A sandbox must be emptied before it can be renamed. Uma caixa de areia deve ser esvaziada antes de ser renomeada. - + A sandbox must be emptied before it can be deleted. Uma caixa de areia deve ser esvaziada antes de ser excluída. - + Failed to move directory '%1' to '%2' Falha ao mover diretório '%1' para '%2' - + This Snapshot operation can not be performed while processes are still running in the box. Essa operação de instantâneo não pode ser executada enquanto os processos ainda estiverem em execução na caixa. - + Failed to create directory for new snapshot Falha ao criar diretório para novo instantâneo - + Failed to copy RegHive Falha ao copiar RegHive - + Snapshot not found Instantâneo não encontrado - + Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. Erro ao mesclar os diretórios de instantâneo '%1' com '%2', o instantâneo não foi totalmente mesclado. - + Failed to remove old snapshot directory '%1' Falha ao remover diretório de instantâneo antigo '%1' @@ -1287,27 +1291,27 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo Não é possível remover um instantâneo que é compartilhado por vários instantâneos posteriores - + Failed to remove old RegHive Falha ao remover RegHive antigo - + You are not authorized to update configuration in section '%1' Você não está autorizado a atualizar a configuração na seção '%1' - + Failed to set configuration setting %1 in section %2: %3 Falha ao definir a definição de configuração %1 na seção %2: %3 - + Unknown Error Status: %1 Status de erro desconhecido: %1 - + Don't show this announcement in the future. Não mostrar esse anúncio no futuro. @@ -1316,12 +1320,12 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo Ignore essa atualização, avise-me sobre a próxima. - + No new updates found, your Sandboxie-Plus is up-to-date. Nenhuma nova atualização encontrada, seu Sandboxie-Plus está atualizado. - + <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>Novo Sandboxie-Plus foi baixado para o seguinte local:</p><p><a href="%2">%1</a></p><p>Gostaria de iniciar a instalação? Se algum programa estiver sendo executado na caixa de areia, eles serão terminados.</p> @@ -1330,20 +1334,19 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo Sandboxie-Plus estava sendo executado em modo portable, agora tem que limpar os serviços criados, isso irá solicitará privilégios administrativos. - - - - - - - + + + + + + Don't show this message again. Não mostrar essa mensagem novamente. - - - + + + Sandboxie-Plus - Error Sandboxie-Plus - Erro @@ -1356,47 +1359,47 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo Falha ao iniciar os componentes necessários do sandboxie - + Maintenance operation %1 Operação de manutenção %1 - + Maintenance operation Successful Operação de manutenção bem-sucedida - + Select box: Selecionar caixa: - + Do you want to check if there is a new version of Sandboxie-Plus? Quer verificar se existe uma nova versão do Sandboxie-Plus? - + Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? Alguns modelos de compatibilidade (%1) estão faltando, provavelmente excluídos. Deseja removê-los de todas as caixas? - + Driver version: %1 Versão do drive: %1 - + - Portable - Portable - + Sbie Directory: %1 Diretório do Sbie: %1 - + Loaded Config: %1 Configuração Carregada: %1 @@ -1405,17 +1408,17 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo - Driver NÃO conectado - + PID %1: PID %1: - + %1 (%2): %1 (%2): - + Recovering file %1 to %2 Recuperando arquivo %1 para %2 @@ -1426,17 +1429,17 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo - + Only Administrators can change the config. Apenas administradores podem alterar a configuração. - + Please enter the configuration password. Por favor, insira a senha de configuração. - + Login Failed: %1 Falha no Login: %1 @@ -1453,7 +1456,7 @@ Faça o download da versão mais recente e configure-o com o Sandboxie.ini confo Nenhuma sandbox encontrada; criando: %1 - + Executing maintenance operation, please wait... Executando operação de manutenção, por favor aguarde... @@ -1468,63 +1471,63 @@ Please download the latest release and set it up with the sandboxie.ini as instr Faça o download da versão mais recente e configure-a em sandboxie.ini conforme instruído no README.md do projeto. - + Administrator rights are required for this operation. Direitos de administrador são necessários para esta operação. - + Failed to connect to the driver Falha ao se conectar com o driver - + An incompatible Sandboxie %1 was found. Compatible versions: %2 Um Sandboxie %1 incompatível foi encontrado. Versões compatíveis: %2 - + Can't find Sandboxie installation path. Não é possível encontrar o caminho de instalação do Sandboxie. - + The sandbox name can not be longer than 32 characters. O nome da caixa de área não pode ter mais de 32 caracteres. - + Can't remove a snapshot that is shared by multiple later snapshots Não é possível remover instantâneos compartilhado por vários instantâneos posteriores - + Operation failed for %1 item(s). A operação falhou para %1 item(ns). - + Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? Deseja abrir %1 em um navegador Web na caixa de areia (sim) ou fora da caixa de areia (não)? - + Remember choice for later. Lembrar escolha mais tarde. - + Checking for updates... Verificando por atualizações... - + server not reachable servidor não acessível - - + + Failed to check for updates, error: %1 Falha ao verificar atualizações, erro: %1 @@ -1533,17 +1536,17 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Não mostrar esse anúncio no futuro. - + <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> <p>Há uma nova versão do Sandboxie-Plus disponível.<br /><font color='red'>Nova versão:</font> <b>%1</b></p> - + <p>Do you want to download the latest version?</p> <p>Você quer baixar a versão mais recente?</p> - + <p>Do you want to go to the <a href="%1">download page</a>?</p> <p>Você quer ir para a <a href="%1">página de download</a>?</p> @@ -1552,7 +1555,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Ignorar essa atualização, avise-me sobre a próxima. - + Downloading new version... Baixando nova versão... @@ -1561,7 +1564,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Nenhuma nova atualização encontrada, seu Sandboxie-Plus está atualizado. - + Failed to download update from: %1 Falha ao baixar atualização de: %1 @@ -1570,7 +1573,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme <p>Novo Sandboxie-Plus foi baixado para o seguinte local:</p><p><a href="%2">%1</a></p><p>Gostaria de iniciar a instalação. Se algum programa estiver senso executado na caixa de areia, será encerrado.</p> - + <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> <h3>Sobre Sandboxie-Plus</h3><p>Versão %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> @@ -1589,37 +1592,37 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme CSbieModel - + Box Groupe Caixa de Grupo - + Name Nome - + Process ID ID - + Status Status - + Title Título - + Start Time Horário - + Path / Command Line Caminho / Linha de Comando @@ -1631,7 +1634,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme CSbieProcess - + Terminated Terminado @@ -1640,7 +1643,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme Suspenso - + Running Executando @@ -1648,215 +1651,220 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme CSbieView - + Create New Box Criar Nova Caixa - + Add Group Adicionar Grupo - + Remove Group Remover Grupo - + Run Rodar - + Run Program Rodar Programa - + Run from Start Menu Rodar do Menu Iniciar - + Run Web Browser Rodar Navegador Web - + Run eMail Client Rodar Cliente de E-Mail - + Run Explorer Rodar Explorer - + Run Cmd.exe Rodar Cmd.exe - + + Run Cmd.exe as Admin + + + + Terminate All Programs Terminar Todos os Programas - - + + Create Shortcut Create Desktop Shortcut Criar Atalho - + Explore Content Explorar Conteúdo - + Snapshots Manager Gerenciador de Instantâneos - + Recover Files Recuperar Arquivos - + Delete Content Excluir Conteúdo - + Sandbox Presets Predefinições do Sandbox - + Enable API Call logging 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 - + 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? @@ -1869,56 +1877,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? @@ -1929,13 +1937,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) @@ -2159,7 +2167,7 @@ Faça o download da versão mais recente e configure-a em sandboxie.ini conforme - + Name Nome @@ -2656,12 +2664,12 @@ Nota: As configurações de programas e pastas forçadas para uma caixa de areia Rastreamento - + 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 @@ -2680,22 +2688,22 @@ 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 @@ -2725,82 +2733,87 @@ ao invés de "*". 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 @@ -2816,7 +2829,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 0b38bf80..82fec4a7 100644 --- a/SandboxiePlus/SandMan/sandman_ru.ts +++ b/SandboxiePlus/SandMan/sandman_ru.ts @@ -5,15 +5,15 @@ CApiMonModel Message - Сообщение + Сообщение Time Stamp - Временная метка + Временная метка Process - Процесс + Процесс @@ -431,27 +431,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 @@ -549,6 +569,10 @@ Full path: %4 Disabled Отключено + + Empty + + CSandMan @@ -626,7 +650,7 @@ Full path: %4 Cleanup Api Call Log - Очистить журнал вызовов API + Очистить журнал вызовов API Simple View @@ -694,7 +718,7 @@ Full path: %4 Api Call Log - Журнал вызовов API + Журнал вызовов API Stop Driver @@ -780,7 +804,7 @@ Full path: %4 API Call Logging - Ведение журнала вызовов API + Ведение журнала вызовов API Loaded Config: %1 @@ -940,7 +964,7 @@ Full path: %4 Cleanup Resource Log - Очистить журнал ресурсов + Очистить журнал ресурсов Cleanup Message Log @@ -1065,7 +1089,7 @@ Full path: %4 To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. - Чтобы использовать ведение журнала API, вы должны сначала настроить LogApiDll из https://github.com/sandboxie-plus/LogApiDll с одной или несколькими песочницами. + Чтобы использовать ведение журнала API, вы должны сначала настроить LogApiDll из https://github.com/sandboxie-plus/LogApiDll с одной или несколькими песочницами. Загрузите последний выпуск и настройте его с помощью Sandboxie.ini, как указано в README.md проекта. @@ -1148,6 +1172,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Don't show this message anymore. Больше не показывать это сообщение. + + Cleanup Trace Log + + CSbieModel @@ -1414,6 +1442,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr A group can not be its own parent. Группа не может быть собственным родителем. + + Run Cmd.exe as Admin + + CSettingsWindow @@ -2067,6 +2099,10 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to Allow access to Bluetooth Разрешить доступ к Bluetooth + + Log all SetError's to Trace log + + PopUpWindow @@ -2086,23 +2122,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 0351ebde..8c27e782 100644 --- a/SandboxiePlus/SandMan/sandman_tr.ts +++ b/SandboxiePlus/SandMan/sandman_tr.ts @@ -5,15 +5,15 @@ CApiMonModel Message - Mesaj + Mesaj Time Stamp - Zaman Damgası + Zaman Damgası Process - İşlem + İşlem @@ -431,27 +431,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 @@ -549,6 +569,10 @@ Tam yol: %4 Disabled Devre dışı + + Empty + + CSandMan @@ -626,7 +650,7 @@ Tam yol: %4 Cleanup Api Call Log - Api Çağrı Günlüğünü Temizle + Api Çağrı Günlüğünü Temizle Simple View @@ -694,7 +718,7 @@ Tam yol: %4 Api Call Log - Api Çağrı Günlüğü + Api Çağrı Günlüğü Stop Driver @@ -780,7 +804,7 @@ Tam yol: %4 API Call Logging - API Çağrı Günlüğü + API Çağrı Günlüğü Loaded Config: %1 @@ -940,7 +964,7 @@ Tam yol: %4 Cleanup Resource Log - Kaynak Günlüğünü Temizle + Kaynak Günlüğünü Temizle Cleanup Message Log @@ -1065,7 +1089,7 @@ Tam yol: %4 To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. - API günlüğünü kullanmak için önce https://github.com/sandboxie-plus/LogApiDll adresinden bir veya daha fazla korumalı kutu ile LogApiDll'yi kurmanız gerekir. + API günlüğünü kullanmak için önce https://github.com/sandboxie-plus/LogApiDll adresinden bir veya daha fazla korumalı kutu ile LogApiDll'yi kurmanız gerekir. Lütfen en son sürümü indirin ve projenin README.md dosyasında belirtildiği gibi Sandboxie.ini ile kurun. @@ -1121,7 +1145,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Hepsini sormadan sonlandır - The selected window is running as part of program %1 in sandbox %2 + The selected window is running as part of program %1 in sandbox %2 Seçilen pencere %2 kutusunda %1 programının bir parçası olarak çalışıyor @@ -1148,6 +1172,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr Don't show this message anymore. Artık bu mesajı gösterme. + + Cleanup Trace Log + + CSbieModel @@ -1414,6 +1442,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr A group can not be its own parent. Bir grup kendi ebeveyni olamaz. + + Run Cmd.exe as Admin + + CSettingsWindow @@ -2067,6 +2099,10 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle Allow access to Bluetooth Bluetooth erişimine izin ver + + Log all SetError's to Trace log + + PopUpWindow @@ -2086,23 +2122,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 c7966359..7a07cd0c 100644 --- a/SandboxiePlus/SandMan/sandman_zh-CN.ts +++ b/SandboxiePlus/SandMan/sandman_zh-CN.ts @@ -1,2386 +1,2402 @@ - - - - - CApiMonModel - - Message - 信息 - - - Time Stamp - 时间戳 - - - Process - 进程 - - - - CMultiErrorDialog - - Message - 信息 - - - Sandboxie-Plus - Error - Sandboxie-Plus - 错误 - - - - CNewBoxWindow - - New Box - 新沙盒 - - - Hardened - 加强 - - - Default - 默认 - - - Sandboxie-Plus - Create New Box - Sandboxie-Plus - 创建新沙盒 - - - Legacy Sandboxie Behaviour - 保留沙盒行为 - - - - COptionsWindow - - Always show - 总是显示 - - - Template values can not be edited. - 模板值无法编辑. - - - Lingerer - 驻留项 - - - Browse for File - 浏览文件 - - - Please enter a menu title - 请输入清单标题 - - - Select Directory - 选择目录 - - - Please enter a name for the new group - 请输入新的组名称 - - - Please enter a program file name - 请输入程序文件名称 - - - Template values can not be removed. - 模板值无法删除. - - - Display box name in title - 标题显示沙盒名称 - - - Folder - 文件夹 - - - Sandboxie Plus - '%1' Options - Sandboxie Plus - '%1' 选项 - - - Leader - 引导 - - - Group: %1 - 组: %1 - - - Process - 进程 - - - Display [#] indicator only - 只显示 [#] 标记 - - - COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} - COM对象必须被它们的GUID制定,例如: {00000000-0000-0000-0000-000000000000} - - - %1 (%2) - %1 (%2) - - - Border disabled - 边框禁用 - - - All Categories - 所有类别 - - - Please enter a file extension to be excluded - 请输入要排除的文件扩展名 - - - Exclusion - 排除 - - - Select File - 选择文件 - - - This template is enabled globally. To configure it, use the global options. - 此模板已全局启用.请使用全局选项配置. - - - Please select group first. - 请先选择组. - - - All Files (*.*) - 所有文件 (*.*) - - - Show only when title is in focus - 仅在标题处在焦点时显示 - - - Select Program - 选择程序 - - - Please enter a command - 请输入命令 - - - kilobytes (%1) - kb (%1) - - - Don't alter the window title - 不要改变窗口标题 - - - All Programs - 所有程序 - - - Browse for Folder - 浏览文件夹 - - - Enter program: - 输入程序: - - - Executables (*.exe|*.cmd) - 可执行文件 (*.exe|*.cmd) - - - RT interfaces must be specified by their name. - RT接口必须被它们名称制定. - - - Browse for Program - 浏览程序 - - - Please enter a program path - 请输入程序路径 - - - Please enter a service identifier - 请输入服务标识符 - - - Service - 服务 - - - Program - 程序 - - - Please enter an auto exec command - 请输入自动运行命令 - - - This sandbox has been deleted hence configuration can not be saved. - 沙盒已删除,故配置没有被保存 - - - Some changes haven't been saved yet, do you really want to close this options window? - 一些变更还未保存, 您确定关闭此选项窗口吗? - - - Executables (*.exe *.cmd);;All files (*.*) - 可执行文件 (*.exe *.cmd);;所有文件 (*.*) - - - Direct - 直接访问 - - - Direct All - 直接访问全部 - - - Closed - 关闭 - - - Closed RT - 关闭RT - - - Read Only - 只读 - - - Hidden - 隐藏 - - - Unknown - 未知 - - - File/Folder - 文件/文件夹 - - - Registry - 注册表 - - - IPC Path - IPC路径 - - - Wnd Class - 窗口类 - - - COM Object - COM组件 - - - - CPopUpMessage - - ? - ? - - - Hide all such messages - 隐藏所有类似消息 - - - Remove this message from the list - 列表中删除此信息 - - - Dismiss - 忽略 - - - Visit %1 for a detailed explanation. - 访问 %1 详细说明 - - - - CPopUpProgress - - Remove this progress indicator from the list - 在列表中删除此进程标记 - - - Dismiss - 忽略 - - - - CPopUpPrompt - - No - - - - Yes - - - - Requesting process terminated - 请求进程被终止 - - - Remember for this process - 标记此进程 - - - Terminate - 终止 - - - Request will time out in %1 sec - 请求将在 %1 秒后超时 - - - Request timed out - 请求超时 - - - Yes and add to allowed programs - 确定并添加到允许的程序中 - - - - CPopUpRecovery - - Recover to: - 恢复到: - - - Browse - 浏览 - - - Clear folder list - 清除文件夹列表 - - - Recover - 恢复 - - - Recover the file to original location - 恢复文件到原始路径 - - - Recover && Explore - 恢复 && 浏览 - - - Recover && Open/Run - 恢复 && 打开/运行 - - - Open file recovery for this box - 为此沙盒打开文件恢复 - - - Dismiss - 忽略 - - - Don't recover this file right now - 此时暂不恢复此文件 - - - Dismiss all from this box - 此沙盒忽略全部 - - - Disable quick recovery until the box restarts - 在沙盒重启前禁用快速恢复 - - - Select Directory - 选择目录 - - - - CPopUpWindow - - an UNKNOWN process. - 未知进程. - - - Sandboxie-Plus Notifications - Sandboxie-Plus通知 - - - %1 (%2) - %1 (%2) - - - UNKNOWN - 未知 - - - Do you want to allow the print spooler to write outside the sandbox for %1 (%2)? - 您想允许打印服务在沙盒外写入因 %1 (%2) 吗? - - + + + + + CApiMonModel + + Message + 信息 + + + Time Stamp + 时间戳 + + + Process + 进程 + + + + CMultiErrorDialog + + Message + 信息 + + + Sandboxie-Plus - Error + Sandboxie-Plus - 错误 + + + + CNewBoxWindow + + New Box + 新沙盒 + + + Hardened + 加强 + + + Default + 默认 + + + Sandboxie-Plus - Create New Box + Sandboxie-Plus - 创建新沙盒 + + + Legacy Sandboxie Behaviour + 保留沙盒行为 + + + + COptionsWindow + + Always show + 总是显示 + + + Template values can not be edited. + 模板值无法编辑. + + + Lingerer + 驻留项 + + + Browse for File + 浏览文件 + + + Please enter a menu title + 请输入清单标题 + + + Select Directory + 选择目录 + + + Please enter a name for the new group + 请输入新的组名称 + + + Please enter a program file name + 请输入程序文件名称 + + + Template values can not be removed. + 模板值无法删除. + + + Display box name in title + 标题显示沙盒名称 + + + Folder + 文件夹 + + + Sandboxie Plus - '%1' Options + Sandboxie Plus - '%1' 选项 + + + Leader + 引导 + + + Group: %1 + 组: %1 + + + Process + 进程 + + + Display [#] indicator only + 只显示 [#] 标记 + + + COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} + COM对象必须被它们的GUID制定,例如: {00000000-0000-0000-0000-000000000000} + + + %1 (%2) + %1 (%2) + + + Border disabled + 边框禁用 + + + All Categories + 所有类别 + + + Please enter a file extension to be excluded + 请输入要排除的文件扩展名 + + + Exclusion + 排除 + + + Select File + 选择文件 + + + This template is enabled globally. To configure it, use the global options. + 此模板已全局启用.请使用全局选项配置. + + + Please select group first. + 请先选择组. + + + All Files (*.*) + 所有文件 (*.*) + + + Show only when title is in focus + 仅在标题处在焦点时显示 + + + Select Program + 选择程序 + + + Please enter a command + 请输入命令 + + + kilobytes (%1) + kb (%1) + + + Don't alter the window title + 不要改变窗口标题 + + + All Programs + 所有程序 + + + Browse for Folder + 浏览文件夹 + + + Enter program: + 输入程序: + + + Executables (*.exe|*.cmd) + 可执行文件 (*.exe|*.cmd) + + + RT interfaces must be specified by their name. + RT接口必须被它们名称制定. + + + Browse for Program + 浏览程序 + + + Please enter a program path + 请输入程序路径 + + + Please enter a service identifier + 请输入服务标识符 + + + Service + 服务 + + + Program + 程序 + + + Please enter an auto exec command + 请输入自动运行命令 + + + This sandbox has been deleted hence configuration can not be saved. + 沙盒已删除,故配置没有被保存 + + + Some changes haven't been saved yet, do you really want to close this options window? + 一些变更还未保存, 您确定关闭此选项窗口吗? + + + Executables (*.exe *.cmd);;All files (*.*) + 可执行文件 (*.exe *.cmd);;所有文件 (*.*) + + + Direct + 直接访问 + + + Direct All + 直接访问全部 + + + Closed + 关闭 + + + Closed RT + 关闭RT + + + Read Only + 只读 + + + Hidden + 隐藏 + + + Unknown + 未知 + + + File/Folder + 文件/文件夹 + + + Registry + 注册表 + + + IPC Path + IPC路径 + + + Wnd Class + 窗口类 + + + COM Object + COM组件 + + + + CPopUpMessage + + ? + ? + + + Hide all such messages + 隐藏所有类似消息 + + + Remove this message from the list + 列表中删除此信息 + + + Dismiss + 忽略 + + + Visit %1 for a detailed explanation. + 访问 %1 详细说明 + + + + CPopUpProgress + + Remove this progress indicator from the list + 在列表中删除此进程标记 + + + Dismiss + 忽略 + + + + CPopUpPrompt + + No + + + + Yes + + + + Requesting process terminated + 请求进程被终止 + + + Remember for this process + 标记此进程 + + + Terminate + 终止 + + + Request will time out in %1 sec + 请求将在 %1 秒后超时 + + + Request timed out + 请求超时 + + + Yes and add to allowed programs + 确定并添加到允许的程序中 + + + + CPopUpRecovery + + Recover to: + 恢复到: + + + Browse + 浏览 + + + Clear folder list + 清除文件夹列表 + + + Recover + 恢复 + + + Recover the file to original location + 恢复文件到原始路径 + + + Recover && Explore + 恢复 && 浏览 + + + Recover && Open/Run + 恢复 && 打开/运行 + + + Open file recovery for this box + 为此沙盒打开文件恢复 + + + Dismiss + 忽略 + + + Don't recover this file right now + 此时暂不恢复此文件 + + + Dismiss all from this box + 此沙盒忽略全部 + + + Disable quick recovery until the box restarts + 在沙盒重启前禁用快速恢复 + + + Select Directory + 选择目录 + + + + CPopUpWindow + + an UNKNOWN process. + 未知进程. + + + Sandboxie-Plus Notifications + Sandboxie-Plus通知 + + + %1 (%2) + %1 (%2) + + + UNKNOWN + 未知 + + + Do you want to allow the print spooler to write outside the sandbox for %1 (%2)? + 您想允许打印服务在沙盒外写入因 %1 (%2) 吗? + + + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? +File name: %3 + 您确定允许 %4 (%5) 复制大文件 %1 到沙盒: %2? +文件名称: %3 + + + Do you want to allow %1 (%2) access to the internet? +Full path: %3 + 您确定允许 %1 (%2) 访问网络吗? +完整路径: %3 + + + %1 is eligible for quick recovery from %2. +The file was written by: %3 + %1 可以从 %2 快速恢复. +文件写入自: %3 + + + Migrating a large file %1 into the sandbox %2, %3 left. +Full path: %4 + 移动大文件 %1 到沙盒 %2, %3 剩余. +完整路径: %4 + + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? -File name: %3 - 您确定允许 %4 (%5) 复制大文件 %1 到沙盒: %2? -文件名称: %3 - - +File name: %3 + + + Do you want to allow %1 (%2) access to the internet? -Full path: %3 - 您确定允许 %1 (%2) 访问网络吗? -完整路径: %3 - - +Full path: %3 + + + %1 is eligible for quick recovery from %2. -The file was written by: %3 - %1 可以从 %2 快速恢复. -文件写入自: %3 - - +The file was written by: %3 + + + Migrating a large file %1 into the sandbox %2, %3 left. -Full path: %4 - 移动大文件 %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 - - File Name - 文件名称 - - - File Size - 文件大小 - - - Full Path - 详细路径 - - - Select Directory - 选择目录 - - - %1 - File Recovery - %1 - 文件恢复 - - - 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. - 一个或多个被选择的文件位于网络共享, 并必须恢复到本地磁盘, 请选择要将所选文件恢复到的文件夹. - - - There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space. - 有 %1 文件和 %2 文件夹在沙盒中, 占用磁盘 %3 字节. - - - - CResMonModel - - Type - 类型 - - - Value - - - - Status - 状态 - - - Time Stamp - 时间戳 - - - Process - 进程 - - - Unknown - 未知 - - - - CSandBoxPlus - - No Admin - 无管理员 - - - No INet - 无INet - - - Normal - 标准 - - - API Log - API日志 - - - Net Share - 网络共享 - - - NOT SECURE (Debug Config) - 不安全(调试配置) - - - Enhanced Isolation - 增强隔离 - - - Reduced Isolation - 减弱隔离 - - - Disabled - 禁用 - - - - CSandMan - - Exit - 退出 - - - <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>新版本Sandboxie-Plus 将被下载到:</p><p><a href="%2">%1</a></p><p>您想要开始安装吗? 正在沙盒运行的其他程序将会被终止.</p> - - - Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. - 便携模式启动Sandboxie-Plus,需要创建必需的服务.将会提示管理员权限. - - - Cleanup Processes - 清理所有操作 - - - Maintenance operation %1 - 运行维护 %1 - - - &Help - &帮助 - - - &View - &视图 - - - Error deleting sandbox folder: %1 - 删除沙盒文件夹错误: %1 - - - About Sandboxie-Plus - 关于Sandboxie-Plus - - - Driver version: %1 - 驱动版本: %1 - - - Sandboxie-Plus v%1 - Sandboxie-Plus v%1 - - - Start Driver - 启动驱动 - - - Install Driver - 安装驱动 - - - Uninstall Driver - 卸载驱动 - - - Check for Updates - 检查更新 - - - Visit Support Forum - 支持论坛 - - - Failed to copy configuration from sandbox %1: %2 - 复制沙盒配置 %1: %2 失败 - - - Do you want to check if there is a new version of Sandboxie-Plus? - 当有Sandboxie-Plus新版本时您想要检查吗? - - - Cleanup Api Call Log - 清理Api调用日志 - - - Simple View - 简易视图 - - - %1 (%2): - %1 (%2): - - - Login Failed: %1 - 登录失败: %1 - - - Clean Up - 清理 - - - Don't show this message again. - 不再显示此消息 - - - Uninstall Service - 卸载服务 - - - Start Service - 启动服务 - - - Install Service - 安装服务 - - - Failed to remove old snapshot directory '%1' - 删除旧的快照目录 '%1' 失败 - - - The changes will be applied automatically as soon as the editor is closed. - 变更将在编辑器关闭后自动提交. - - - Can't remove a snapshot that is shared by multiple later snapshots - 无法删除由多个后续快照共享的快照 - - - Do you want to close Sandboxie Manager? - 您确定要关闭Sandboxie管理器? - - - Support Sandboxie-Plus with a Donation - 捐赠支持Sandboxie-Plus - - - Unknown Error Status: %1 - 未知错误代码: %1 - - - Failed to create directory for new snapshot - 创建新的快照目录失败 - - - Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. - Sandboxie-Plus运行于便携模式,现在将清理所创建的服务.将会提示管理员权限 - - - - Portable - - 便携 - - - Failed to download update from: %1 - 在: %1 下载更新失败 - - - Api Call Log - Api调用日志 - - - The sandbox name can not be longer than 32 characters. - 沙盒名称不能超过32个字符. - - - Stop Driver - 停止驱动 - - - Don't show this announcement in the future. - 此后不再显示此通告. - - - Sbie Messages - Sbie信息 - - - Failed to recover some files: - - 恢复某些文件失败: - - - - Failed to move directory '%1' to '%2' - 移动目录 '%1' 到 '%2' 失败 - - - Recovering file %1 to %2 - 恢复文件 %1 到 %2 - - - Resource Logging - 资源日志 - - - Online Documentation - 在线文档 - - - Ignore this update, notify me about the next one. - 忽略此升级,下一个再提示我. - - - Please enter the duration for disabling forced programs. - 请输入禁用强制运行程序的时间. - - - Sbie Directory: %1 - Sbie目录: %1 - - - - NOT connected - - 未连接 - - - <p>Do you want to download the latest version?</p> - <p>确定要下载最新版?</p> - - - Sandboxie-Plus - Error - Sandboxie-Plus - 错误 - - - The changes will be applied automatically whenever the file gets saved. - 每当文件保存后更改将自动应用. - - - Time|Message - 时间|信息 - - - &Options - &选项 - - - Show/Hide - 显示/隐藏 - - - Resource Monitor - 资源监控 - - - Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? - 确定要打开 %1 在沙盒化 (是) 未沙盒化 (否) 的浏览器中? - - - Reset all hidden messages - 重置所有隐藏消息 - - - A sandbox must be emptied before it can be deleted. - 删除沙盒之前必须清空. - - - The sandbox name can contain only letters, digits and underscores which are displayed as spaces. - 沙盒名称不能为空格,只能包含字母,数字和下划线. - - - A sandbox must be emptied before it can be renamed. - 重命名沙盒之前必须清空. - - - API Call Logging - API调用记录 - - - Loaded Config: %1 - 加载的配置: %1 - - - Reload ini file - 重载ini文件 - - - Remember choice for later. - 以后记住选择. - - - &Maintenance - &维护 - - - The sandbox name can not be a device name. - 沙盒名称不能为设备名称. - - - Operation failed for %1 item(s). - %1 项操作失败. - - - Global Settings - 全局设置 - - - Downloading new version... - 下载新版本... - - - &Sandbox - &沙盒 - - - <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - <h3>关于Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - - - Cleanup - 清理 - - - Failed to check for updates, error: %1 - 检查更新失败,错误: %1 - - - Disconnect - 断开 - - - Connect - 连接 - - - Only Administrators can change the config. - 仅限管理员可更改配置. - - - Disable Forced Programs - 禁用强制运行程序 - - - Snapshot not found - 未发现快照 - - - Failed to remove old RegHive - 删除旧的注册表项失败 - - - Stop All - 停止所有 - - - Can't find Sandboxie installation path. - 未找到Sandboxie安装路径. - - - Delete protection is enabled for the sandbox - 沙盒的删除保护被启用 - - - &Advanced - &高级 - - - An incompatible Sandboxie %1 was found. Compatible versions: %2 - 不兼容的Sandboxie %1 被发现.兼容版本为: %2 - - - Administrator rights are required for this operation. - 此操作需要管理员权限. - - - Executing maintenance operation, please wait... - 执行操作维护,请稍等... - - - <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> - <p>有新版本Sandboxie-Plus可用.<br /><font color='red'>New version:</font> <b>%1</b></p> - - - Stop Service - 停止服务 - - - Create New Box - 创建新沙盒 - - - Failed to copy RegHive - 复制RegHive失败 - - - Failed to terminate all processes - 终止所有进程失败 - - - Advanced View - 高级视图 - - - Failed to delete sandbox %1: %2 - 删除沙盒 %1: %2 失败 - - - <p>Do you want to go to the <a href="%1">download page</a>?</p> - <p>确定要打开 <a href="%1">下载页面</a>?</p> - - - Maintenance operation Successful - 维护操作成功 - - - PID %1: - 进程ID %1: - - - Error Status: %1 - 错误代码: %1 - - - Terminate All Processes - 终止所有进程 - - - Please enter the configuration password. - 请输入配置密码. - - - Do you also want to reset hidden message boxes (yes), or only all log messages (no)? - 确定连隐藏信息窗口一起重置 (是) 或仅用于所有日志信息 (否)? - - - You are not authorized to update configuration in section '%1' - 您无权在此处更新配置 '%1' - - - Failed to connect to the driver - 连接驱动失败 - - - Failed to communicate with Sandboxie Service: %1 - 无法联系Sandboxie服务: %1 - - - Failed to execute: %1 - 执行失败: %1 - - - This Snapshot operation can not be performed while processes are still running in the box. - 因进程正在沙盒中运行,此快照操作无法完成. - - - server not reachable - 服务器无法访问 - - - Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. - 合并快照目录 '%1' 和 '%2' 错误,快照没有全部合并. - - - Edit ini file - 编辑ini文件 - - - Checking for updates... - 检查更新... - - - No sandboxes found; creating: %1 - 没找到沙盒;创建: %1 - - - Cleanup Resource Log - 清理资源日志 - - - Cleanup Message Log - 清理消息日志 - - - About the Qt Framework - 关于Qt框架 - - - Keep terminated - 保持终止 - - - A sandbox of the name %1 already exists - 沙盒名称 %1 已存在 - - - Failed to set configuration setting %1 in section %2: %3 - 配置设置 %1 失败于 %2: %3 - - - Copy Cell - 复制单元格 - - - Copy Row - 复制行 - - - Copy Panel - 复制表格 - - - Failed to stop all Sandboxie components - 停止Sandboxie所有组件失败 - - - Failed to start required Sandboxie components - 启动所需Sandboxie组件失败 - - - Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? - Sandboxie-Plus于便携模式运行,您想将沙盒目录放到它的上级目录吗? - - - The file %1 already exists, do you want to overwrite it? - 文件 %1 已存在,您确定要覆盖它吗? - - - Do this for all files! - 所有文件执行此操作! - - - To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. -Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. - 要使用API记录日志首先必须从 https://github.com/sandboxie-plus/LogApiDll 下载LogApiDll,并用沙盒来建立. -请下载最新发布版,并用sandboxie.ini安装,详情请参考README.md里此项的说明. - - - No new updates found, your Sandboxie-Plus is up-to-date. - 无可用更新,您的Sandboxie-Plus是最新的 - - - <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是著名开源程序Sandboxie的延续.</p><p></p><p>访问 <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> 来获取更多信息.</p><p></p><p></p><p></p><p>图标来自 <a href="https://icons8.com">icons8.com</a></p><p></p> - - - Always on Top - 保持窗口最前 - - - Cleaned up removed templates... - 清理已删除的模板... - - - Can not create snapshot of an empty sandbox - 无法为空沙盒创建快照 - - - A sandbox with that name already exists - 已存在同名沙盒 - - - Reset Columns - 重置菜单 - - - Window Finder - 窗口查找器 - - - Show Hidden Boxes - 显示隐藏沙盒 - - - Select box: - 选择沙盒 - - - Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? - 一些兼容性模板 (%1) 丢失, 可能被删除, 您确定在所有沙盒中删除它们? - - - Do you want to terminate all processes in all sandboxes? - 您确定要终止所有沙盒中的所有进程吗? - - - Terminate all without asking - 不询问终止所有 - - - The selected window is running as part of program %1 in sandbox %2 - 选择的窗口正作为程序 %1 一部分运行在 %2 中 - - - The selected window is not running as part of any sandboxed program. - 选择的窗口没有作为任何沙盒化程序的一部分运行 - - - Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. - 拖动查找工具到一个窗口上去选择,然后松开鼠标检查窗口是否沙盒化 - - - Sandboxie-Plus - Window Finder - Sandboxie-Plus - 窗口查找器 - - - Default sandbox not found; creating: %1 - 默认沙盒未发现,正在创建: %1 - - - <p>Do you want to go to the <a href="%1">info page</a>?</p> - <p>您确定前往 < "%1">信息页</a>?</p> - - - Don't show this message anymore. - 不再显示此信息 - - - - CSbieModel - - Name - 名称 - - - Box Groupe - 沙盒组 - - - Status - 状态 - - - Path / Command Line - 路径 / 命令行 - - - Start Time - 开始时间 - - - Process ID - 进程ID - - - Title - 标题 - - - - CSbieProcess - - Terminated - 终止 - - - Running - 运行 - - - - CSbieView - - Run - 运行 - - - Create Shortcut to sandbox %1 - 为沙盒 %1 创建快捷方式 - - - Options: - - 选项: - - - - Drop Admin Rights - 撤销管理员权限 - - - Run eMail Client - 运行邮件客户端 - - - Remove Group - 删除组 - - - Sandbox Options - 沙盒选项 - - - Sandbox Presets - 沙盒预置 - - - Do you want to %1 the selected process(es) - 确定要 %1 所选进程 - - - Move to Group - 移动到组 - - - Remove Sandbox - 删除沙盒 - - - Rename Sandbox - 重命名沙盒 - - - Run from Start Menu - 在开始菜单运行 - - - Preset - 预置 - - - Please enter a new group name - 请输入新的组名 - - - Enable API Call logging - 启用API调用日志 - - - [None] - [无] - - - Please enter a new name for the Sandbox. - 请为沙盒输入新名称 - - - Add Group - 添加组 - - - Delete Content - 删除内容 - - - Create Shortcut - 创建快捷方式 - - - Do you really want to remove the selected sandbox(es)? - 确定要删除所选沙盒吗 - - - Run Program - 运行程序 - - - IPC root: %1 - - IPC根目录: %1 - - - - Block and Terminate - 阻止并终止 - - - Registry root: %1 - - 注册表根目录: %1 - - - - File root: %1 - - 文件根目录: %1 - - - - Terminate - 终止 - - - Set Leader Process - 设置先导进程 - - - Terminate All Programs - 终止所有程序 - - - Do you really want to remove the selected group(s)? - 确定要删除所选组吗? - - - Run Web Browser - 运行网页浏览器 - - - Force into this sandbox - 强制入此沙盒 - - - Allow Network Shares - 允许网络共享 - - - Run Cmd.exe - 运行Cmd.exe - - - Snapshots Manager - 快照管理 - - - Run Explorer - 运行资源管理器 - - - Block Internet Access - 禁止网络访问 - - - Set Linger Process - 设置驻留进程 - - - Create New Box - 创建新沙盒 - - - Pin to Run Menu - 固定到运行菜单 - - - Recover Files - 恢复文件 - - - This box does not have Internet restrictions in place, do you want to enable them? - 此沙盒无互联网限制,确定要启用它们吗? - - - Explore Content - 浏览内容 - - - Allow internet access - 允许网络访问 - - - Don't show this message again. - 不再显示此消息 - - - This Sandbox is already empty. - 此沙盒已空. - - - Do you want to delete the content of the selected sandbox? - 您确定要删除所选沙盒的内容? - - - Do you really want to delete the content of multiple sandboxes? - 您确定要删除多个沙盒的内容? - - - Do you want to terminate all processes in the selected sandbox(es)? - 您确定终止所选沙盒中的所有进程吗? - - - This sandbox is disabled, do you want to enable it? - 此沙盒被禁用,您确定启用吗? - - - A group can not be its own parent. - 组不能是自己的父级 - - - This Sandbox is empty. - 此沙盒是空的 - - - - CSettingsWindow - - Close - 关闭 - - - Please enter the new configuration password. - 请输入新配置密码. - - - Close to Tray - 关闭到托盘 - - - Select Directory - 选择目录 - - - Please enter a program file name - 请输入程序文件名 - - - Folder - 文件夹 - - - Prompt before Close - 关闭前提示 - - - Process - 进程 - - - Sandboxie Plus - Settings - Sandboxie Plus - 设置 - - - Please re-enter the new configuration password. - 请再次输入新配置密码. - - - Passwords did not match, please retry. - 密码不正确,请重新输入. - - - Auto Detection - 自动检测 - - - - CSnapshotsWindow - - Do you really want to delete the selected snapshot? - 确定要删除所选快照? - - - New Snapshot - 新快照 - - - Snapshot - 快照 - - - Do you really want to switch the active snapshot? Doing so will delete the current state! - 确定要切换正在使用的快照? 这样做会删除当前状态! - - - %1 - Snapshots - %1 - 快照 - - - Please enter a name for the new Snapshot. - 请输入新快照名称. - - - - NewBoxWindow - - Copy options from an existing box: - 从已有沙盒复制选项: - - - Initial sandbox configuration: - 初始沙盒配置: - - - Select restriction/isolation template: - 选择限制/隔离模板: - - - SandboxiePlus new box - SandboxiePlus新沙盒 - - - Sandbox Name: - 沙盒名称: - - - - OptionsWindow - - Name - 名称 - - - Path - 路径 - - - Save - 保存 - - - Type - 类型 - - - Allow only selected programs to start in this sandbox. * - 仅允许被选择的程序在此沙盒中启动. * - - - Force Folder - 强制运行文件夹 - - - Add IPC Path - 添加IPC路径 - - - Sandbox Indicator in title: - 在标题显示沙盒标记: - - - Debug - 调试 - - - Users - 用户 - - - <- for this one the above does not apply - <- 因此原因以上不适用 - - - Block network files and folders, unless specifically opened. - 禁用网络文件和文件夹,除非专门打开. - - - Command Line - 命令行 - - - Don't alter window class names created by sandboxed programs - 不要改变由沙盒程序创建的窗口类名 - - - Prevent change to network and firewall parameters - 阻止更改网络和防火墙参数 - - - Internet Restrictions - 联网限制 - - - 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. - 配置进程所访问的资源. 双击进入编辑. -'管理' 文件和键值仅适用于沙盒外的程序二进制文件. -注意所有都将关闭...=!<program>,... 例外也有相同限制. -文件访问可使用 '管理全部' 使其适用于所有程序. - - - Log Debug Output to the Trace Log - 日志调试输出到追踪日志 - - - Forced Programs - 强制运行程序 - - - Add Wnd Class - 添加窗口类 - - - Access Tracing - 访问追踪 - - - File Options - 文件选项 - - - General Options - 通用选项 - - - Open Windows Credentials Store - 打开系统证书库 - - - kilobytes - kb - - - 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. - 如果其他所有程序已经终止后,驻留程序仍在运行,将自动终止. - -如果引导进程已确定, 其他将被当成驻留进程. - - - Allow all programs to start in this sandbox. - 允许所有程序在此沙盒中启动. - - - Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. - 启用快速恢复提示以便创建文件时能尽快恢复. - - - General restrictions - 通用限制 - - - Move Up - 上移 - - - Access - 访问 - - - These options are intended for debugging compatibility issues, please do not use them in production use. - 这些选项是计划调试设备而设计的,在日常使用时请不要使用. - - - Text Filter - 文本过滤 - - - Cancel - 取消 - - - Restrict Resource Access monitor to administrators only - 限制资源访问监视器仅限管理员 - - - Protect the sandbox integrity itself - 沙盒完整性保护 - - - Add Folder - 添加文件夹 - - - Prompt user whether to allow an exemption from the blockade. - 提示用户是否允许例外免于封锁. - - - IPC Trace - IPC追踪 - - - Limit access to the emulated service control manager to privileged processes - 限制访问模拟服务控制管理器来提权进程 - - - Remove - 删除 - - - Add File/Folder - 添加文件/文件夹 - - - Block internet access for all programs except those added to the list. - 禁止所有程序访问网络,这些添加到清单里的除外 - - - Issue message 1307 when a program is denied internet access - 错误代码1307,程序被拒绝网络访问 - - - Compatibility - 兼容性 - - - Stop Behaviour - 停止行为 - - - Note: Programs installed to this sandbox won't be able to access the internet at all. - 注意: 安装在此沙盒里程序将完全无法访问网络. - - - Box Options - 沙盒选项 - - - Don't allow sandboxed processes to see processes running in other boxes - 不允许沙盒化的进程查看其他沙盒里进程的运行 - - - Add Group - 添加组 - - - Sandboxed window border: - 沙盒化窗口边框: - - - Prevent selected programs from starting in this sandbox. - 阻止所选程序在此沙盒中启动. - - - Miscellaneous - 其他 - - - Issue message 2102 when a file is too large - 问题代码2102,文件太大 - - - File Recovery - 文件恢复 - - - Box Delete options - 沙盒删除选项 - - - Pipe Trace - Pipe追踪 - - - File Trace - 文件追踪 - - - Program - 程序 - - - Add Process - 添加进程 - - - Add Program - 添加程序 - - - Filter Categories - 筛选类别 - - - Copy file size limit: - 复制文件大小限制: - - - Open System Protected Storage - 开放系统保护存储 - - - Protect the system from sandboxed processes - 保护系统来自沙盒化的进程 - - - Add Leader Program - 添加引导程序 - - - SandboxiePlus Options - SandboxiePlus选项 - - - Category - 类别 - - - Drop rights from Administrators and Power Users groups - 撤销管理员和超级用户组的权限 - - - Add Reg Key - 添加注册表键值 - - - Sandbox protection - 沙盒保护 - - - 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. - 您可将程序分组并且给它们组名.程序组可以代替程序名被用于一些设置. - - - Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes - 保护沙盒化系统进程来自未授权的未沙盒化的进程 - - - COM Class Trace - COM组件追踪 - - - Add Command - 添加命令 - - - Hide Processes - 隐藏进程 - - - When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. - 当快速恢复功能被调用,下列文件夹将被检查沙盒化内容. - - - px Width - 宽度 - - - Add User - 添加用户 - - - Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. - 此处输入的程序,或指定位置启动的程序,将自动入此沙盒,除非它们明确在其他沙盒启动. - - - Force Program - 强制运行程序 - - - WARNING, these options can disable core security guarantees and break sandbox security!!! - 警告,这些选项可以使核心安全保障失效并且破坏沙盒安全!!! - - - Edit ini - 编辑ini - - - Show Templates - 显示模板 - - - Ignore Folder - 忽略文件夹 - - - GUI Trace - GUI追踪 - - - Key Trace - 键值追踪 - - - Tracing - 追踪 - - - Appearance - 外观 - - - Add sandboxed processes to job objects (recommended) - 添加沙盒化进程到作业对象(建议) - - - Remove Program - 删除程序 - - - You can exclude folders and file types (or file extensions) from Immediate Recovery. - 您可从快速恢复中排除文件夹和文件类型 (或文件扩展名) . - - - Run Menu - 运行菜单 - - - App Templates - 应用程序模板 - - - Remove User - 删除用户 - - - Ignore Extension - 忽略扩展名 - - - Move Down - 下移 - - - Protect this sandbox from deletion or emptying - 保护此沙盒删除或清空 - - - 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. - 添加用户账户和用户组到下面清单中来仅限这些账户使用沙盒. 如果清单内容为空,所有账户均可使用沙盒. - -注意: 沙盒的强制运行程序和强制运行文件夹设置不接受不能运行沙盘的账户. - - - * Note: Programs installed to this sandbox won't be able to start at all. - * 注意: 安装在此沙盒里的程序将完全无法启动. - - - This list contains a large amount of sandbox compatibility enhancing templates - 此清单包含大量沙盒兼容性增强模板 - - - Add Lingering Program - 添加驻留程序 - - - Program Groups - 程序组 - - - Issue message 1308 when a program fails to start - 错误代码1308,程序启动失败 - - - Resource Access - 资源访问 - - - Advanced Options - 高级选项 - - - Hide host processes from processes running in the sandbox. - 隐藏沙盒中运行进程的主进程. - - - File Migration - 文件迁移 - - - Auto delete content when last sandboxed process terminates - 上一次沙盒化的进程终止后自动删除内容 - - - Add COM Object - 添加COM对象 - - - You can configure custom entries for the sandbox run menu. - 您可为沙盒运行菜单配置自定义条目. - - - Start Restrictions - 启动限制 - - - Force usage of custom dummy Manifest files (legacy behaviour) - 强制使用自定义虚拟Manifest文件(遗留行为) - - - Edit ini Section - 编辑ini部分 - - - Block access to the printer spooler - 阻止访问打印服务 - - - Allow the print spooler to print to files outside the sandbox - 允许打印服务在沙盒外打印文件 - - - Printing - 打印 - - - Remove spooler restriction, printers can be installed outside the sandbox - 移除打印限制,打印机可以在沙盒外安装 - - - Add program - 添加程序 - - - Auto Start - 自动启动 - - - Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated - 这里您可以详列将在沙盒中自动启动的程序或服务,当它被激活时 - - - Add service - 添加服务 - - - Do not start sandboxed services using a system token (recommended) - 不启动使用系统令牌的沙盒化服务 (建议) - - - Allow access to Smart Cards - 允许访问智能卡 - - - Lift security restrictions - 提升安全限制 - - - Sandbox isolation - 沙盒隔离 - - - Auto Exec - 自动运行 - - - Here you can specify a list of commands that are executed every time the sandbox is initially populated. - 这里您可以详列每次沙盒启动被执行的命令清单. - - - 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 "*". - 将驱动程序看到的所有访问事件记录到资源访问日志中. - -这些选项设置事件标记到 "*" - 所有访问事件 -您可以通过ini来详细定制记录 -"A" - 允许访问 -"D" - 拒绝访问 -"I" - 忽略拒绝请求 -代替 "*". - - - Allow access to Bluetooth - 允许访问蓝牙 - - - - PopUpWindow - - SandboxiePlus Notifications - SandboxiePlus通知 - - - - QObject - - Drive %1 - 磁盘 %1 - - - - QPlatformTheme - - OK - 确定 - - - Apply - 应用 - - - Cancel - 取消 - - - &Yes - &是 - - - &No - &否 - - - - RecoveryWindow - - Close - 关闭 - - - SandboxiePlus Settings - SandboxiePlus设置 - - - Add Folder - 添加文件夹 - - - Recover to - 恢复到 - - - Recover - 恢复 - - - Refresh - 刷新 - - - Delete all - 删除全部 - - - Show All Files - 显示所有文件 - - - TextLabel - 文本标签 - - - SandboxiePlus - Recovery - SandboxiePlus - 恢复 - - - - SettingsWindow - - Name - 名称 - - - Path - 路径 - - - Change Password - 更改密码 - - - Clear password when main window becomes hidden - 主窗口隐藏时清除密码 - - - SandboxiePlus Settings - SandboxiePlus设置 - - - Password must be entered in order to make changes - 必须输入密码以便进行更改 - - - Check periodically for updates of Sandboxie-Plus - 定期检查Sandboxie-Plus的更新 - - - General Options - 通用选项 - - - Program Restrictions - 程序限制 - - - Restart required (!) - 需要重启 (!) - - - Tray options - 磁盘选项 - - - Use Dark Theme - 使用暗主题 - - - Enable - 启用 - - - Add Folder - 添加文件夹 - - - Only Administrator user accounts can make changes - 仅限管理员账户更改 - - - Config protection - 配置保护 - - - Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: - 沙盒 <a href="sbie://docs/keyrootpath">注册表根目录</a>: - - - Add Program - 添加程序 - - - 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. - 沙盒在您系统中检测到下列软件程序. 点击 确定 接受配置设置,将增强这些软件程序的兼容性.这些配置设置将影响所有已存在的沙盒和任何新沙盒. - - - Watch Sandboxie.ini for changes - 查看Sandboxie.ini变更 - - - Show Sys-Tray - 系统托盘显示 - - - Open urls from this ui sandboxed - 在此用户界面打开的链接均沙盒化 - - - In the future, don't check software compatibility - 以后,不再检查软件兼容性 - - - Disable - 禁用 - - - When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301. - 当下列程序在任意沙盒之外启动时, Sandboxie将出现错误代码SBIE1301. - - - Remove Program - 删除程序 - - - Software Compatibility - 软件兼容性 - - - On main window close: - 主窗体关闭时: - - - Add 'Run Sandboxed' to the explorer context menu - 在资源管理器添加'在沙盒中运行' - - - Issue message 1308 when a program fails to start - 错误代码1308,程序启动失败 - - - Sandbox default - 沙盒预置 - - - Separate user folders - 独立用户文件夹 - - - Advanced Options - 高级选项 - - - Prevent the listed programs from starting on this system - 阻止列表程序在此系统中启动 - - - Only Administrator user accounts can use Disable Forced Programs command - 仅管理员账户可使用禁用强制运行程序命令 - - - Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: - 沙盒 <a href="sbie://docs/ipcrootpath">ipc根目录</a>: - - - Show Notifications for relevant log Messages - 显示相关日志信息的通知 - - - Sandbox <a href="sbie://docs/filerootpath">file system root</a>: - 沙盒 <a href="sbie://docs/filerootpath">文件系统根目录</a>: - - - Portable root folder - 便携化根目录 - - - Start UI with Windows - 开机启动UI - - - Start UI when a sandboxed process is started - 当沙盒进程启动时启动UI - - - Show first recovery window when emptying sandboxes - 当清空沙盒时显示第一个恢复窗口 - - - ... - ... - - - Other settings - 其他设置 - - - - SnapshotsWindow - - Name: - 名称: - - - Remove Snapshot - 删除快照 - - - SandboxiePlus Settings - SandboxiePlus设置 - - - Description: - 说明: - - - Go to Snapshot - 进入快照 - - - Take Snapshot - 抓取快照 - - - Selected Snapshot Details - 所选快照详情 - - - Snapshot Actions - 快照行为 - - - SandboxiePlus - Snapshots - SandboxiePlus - 快照 - - - +Full path: %4 + + + + + CRecoveryWindow + + File Name + 文件名称 + + + File Size + 文件大小 + + + Full Path + 详细路径 + + + Select Directory + 选择目录 + + + %1 - File Recovery + %1 - 文件恢复 + + + 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. + 一个或多个被选择的文件位于网络共享, 并必须恢复到本地磁盘, 请选择要将所选文件恢复到的文件夹. + + + There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space. + 有 %1 文件和 %2 文件夹在沙盒中, 占用磁盘 %3 字节. + + + + CResMonModel + + Type + 类型 + + + Value + + + + Status + 状态 + + + Time Stamp + 时间戳 + + + Process + 进程 + + + Unknown + 未知 + + + + CSandBoxPlus + + No Admin + 无管理员 + + + No INet + 无INet + + + Normal + 标准 + + + API Log + API日志 + + + Net Share + 网络共享 + + + NOT SECURE (Debug Config) + 不安全(调试配置) + + + Enhanced Isolation + 增强隔离 + + + Reduced Isolation + 减弱隔离 + + + Disabled + 禁用 + + + Empty + + + + + CSandMan + + Exit + 退出 + + + <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>新版本Sandboxie-Plus 将被下载到:</p><p><a href="%2">%1</a></p><p>您想要开始安装吗? 正在沙盒运行的其他程序将会被终止.</p> + + + Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. + 便携模式启动Sandboxie-Plus,需要创建必需的服务.将会提示管理员权限. + + + Cleanup Processes + 清理所有操作 + + + Maintenance operation %1 + 运行维护 %1 + + + &Help + &帮助 + + + &View + &视图 + + + Error deleting sandbox folder: %1 + 删除沙盒文件夹错误: %1 + + + About Sandboxie-Plus + 关于Sandboxie-Plus + + + Driver version: %1 + 驱动版本: %1 + + + Sandboxie-Plus v%1 + Sandboxie-Plus v%1 + + + Start Driver + 启动驱动 + + + Install Driver + 安装驱动 + + + Uninstall Driver + 卸载驱动 + + + Check for Updates + 检查更新 + + + Visit Support Forum + 支持论坛 + + + Failed to copy configuration from sandbox %1: %2 + 复制沙盒配置 %1: %2 失败 + + + Do you want to check if there is a new version of Sandboxie-Plus? + 当有Sandboxie-Plus新版本时您想要检查吗? + + + Cleanup Api Call Log + 清理Api调用日志 + + + Simple View + 简易视图 + + + %1 (%2): + %1 (%2): + + + Login Failed: %1 + 登录失败: %1 + + + Clean Up + 清理 + + + Don't show this message again. + 不再显示此消息 + + + Uninstall Service + 卸载服务 + + + Start Service + 启动服务 + + + Install Service + 安装服务 + + + Failed to remove old snapshot directory '%1' + 删除旧的快照目录 '%1' 失败 + + + The changes will be applied automatically as soon as the editor is closed. + 变更将在编辑器关闭后自动提交. + + + Can't remove a snapshot that is shared by multiple later snapshots + 无法删除由多个后续快照共享的快照 + + + Do you want to close Sandboxie Manager? + 您确定要关闭Sandboxie管理器? + + + Support Sandboxie-Plus with a Donation + 捐赠支持Sandboxie-Plus + + + Unknown Error Status: %1 + 未知错误代码: %1 + + + Failed to create directory for new snapshot + 创建新的快照目录失败 + + + Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. + Sandboxie-Plus运行于便携模式,现在将清理所创建的服务.将会提示管理员权限 + + + - Portable + - 便携 + + + Failed to download update from: %1 + 在: %1 下载更新失败 + + + Api Call Log + Api调用日志 + + + The sandbox name can not be longer than 32 characters. + 沙盒名称不能超过32个字符. + + + Stop Driver + 停止驱动 + + + Don't show this announcement in the future. + 此后不再显示此通告. + + + Sbie Messages + Sbie信息 + + + Failed to recover some files: + + 恢复某些文件失败: + + + + Failed to move directory '%1' to '%2' + 移动目录 '%1' 到 '%2' 失败 + + + Recovering file %1 to %2 + 恢复文件 %1 到 %2 + + + Resource Logging + 资源日志 + + + Online Documentation + 在线文档 + + + Ignore this update, notify me about the next one. + 忽略此升级,下一个再提示我. + + + Please enter the duration for disabling forced programs. + 请输入禁用强制运行程序的时间. + + + Sbie Directory: %1 + Sbie目录: %1 + + + - NOT connected + - 未连接 + + + <p>Do you want to download the latest version?</p> + <p>确定要下载最新版?</p> + + + Sandboxie-Plus - Error + Sandboxie-Plus - 错误 + + + The changes will be applied automatically whenever the file gets saved. + 每当文件保存后更改将自动应用. + + + Time|Message + 时间|信息 + + + &Options + &选项 + + + Show/Hide + 显示/隐藏 + + + Resource Monitor + 资源监控 + + + Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? + 确定要打开 %1 在沙盒化 (是) 未沙盒化 (否) 的浏览器中? + + + Reset all hidden messages + 重置所有隐藏消息 + + + A sandbox must be emptied before it can be deleted. + 删除沙盒之前必须清空. + + + The sandbox name can contain only letters, digits and underscores which are displayed as spaces. + 沙盒名称不能为空格,只能包含字母,数字和下划线. + + + A sandbox must be emptied before it can be renamed. + 重命名沙盒之前必须清空. + + + API Call Logging + API调用记录 + + + Loaded Config: %1 + 加载的配置: %1 + + + Reload ini file + 重载ini文件 + + + Remember choice for later. + 以后记住选择. + + + &Maintenance + &维护 + + + The sandbox name can not be a device name. + 沙盒名称不能为设备名称. + + + Operation failed for %1 item(s). + %1 项操作失败. + + + Global Settings + 全局设置 + + + Downloading new version... + 下载新版本... + + + &Sandbox + &沙盒 + + + <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> + <h3>关于Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> + + + Cleanup + 清理 + + + Failed to check for updates, error: %1 + 检查更新失败,错误: %1 + + + Disconnect + 断开 + + + Connect + 连接 + + + Only Administrators can change the config. + 仅限管理员可更改配置. + + + Disable Forced Programs + 禁用强制运行程序 + + + Snapshot not found + 未发现快照 + + + Failed to remove old RegHive + 删除旧的注册表项失败 + + + Stop All + 停止所有 + + + Can't find Sandboxie installation path. + 未找到Sandboxie安装路径. + + + Delete protection is enabled for the sandbox + 沙盒的删除保护被启用 + + + &Advanced + &高级 + + + An incompatible Sandboxie %1 was found. Compatible versions: %2 + 不兼容的Sandboxie %1 被发现.兼容版本为: %2 + + + Administrator rights are required for this operation. + 此操作需要管理员权限. + + + Executing maintenance operation, please wait... + 执行操作维护,请稍等... + + + <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> + <p>有新版本Sandboxie-Plus可用.<br /><font color='red'>New version:</font> <b>%1</b></p> + + + Stop Service + 停止服务 + + + Create New Box + 创建新沙盒 + + + Failed to copy RegHive + 复制RegHive失败 + + + Failed to terminate all processes + 终止所有进程失败 + + + Advanced View + 高级视图 + + + Failed to delete sandbox %1: %2 + 删除沙盒 %1: %2 失败 + + + <p>Do you want to go to the <a href="%1">download page</a>?</p> + <p>确定要打开 <a href="%1">下载页面</a>?</p> + + + Maintenance operation Successful + 维护操作成功 + + + PID %1: + 进程ID %1: + + + Error Status: %1 + 错误代码: %1 + + + Terminate All Processes + 终止所有进程 + + + Please enter the configuration password. + 请输入配置密码. + + + Do you also want to reset hidden message boxes (yes), or only all log messages (no)? + 确定连隐藏信息窗口一起重置 (是) 或仅用于所有日志信息 (否)? + + + You are not authorized to update configuration in section '%1' + 您无权在此处更新配置 '%1' + + + Failed to connect to the driver + 连接驱动失败 + + + Failed to communicate with Sandboxie Service: %1 + 无法联系Sandboxie服务: %1 + + + Failed to execute: %1 + 执行失败: %1 + + + This Snapshot operation can not be performed while processes are still running in the box. + 因进程正在沙盒中运行,此快照操作无法完成. + + + server not reachable + 服务器无法访问 + + + Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. + 合并快照目录 '%1' 和 '%2' 错误,快照没有全部合并. + + + Edit ini file + 编辑ini文件 + + + Checking for updates... + 检查更新... + + + No sandboxes found; creating: %1 + 没找到沙盒;创建: %1 + + + Cleanup Resource Log + 清理资源日志 + + + Cleanup Message Log + 清理消息日志 + + + About the Qt Framework + 关于Qt框架 + + + Keep terminated + 保持终止 + + + A sandbox of the name %1 already exists + 沙盒名称 %1 已存在 + + + Failed to set configuration setting %1 in section %2: %3 + 配置设置 %1 失败于 %2: %3 + + + Copy Cell + 复制单元格 + + + Copy Row + 复制行 + + + Copy Panel + 复制表格 + + + Failed to stop all Sandboxie components + 停止Sandboxie所有组件失败 + + + Failed to start required Sandboxie components + 启动所需Sandboxie组件失败 + + + Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? + Sandboxie-Plus于便携模式运行,您想将沙盒目录放到它的上级目录吗? + + + The file %1 already exists, do you want to overwrite it? + 文件 %1 已存在,您确定要覆盖它吗? + + + Do this for all files! + 所有文件执行此操作! + + + To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. +Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. + 要使用API记录日志首先必须从 https://github.com/sandboxie-plus/LogApiDll 下载LogApiDll,并用沙盒来建立. +请下载最新发布版,并用sandboxie.ini安装,详情请参考README.md里此项的说明. + + + No new updates found, your Sandboxie-Plus is up-to-date. + 无可用更新,您的Sandboxie-Plus是最新的 + + + <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是著名开源程序Sandboxie的延续.</p><p></p><p>访问 <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> 来获取更多信息.</p><p></p><p></p><p></p><p>图标来自 <a href="https://icons8.com">icons8.com</a></p><p></p> + + + Always on Top + 保持窗口最前 + + + Cleaned up removed templates... + 清理已删除的模板... + + + Can not create snapshot of an empty sandbox + 无法为空沙盒创建快照 + + + A sandbox with that name already exists + 已存在同名沙盒 + + + Reset Columns + 重置菜单 + + + Window Finder + 窗口查找器 + + + Show Hidden Boxes + 显示隐藏沙盒 + + + Select box: + 选择沙盒 + + + Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? + 一些兼容性模板 (%1) 丢失, 可能被删除, 您确定在所有沙盒中删除它们? + + + Do you want to terminate all processes in all sandboxes? + 您确定要终止所有沙盒中的所有进程吗? + + + Terminate all without asking + 不询问终止所有 + + + The selected window is running as part of program %1 in sandbox %2 + 选择的窗口正作为程序 %1 一部分运行在 %2 中 + + + The selected window is not running as part of any sandboxed program. + 选择的窗口没有作为任何沙盒化程序的一部分运行 + + + Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. + 拖动查找工具到一个窗口上去选择,然后松开鼠标检查窗口是否沙盒化 + + + Sandboxie-Plus - Window Finder + Sandboxie-Plus - 窗口查找器 + + + Default sandbox not found; creating: %1 + 默认沙盒未发现,正在创建: %1 + + + <p>Do you want to go to the <a href="%1">info page</a>?</p> + <p>您确定前往 < "%1">信息页</a>?</p> + + + Don't show this message anymore. + 不再显示此信息 + + + Cleanup Trace Log + + + + + CSbieModel + + Name + 名称 + + + Box Groupe + 沙盒组 + + + Status + 状态 + + + Path / Command Line + 路径 / 命令行 + + + Start Time + 开始时间 + + + Process ID + 进程ID + + + Title + 标题 + + + + CSbieProcess + + Terminated + 终止 + + + Running + 运行 + + + + CSbieView + + Run + 运行 + + + Create Shortcut to sandbox %1 + 为沙盒 %1 创建快捷方式 + + + Options: + + 选项: + + + + Drop Admin Rights + 撤销管理员权限 + + + Run eMail Client + 运行邮件客户端 + + + Remove Group + 删除组 + + + Sandbox Options + 沙盒选项 + + + Sandbox Presets + 沙盒预置 + + + Do you want to %1 the selected process(es) + 确定要 %1 所选进程 + + + Move to Group + 移动到组 + + + Remove Sandbox + 删除沙盒 + + + Rename Sandbox + 重命名沙盒 + + + Run from Start Menu + 在开始菜单运行 + + + Preset + 预置 + + + Please enter a new group name + 请输入新的组名 + + + Enable API Call logging + 启用API调用日志 + + + [None] + [无] + + + Please enter a new name for the Sandbox. + 请为沙盒输入新名称 + + + Add Group + 添加组 + + + Delete Content + 删除内容 + + + Create Shortcut + 创建快捷方式 + + + Do you really want to remove the selected sandbox(es)? + 确定要删除所选沙盒吗 + + + Run Program + 运行程序 + + + IPC root: %1 + + IPC根目录: %1 + + + + Block and Terminate + 阻止并终止 + + + Registry root: %1 + + 注册表根目录: %1 + + + + File root: %1 + + 文件根目录: %1 + + + + Terminate + 终止 + + + Set Leader Process + 设置先导进程 + + + Terminate All Programs + 终止所有程序 + + + Do you really want to remove the selected group(s)? + 确定要删除所选组吗? + + + Run Web Browser + 运行网页浏览器 + + + Force into this sandbox + 强制入此沙盒 + + + Allow Network Shares + 允许网络共享 + + + Run Cmd.exe + 运行Cmd.exe + + + Snapshots Manager + 快照管理 + + + Run Explorer + 运行资源管理器 + + + Block Internet Access + 禁止网络访问 + + + Set Linger Process + 设置驻留进程 + + + Create New Box + 创建新沙盒 + + + Pin to Run Menu + 固定到运行菜单 + + + Recover Files + 恢复文件 + + + This box does not have Internet restrictions in place, do you want to enable them? + 此沙盒无互联网限制,确定要启用它们吗? + + + Explore Content + 浏览内容 + + + Allow internet access + 允许网络访问 + + + Don't show this message again. + 不再显示此消息 + + + This Sandbox is already empty. + 此沙盒已空. + + + Do you want to delete the content of the selected sandbox? + 您确定要删除所选沙盒的内容? + + + Do you really want to delete the content of multiple sandboxes? + 您确定要删除多个沙盒的内容? + + + Do you want to terminate all processes in the selected sandbox(es)? + 您确定终止所选沙盒中的所有进程吗? + + + This sandbox is disabled, do you want to enable it? + 此沙盒被禁用,您确定启用吗? + + + A group can not be its own parent. + 组不能是自己的父级 + + + This Sandbox is empty. + 此沙盒是空的 + + + Run Cmd.exe as Admin + + + + + CSettingsWindow + + Close + 关闭 + + + Please enter the new configuration password. + 请输入新配置密码. + + + Close to Tray + 关闭到托盘 + + + Select Directory + 选择目录 + + + Please enter a program file name + 请输入程序文件名 + + + Folder + 文件夹 + + + Prompt before Close + 关闭前提示 + + + Process + 进程 + + + Sandboxie Plus - Settings + Sandboxie Plus - 设置 + + + Please re-enter the new configuration password. + 请再次输入新配置密码. + + + Passwords did not match, please retry. + 密码不正确,请重新输入. + + + Auto Detection + 自动检测 + + + + CSnapshotsWindow + + Do you really want to delete the selected snapshot? + 确定要删除所选快照? + + + New Snapshot + 新快照 + + + Snapshot + 快照 + + + Do you really want to switch the active snapshot? Doing so will delete the current state! + 确定要切换正在使用的快照? 这样做会删除当前状态! + + + %1 - Snapshots + %1 - 快照 + + + Please enter a name for the new Snapshot. + 请输入新快照名称. + + + + NewBoxWindow + + Copy options from an existing box: + 从已有沙盒复制选项: + + + Initial sandbox configuration: + 初始沙盒配置: + + + Select restriction/isolation template: + 选择限制/隔离模板: + + + SandboxiePlus new box + SandboxiePlus新沙盒 + + + Sandbox Name: + 沙盒名称: + + + + OptionsWindow + + Name + 名称 + + + Path + 路径 + + + Save + 保存 + + + Type + 类型 + + + Allow only selected programs to start in this sandbox. * + 仅允许被选择的程序在此沙盒中启动. * + + + Force Folder + 强制运行文件夹 + + + Add IPC Path + 添加IPC路径 + + + Sandbox Indicator in title: + 在标题显示沙盒标记: + + + Debug + 调试 + + + Users + 用户 + + + <- for this one the above does not apply + <- 因此原因以上不适用 + + + Block network files and folders, unless specifically opened. + 禁用网络文件和文件夹,除非专门打开. + + + Command Line + 命令行 + + + Don't alter window class names created by sandboxed programs + 不要改变由沙盒程序创建的窗口类名 + + + Prevent change to network and firewall parameters + 阻止更改网络和防火墙参数 + + + Internet Restrictions + 联网限制 + + + 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. + 配置进程所访问的资源. 双击进入编辑. +'管理' 文件和键值仅适用于沙盒外的程序二进制文件. +注意所有都将关闭...=!<program>,... 例外也有相同限制. +文件访问可使用 '管理全部' 使其适用于所有程序. + + + Log Debug Output to the Trace Log + 日志调试输出到追踪日志 + + + Forced Programs + 强制运行程序 + + + Add Wnd Class + 添加窗口类 + + + Access Tracing + 访问追踪 + + + File Options + 文件选项 + + + General Options + 通用选项 + + + Open Windows Credentials Store + 打开系统证书库 + + + kilobytes + kb + + + 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. + 如果其他所有程序已经终止后,驻留程序仍在运行,将自动终止. + +如果引导进程已确定, 其他将被当成驻留进程. + + + Allow all programs to start in this sandbox. + 允许所有程序在此沙盒中启动. + + + Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. + 启用快速恢复提示以便创建文件时能尽快恢复. + + + General restrictions + 通用限制 + + + Move Up + 上移 + + + Access + 访问 + + + These options are intended for debugging compatibility issues, please do not use them in production use. + 这些选项是计划调试设备而设计的,在日常使用时请不要使用. + + + Text Filter + 文本过滤 + + + Cancel + 取消 + + + Restrict Resource Access monitor to administrators only + 限制资源访问监视器仅限管理员 + + + Protect the sandbox integrity itself + 沙盒完整性保护 + + + Add Folder + 添加文件夹 + + + Prompt user whether to allow an exemption from the blockade. + 提示用户是否允许例外免于封锁. + + + IPC Trace + IPC追踪 + + + Limit access to the emulated service control manager to privileged processes + 限制访问模拟服务控制管理器来提权进程 + + + Remove + 删除 + + + Add File/Folder + 添加文件/文件夹 + + + Block internet access for all programs except those added to the list. + 禁止所有程序访问网络,这些添加到清单里的除外 + + + Issue message 1307 when a program is denied internet access + 错误代码1307,程序被拒绝网络访问 + + + Compatibility + 兼容性 + + + Stop Behaviour + 停止行为 + + + Note: Programs installed to this sandbox won't be able to access the internet at all. + 注意: 安装在此沙盒里程序将完全无法访问网络. + + + Box Options + 沙盒选项 + + + Don't allow sandboxed processes to see processes running in other boxes + 不允许沙盒化的进程查看其他沙盒里进程的运行 + + + Add Group + 添加组 + + + Sandboxed window border: + 沙盒化窗口边框: + + + Prevent selected programs from starting in this sandbox. + 阻止所选程序在此沙盒中启动. + + + Miscellaneous + 其他 + + + Issue message 2102 when a file is too large + 问题代码2102,文件太大 + + + File Recovery + 文件恢复 + + + Box Delete options + 沙盒删除选项 + + + Pipe Trace + Pipe追踪 + + + File Trace + 文件追踪 + + + Program + 程序 + + + Add Process + 添加进程 + + + Add Program + 添加程序 + + + Filter Categories + 筛选类别 + + + Copy file size limit: + 复制文件大小限制: + + + Open System Protected Storage + 开放系统保护存储 + + + Protect the system from sandboxed processes + 保护系统来自沙盒化的进程 + + + Add Leader Program + 添加引导程序 + + + SandboxiePlus Options + SandboxiePlus选项 + + + Category + 类别 + + + Drop rights from Administrators and Power Users groups + 撤销管理员和超级用户组的权限 + + + Add Reg Key + 添加注册表键值 + + + Sandbox protection + 沙盒保护 + + + 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. + 您可将程序分组并且给它们组名.程序组可以代替程序名被用于一些设置. + + + Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes + 保护沙盒化系统进程来自未授权的未沙盒化的进程 + + + COM Class Trace + COM组件追踪 + + + Add Command + 添加命令 + + + Hide Processes + 隐藏进程 + + + When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. + 当快速恢复功能被调用,下列文件夹将被检查沙盒化内容. + + + px Width + 宽度 + + + Add User + 添加用户 + + + Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. + 此处输入的程序,或指定位置启动的程序,将自动入此沙盒,除非它们明确在其他沙盒启动. + + + Force Program + 强制运行程序 + + + WARNING, these options can disable core security guarantees and break sandbox security!!! + 警告,这些选项可以使核心安全保障失效并且破坏沙盒安全!!! + + + Edit ini + 编辑ini + + + Show Templates + 显示模板 + + + Ignore Folder + 忽略文件夹 + + + GUI Trace + GUI追踪 + + + Key Trace + 键值追踪 + + + Tracing + 追踪 + + + Appearance + 外观 + + + Add sandboxed processes to job objects (recommended) + 添加沙盒化进程到作业对象(建议) + + + Remove Program + 删除程序 + + + You can exclude folders and file types (or file extensions) from Immediate Recovery. + 您可从快速恢复中排除文件夹和文件类型 (或文件扩展名) . + + + Run Menu + 运行菜单 + + + App Templates + 应用程序模板 + + + Remove User + 删除用户 + + + Ignore Extension + 忽略扩展名 + + + Move Down + 下移 + + + Protect this sandbox from deletion or emptying + 保护此沙盒删除或清空 + + + 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. + 添加用户账户和用户组到下面清单中来仅限这些账户使用沙盒. 如果清单内容为空,所有账户均可使用沙盒. + +注意: 沙盒的强制运行程序和强制运行文件夹设置不接受不能运行沙盘的账户. + + + * Note: Programs installed to this sandbox won't be able to start at all. + * 注意: 安装在此沙盒里的程序将完全无法启动. + + + This list contains a large amount of sandbox compatibility enhancing templates + 此清单包含大量沙盒兼容性增强模板 + + + Add Lingering Program + 添加驻留程序 + + + Program Groups + 程序组 + + + Issue message 1308 when a program fails to start + 错误代码1308,程序启动失败 + + + Resource Access + 资源访问 + + + Advanced Options + 高级选项 + + + Hide host processes from processes running in the sandbox. + 隐藏沙盒中运行进程的主进程. + + + File Migration + 文件迁移 + + + Auto delete content when last sandboxed process terminates + 上一次沙盒化的进程终止后自动删除内容 + + + Add COM Object + 添加COM对象 + + + You can configure custom entries for the sandbox run menu. + 您可为沙盒运行菜单配置自定义条目. + + + Start Restrictions + 启动限制 + + + Force usage of custom dummy Manifest files (legacy behaviour) + 强制使用自定义虚拟Manifest文件(遗留行为) + + + Edit ini Section + 编辑ini部分 + + + Block access to the printer spooler + 阻止访问打印服务 + + + Allow the print spooler to print to files outside the sandbox + 允许打印服务在沙盒外打印文件 + + + Printing + 打印 + + + Remove spooler restriction, printers can be installed outside the sandbox + 移除打印限制,打印机可以在沙盒外安装 + + + Add program + 添加程序 + + + Auto Start + 自动启动 + + + Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated + 这里您可以详列将在沙盒中自动启动的程序或服务,当它被激活时 + + + Add service + 添加服务 + + + Do not start sandboxed services using a system token (recommended) + 不启动使用系统令牌的沙盒化服务 (建议) + + + Allow access to Smart Cards + 允许访问智能卡 + + + Lift security restrictions + 提升安全限制 + + + Sandbox isolation + 沙盒隔离 + + + Auto Exec + 自动运行 + + + Here you can specify a list of commands that are executed every time the sandbox is initially populated. + 这里您可以详列每次沙盒启动被执行的命令清单. + + + 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 "*". + 将驱动程序看到的所有访问事件记录到资源访问日志中. + +这些选项设置事件标记到 "*" - 所有访问事件 +您可以通过ini来详细定制记录 +"A" - 允许访问 +"D" - 拒绝访问 +"I" - 忽略拒绝请求 +代替 "*". + + + Allow access to Bluetooth + 允许访问蓝牙 + + + Log all SetError's to Trace log + + + + + PopUpWindow + + SandboxiePlus Notifications + SandboxiePlus通知 + + + + QObject + + Drive %1 + 磁盘 %1 + + + + QPlatformTheme + + OK + 确定 + + + Apply + 应用 + + + Cancel + 取消 + + + &Yes + &是 + + + &No + &否 + + + + RecoveryWindow + + Close + 关闭 + + + SandboxiePlus Settings + SandboxiePlus设置 + + + Add Folder + 添加文件夹 + + + Recover to + 恢复到 + + + Recover + 恢复 + + + Refresh + 刷新 + + + Delete all + 删除全部 + + + Show All Files + 显示所有文件 + + + TextLabel + 文本标签 + + + SandboxiePlus - Recovery + SandboxiePlus - 恢复 + + + + SettingsWindow + + Name + 名称 + + + Path + 路径 + + + Change Password + 更改密码 + + + Clear password when main window becomes hidden + 主窗口隐藏时清除密码 + + + SandboxiePlus Settings + SandboxiePlus设置 + + + Password must be entered in order to make changes + 必须输入密码以便进行更改 + + + Check periodically for updates of Sandboxie-Plus + 定期检查Sandboxie-Plus的更新 + + + General Options + 通用选项 + + + Program Restrictions + 程序限制 + + + Restart required (!) + 需要重启 (!) + + + Tray options + 磁盘选项 + + + Use Dark Theme + 使用暗主题 + + + Enable + 启用 + + + Add Folder + 添加文件夹 + + + Only Administrator user accounts can make changes + 仅限管理员账户更改 + + + Config protection + 配置保护 + + + Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: + 沙盒 <a href="sbie://docs/keyrootpath">注册表根目录</a>: + + + Add Program + 添加程序 + + + 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. + 沙盒在您系统中检测到下列软件程序. 点击 确定 接受配置设置,将增强这些软件程序的兼容性.这些配置设置将影响所有已存在的沙盒和任何新沙盒. + + + Watch Sandboxie.ini for changes + 查看Sandboxie.ini变更 + + + Show Sys-Tray + 系统托盘显示 + + + Open urls from this ui sandboxed + 在此用户界面打开的链接均沙盒化 + + + In the future, don't check software compatibility + 以后,不再检查软件兼容性 + + + Disable + 禁用 + + + When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301. + 当下列程序在任意沙盒之外启动时, Sandboxie将出现错误代码SBIE1301. + + + Remove Program + 删除程序 + + + Software Compatibility + 软件兼容性 + + + On main window close: + 主窗体关闭时: + + + Add 'Run Sandboxed' to the explorer context menu + 在资源管理器添加'在沙盒中运行' + + + Issue message 1308 when a program fails to start + 错误代码1308,程序启动失败 + + + Sandbox default + 沙盒预置 + + + Separate user folders + 独立用户文件夹 + + + Advanced Options + 高级选项 + + + Prevent the listed programs from starting on this system + 阻止列表程序在此系统中启动 + + + Only Administrator user accounts can use Disable Forced Programs command + 仅管理员账户可使用禁用强制运行程序命令 + + + Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: + 沙盒 <a href="sbie://docs/ipcrootpath">ipc根目录</a>: + + + Show Notifications for relevant log Messages + 显示相关日志信息的通知 + + + Sandbox <a href="sbie://docs/filerootpath">file system root</a>: + 沙盒 <a href="sbie://docs/filerootpath">文件系统根目录</a>: + + + Portable root folder + 便携化根目录 + + + Start UI with Windows + 开机启动UI + + + Start UI when a sandboxed process is started + 当沙盒进程启动时启动UI + + + Show first recovery window when emptying sandboxes + 当清空沙盒时显示第一个恢复窗口 + + + ... + ... + + + Other settings + 其他设置 + + + + SnapshotsWindow + + Name: + 名称: + + + Remove Snapshot + 删除快照 + + + SandboxiePlus Settings + SandboxiePlus设置 + + + Description: + 说明: + + + Go to Snapshot + 进入快照 + + + Take Snapshot + 抓取快照 + + + Selected Snapshot Details + 所选快照详情 + + + Snapshot Actions + 快照行为 + + + SandboxiePlus - Snapshots + SandboxiePlus - 快照 + + + diff --git a/SandboxiePlus/SandMan/sandman_zh-TW.ts b/SandboxiePlus/SandMan/sandman_zh-TW.ts index 2cc55c48..fd1fa03a 100644 --- a/SandboxiePlus/SandMan/sandman_zh-TW.ts +++ b/SandboxiePlus/SandMan/sandman_zh-TW.ts @@ -1,2402 +1,2418 @@ - - - - - CApiMonModel - - Message - 訊息 - - - Time Stamp - 時間標記 - - - Process - 處理程序 - - - - CMultiErrorDialog - - Message - 訊息 - - - Sandboxie-Plus - Error - Sandboxie-Plus - 錯誤 - - - - CNewBoxWindow - - New Box - 新沙盤 - - - Hardened - 強化 - - - Default - 預設 - - - Legacy (old sbie behaviour) - 遺留 (舊 Sbie 行為) - - - Sandboxie-Plus - Create New Box - Sandboxie-Plus - 建立新沙盤 - - - Legacy Sandboxie Behaviour - 遺留 Sandboxie 行為 - - - - COptionsWindow - - Always show - 總是顯示 - - - Template values can not be edited. - 模板值無法編輯。 - - - Lingerer - 駐留項目 - - - Browse for File - 瀏覽檔案 - - - Please enter a menu title - 請輸入選單標題 - - - Select Directory - 選取目錄 - - - Please enter a name for the new group - 請輸入新的群組名稱 - - - Please enter a program file name - 請輸入程式檔名稱 - - - Template values can not be removed. - 模板值無法刪除。 - - - Display box name in title - 標題顯示沙盤名稱 - - - Folder - 資料夾 - - - Sandboxie Plus - '%1' Options - Sandboxie Plus - '%1' 選項 - - - Leader - 導引 - - - Group: %1 - 群組: %1 - - - Process - 處理程序 - - - Display [#] indicator only - 只顯示 [#] 標記 - - - COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} - COM 物件必須被它們的 GUID 所指定,例如: {00000000-0000-0000-0000-000000000000} - - - %1 (%2) - %1 (%2) - - - Border disabled - 邊框禁用 - - - All Categories - 所有類別 - - - Please enter a file extension to be excluded - 請輸入要排除的副檔名 - - - Exclusion - 排除 - - - Select File - 選取檔案 - - - This template is enabled globally. To configure it, use the global options. - 此模板已全域性啟用。請使用全域性選項配置。 - - - Please select group first. - 請先選取群組。 - - - All Files (*.*) - 所有檔案 (*.*) - - - Show only when title is in focus - 僅在標題處在焦點時顯示 - - - Select Program - 選取程式 - - - Please enter a command - 請輸入命令 - - - kilobytes (%1) - KB (%1) - - - Don't alter the window title - 不要改變視窗標題 - - - All Programs - 所有程式 - - - Browse for Folder - 瀏覽資料夾 - - - Enter program: - 輸入程式: - - - Executables (*.exe|*.cmd) - 可執行檔案 (*.exe|*.cmd) - - - RT interfaces must be specified by their name. - RT 介面必須被它們名稱所指定。 - - - Browse for Program - 瀏覽程式 - - - Please enter a program path - 請輸入程式位址 - - - Please enter a service identifier - 請輸入服務識別符號 - - - Service - 服務 - - - Program - 程式 - - - Please enter an auto exec command - 請輸入自動執行命令 - - - This sandbox has been deleted hence configuration can not be saved. - 沙盤已刪除,故配置沒有被儲存 - - - Some changes haven't been saved yet, do you really want to close this options window? - 一些變更尚未儲存,您確定關閉此選項視窗嗎? - - - Executables (*.exe *.cmd);;All files (*.*) - 可執行檔案 (*.exe *.cmd);;所有檔案 (*.*) - - - Direct - 管理 - - - Direct All - 管理全部 - - - Closed - 已關閉 - - - Closed RT - 已關閉 RT - - - Read Only - 唯讀 - - - Hidden - 隱藏 - - - Unknown - 未知 - - - File/Folder - 檔案和資料夾 - - - Registry - 登錄 - - - IPC Path - IPC 位址 - - - Wnd Class - Wnd 元件 - - - COM Object - COM 物件 - - - - CPopUpMessage - - ? - - - - Hide all such messages - 隱藏所有類似訊息 - - - Remove this message from the list - 從清單中刪除此訊息 - - - Dismiss - 忽略 - - - Visit %1 for a detailed explanation. - 訪問 %1 以取得詳細說明。 - - - - CPopUpProgress - - Remove this progress indicator from the list - 在清單中刪除此處理程序標記 - - - Dismiss - 忽略 - - - - CPopUpPrompt - - No - - - - Yes - - - - Requesting process terminated - 請求的處理程序被終止 - - - Remember for this process - 標記此處理程序 - - - Terminate - 終止 - - - Request will time out in %1 sec - 請求將在 %1 秒後逾時 - - - Request timed out - 請求逾時 - - - Yes and add to allowed programs - 確定並新增到允許的程式中 - - - - CPopUpRecovery - - Recover to: - 恢復至: - - - Browse - 瀏覽 - - - Clear folder list - 清除資料夾清單 - - - Recover - 恢復 - - - Recover the file to original location - 恢復檔案到原始路徑 - - - Recover && Explore - 恢復 && 瀏覽 - - - Recover && Open/Run - 恢復 && 開啟/執行 - - - Open file recovery for this box - 為此沙盤開啟檔案恢復 - - - Dismiss - 忽略 - - - Don't recover this file right now - 此時暫不恢復此檔案 - - - Dismiss all from this box - 為此沙盤全部忽略 - - - Disable quick recovery until the box restarts - 在沙盤重新啟動前禁用快速恢復 - - - Select Directory - 選取目錄 - - - - CPopUpWindow - - an UNKNOWN process. - 未知處理程序。 - - - Sandboxie-Plus Notifications - Sandboxie-Plus 通知 - - - %1 (%2) - %1 (%2) - - - UNKNOWN - 未知 - - - Do you want to allow the print spooler to write outside the sandbox for %1 (%2)? - 您想允許列印服務在沙盤外寫入,因 %1 (%2) 嗎? - - + + + + + CApiMonModel + + Message + 訊息 + + + Time Stamp + 時間標記 + + + Process + 處理程序 + + + + CMultiErrorDialog + + Message + 訊息 + + + Sandboxie-Plus - Error + Sandboxie-Plus - 錯誤 + + + + CNewBoxWindow + + New Box + 新沙盤 + + + Hardened + 強化 + + + Default + 預設 + + + Legacy (old sbie behaviour) + 遺留 (舊 Sbie 行為) + + + Sandboxie-Plus - Create New Box + Sandboxie-Plus - 建立新沙盤 + + + Legacy Sandboxie Behaviour + 遺留 Sandboxie 行為 + + + + COptionsWindow + + Always show + 總是顯示 + + + Template values can not be edited. + 模板值無法編輯。 + + + Lingerer + 駐留項目 + + + Browse for File + 瀏覽檔案 + + + Please enter a menu title + 請輸入選單標題 + + + Select Directory + 選取目錄 + + + Please enter a name for the new group + 請輸入新的群組名稱 + + + Please enter a program file name + 請輸入程式檔名稱 + + + Template values can not be removed. + 模板值無法刪除。 + + + Display box name in title + 標題顯示沙盤名稱 + + + Folder + 資料夾 + + + Sandboxie Plus - '%1' Options + Sandboxie Plus - '%1' 選項 + + + Leader + 導引 + + + Group: %1 + 群組: %1 + + + Process + 處理程序 + + + Display [#] indicator only + 只顯示 [#] 標記 + + + COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000} + COM 物件必須被它們的 GUID 所指定,例如: {00000000-0000-0000-0000-000000000000} + + + %1 (%2) + %1 (%2) + + + Border disabled + 邊框禁用 + + + All Categories + 所有類別 + + + Please enter a file extension to be excluded + 請輸入要排除的副檔名 + + + Exclusion + 排除 + + + Select File + 選取檔案 + + + This template is enabled globally. To configure it, use the global options. + 此模板已全域性啟用。請使用全域性選項配置。 + + + Please select group first. + 請先選取群組。 + + + All Files (*.*) + 所有檔案 (*.*) + + + Show only when title is in focus + 僅在標題處在焦點時顯示 + + + Select Program + 選取程式 + + + Please enter a command + 請輸入命令 + + + kilobytes (%1) + KB (%1) + + + Don't alter the window title + 不要改變視窗標題 + + + All Programs + 所有程式 + + + Browse for Folder + 瀏覽資料夾 + + + Enter program: + 輸入程式: + + + Executables (*.exe|*.cmd) + 可執行檔案 (*.exe|*.cmd) + + + RT interfaces must be specified by their name. + RT 介面必須被它們名稱所指定。 + + + Browse for Program + 瀏覽程式 + + + Please enter a program path + 請輸入程式位址 + + + Please enter a service identifier + 請輸入服務識別符號 + + + Service + 服務 + + + Program + 程式 + + + Please enter an auto exec command + 請輸入自動執行命令 + + + This sandbox has been deleted hence configuration can not be saved. + 沙盤已刪除,故配置沒有被儲存 + + + Some changes haven't been saved yet, do you really want to close this options window? + 一些變更尚未儲存,您確定關閉此選項視窗嗎? + + + Executables (*.exe *.cmd);;All files (*.*) + 可執行檔案 (*.exe *.cmd);;所有檔案 (*.*) + + + Direct + 管理 + + + Direct All + 管理全部 + + + Closed + 已關閉 + + + Closed RT + 已關閉 RT + + + Read Only + 唯讀 + + + Hidden + 隱藏 + + + Unknown + 未知 + + + File/Folder + 檔案和資料夾 + + + Registry + 登錄 + + + IPC Path + IPC 位址 + + + Wnd Class + Wnd 元件 + + + COM Object + COM 物件 + + + + CPopUpMessage + + ? + + + + Hide all such messages + 隱藏所有類似訊息 + + + Remove this message from the list + 從清單中刪除此訊息 + + + Dismiss + 忽略 + + + Visit %1 for a detailed explanation. + 訪問 %1 以取得詳細說明。 + + + + CPopUpProgress + + Remove this progress indicator from the list + 在清單中刪除此處理程序標記 + + + Dismiss + 忽略 + + + + CPopUpPrompt + + No + + + + Yes + + + + Requesting process terminated + 請求的處理程序被終止 + + + Remember for this process + 標記此處理程序 + + + Terminate + 終止 + + + Request will time out in %1 sec + 請求將在 %1 秒後逾時 + + + Request timed out + 請求逾時 + + + Yes and add to allowed programs + 確定並新增到允許的程式中 + + + + CPopUpRecovery + + Recover to: + 恢復至: + + + Browse + 瀏覽 + + + Clear folder list + 清除資料夾清單 + + + Recover + 恢復 + + + Recover the file to original location + 恢復檔案到原始路徑 + + + Recover && Explore + 恢復 && 瀏覽 + + + Recover && Open/Run + 恢復 && 開啟/執行 + + + Open file recovery for this box + 為此沙盤開啟檔案恢復 + + + Dismiss + 忽略 + + + Don't recover this file right now + 此時暫不恢復此檔案 + + + Dismiss all from this box + 為此沙盤全部忽略 + + + Disable quick recovery until the box restarts + 在沙盤重新啟動前禁用快速恢復 + + + Select Directory + 選取目錄 + + + + CPopUpWindow + + an UNKNOWN process. + 未知處理程序。 + + + Sandboxie-Plus Notifications + Sandboxie-Plus 通知 + + + %1 (%2) + %1 (%2) + + + UNKNOWN + 未知 + + + Do you want to allow the print spooler to write outside the sandbox for %1 (%2)? + 您想允許列印服務在沙盤外寫入,因 %1 (%2) 嗎? + + + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? +File name: %3 + 您確定允許 %4 (%5) 複製大型檔案 %1 至沙盤: %2? +檔案名稱: %3 + + + Do you want to allow %1 (%2) access to the internet? +Full path: %3 + 您確定允許 %1 (%2) 訪問網路嗎? +完整路徑: %3 + + + %1 is eligible for quick recovery from %2. +The file was written by: %3 + %1 可以從 %2 快速恢復。 +檔案寫入自: %3 + + + Migrating a large file %1 into the sandbox %2, %3 left. +Full path: %4 + 移動大檔案 %1 至沙盤 %2,%3 遺留。 +完整路徑: %4 + + Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2? -File name: %3 - 您確定允許 %4 (%5) 複製大型檔案 %1 至沙盤: %2? -檔案名稱: %3 - - +File name: %3 + + + Do you want to allow %1 (%2) access to the internet? -Full path: %3 - 您確定允許 %1 (%2) 訪問網路嗎? -完整路徑: %3 - - +Full path: %3 + + + %1 is eligible for quick recovery from %2. -The file was written by: %3 - %1 可以從 %2 快速恢復。 -檔案寫入自: %3 - - +The file was written by: %3 + + + Migrating a large file %1 into the sandbox %2, %3 left. -Full path: %4 - 移動大檔案 %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 - - File Name - 檔案名稱 - - - File Size - 檔案大小 - - - Full Path - 詳細路徑 - - - Select Directory - 選取取目錄 - - - %1 - File Recovery - %1 - 檔案恢復 - - - 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. - 一個或多個被選取的檔案位於網路共享,並且必須恢復到本地磁碟,請選取用於恢復所選檔案的資料夾。 - - - There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space. - 有 %1 檔案和 %2 資料夾位於沙盤中,佔用磁碟 %3 位元組。 - - - - CResMonModel - - Type - 類別 - - - Value - - - - Status - 狀態 - - - Time Stamp - 時間標記 - - - Process - 處理程序 - - - Unknown - 未知 - - - - CSandBoxPlus - - No Admin - 無管理員 - - - No INet - 無 INet - - - Normal - 標準 - - - API Log - API 日誌 - - - Net Share - 網路共享 - - - NOT SECURE (Debug Config) - 不安全(除錯配置) - - - Enhanced Isolation - 增強隔離 - - - Reduced Isolation - 弱化隔離 - - - Disabled - 禁用 - - - - CSandMan - - Exit - 退出 - - - <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>新版本 Sandboxie-Plus 將被下載到:</p><p><a href="%2">%1</a></p><p>您想要開始安裝嗎?正在沙盤化運作的其他程式將會被終止。</p> - - - Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. - Sandboxie-Plus 已於便攜模式中啟動,需建立必要的服務。將會提示管理員授權。 - - - Cleanup Processes - 清理處理程序 - - - Maintenance operation %1 - 維護作業 %1 - - - &Help - &幫助 - - - &View - &檢視 - - - Error deleting sandbox folder: %1 - 刪除沙盤資料夾錯誤: %1 - - - About Sandboxie-Plus - 關於 Sandboxie-Plus - - - Driver version: %1 - 驅動程式版本: %1 - - - Sandboxie-Plus v%1 - Sandboxie-Plus v%1 - - - Start Driver - 啟動驅動程式 - - - Install Driver - 安裝驅動程式 - - - Uninstall Driver - 解除安裝驅動程式 - - - Check for Updates - 檢查更新 - - - Visit Support Forum - 支援論壇 - - - Failed to copy configuration from sandbox %1: %2 - 複製沙盤配置 %1: %2 失敗 - - - Do you want to check if there is a new version of Sandboxie-Plus? - 你想要檢查 Sandboxie-Plus 是否存在新版本嗎? - - - Cleanup Api Call Log - 清理 API 呼叫日誌 - - - Simple View - 簡易檢視 - - - %1 (%2): - %1 (%2): - - - Login Failed: %1 - 登入失敗: %1 - - - Clean Up - 清理 - - - Don't show this message again. - 不再顯示此訊息。 - - - Uninstall Service - 解除安裝服務 - - - Start Service - 啟動服務 - - - Install Service - 安裝服務 - - - Failed to remove old snapshot directory '%1' - 刪除舊版快照目錄 '%1' 失敗 - - - The changes will be applied automatically as soon as the editor is closed. - 變更將在編輯器關閉後自動提交。 - - - Can't remove a snapshot that is shared by multiple later snapshots - 無法刪除由多個後續快照共享的快照 - - - Do you want to close Sandboxie Manager? - 您確定要關閉 Sandboxie 管理員? - - - Support Sandboxie-Plus with a Donation - 捐贈支持 Sandboxie-Plus - - - Unknown Error Status: %1 - 未知錯誤程式碼: %1 - - - Failed to create directory for new snapshot - 建立新的快照目錄失敗 - - - Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. - Sandboxie-Plus 正運作於便攜模式中,現在將清理所建立的服務。將會提示管理員授權。 - - - - Portable - - 便攜 - - - Failed to download update from: %1 - 在: %1 下載更新失敗 - - - Api Call Log - API 呼叫日誌 - - - The sandbox name can not be longer than 32 characters. - 沙盤名稱不能超過32個字元。 - - - Stop Driver - 停止驅動程式 - - - Don't show this announcement in the future. - 此後不再顯示此通告。 - - - Sbie Messages - Sbie 訊息 - - - Failed to recover some files: - - 恢復某些檔案失敗: - - - - Failed to move directory '%1' to '%2' - 移動目錄 '%1' 至 '%2' 失敗 - - - Recovering file %1 to %2 - 恢復檔案 %1 至 %2 - - - Resource Logging - 資源日誌 - - - Online Documentation - 線上文件 - - - Ignore this update, notify me about the next one. - 忽略此升級,下一個再提示我。 - - - Please enter the duration for disabling forced programs. - 請輸入禁用強制執行程式的時間。 - - - Sbie Directory: %1 - Sbie 目錄: %1 - - - - NOT connected - - 未連線 - - - <p>Do you want to download the latest version?</p> - <p>確定要下載最新版本嗎?</p> - - - Sandboxie-Plus - Error - Sandboxie-Plus - 錯誤 - - - The changes will be applied automatically whenever the file gets saved. - 每當檔案儲存後更改將自動套用。 - - - Time|Message - 時間|訊息 - - - &Options - &選項 - - - Show/Hide - 顯示/隱藏 - - - Resource Monitor - 資源監控 - - - Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? - 確定要在沙盤化 (是) 未沙盤化 (否) 的瀏覽器中開啟 %1 嗎? - - - Reset all hidden messages - 重置所有隱藏訊息 - - - A sandbox must be emptied before it can be deleted. - 刪除沙盤之前必須清空。 - - - The sandbox name can contain only letters, digits and underscores which are displayed as spaces. - 沙盤名稱不能為空白,只能包含字母、數字和下劃線。 - - - A sandbox must be emptied before it can be renamed. - 重新命名沙盤之前必須將其清空。 - - - API Call Logging - API 呼叫日誌 - - - Loaded Config: %1 - 載入的配置: %1 - - - Reload ini file - 重新載入 ini 檔案 - - - Remember choice for later. - 以後記住選擇。 - - - &Maintenance - &維護 - - - The sandbox name can not be a device name. - 沙盤名稱不能為裝置名稱。 - - - Operation failed for %1 item(s). - %1 項作業失敗。 - - - Global Settings - 全域性設定 - - - Downloading new version... - 下載新版本... - - - &Sandbox - &沙盤 - - - <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - <h3>關於 Sandboxie-Plus</h3><p>版本 %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> - - - Cleanup - 清理 - - - Failed to check for updates, error: %1 - 檢查更新失敗,錯誤: %1 - - - Disconnect - 斷開連線 - - - Connect - 連線 - - - Only Administrators can change the config. - 僅限管理員可更改配置。 - - - Disable Forced Programs - 禁用強制執行程式 - - - Snapshot not found - 未發現快照 - - - Failed to remove old RegHive - 刪除舊版登錄檔項目失敗 - - - Stop All - 停止所有 - - - Can't find Sandboxie installation path. - 無法找到 Sandboxie 安裝路徑。 - - - Delete protection is enabled for the sandbox - 沙盤的刪除保護被已啟用 - - - &Advanced - &進階 - - - An incompatible Sandboxie %1 was found. Compatible versions: %2 - 已發現不相容的 Sandboxie %1。相容版本為: %2 - - - Administrator rights are required for this operation. - 此作業需要管理員授權。 - - - Executing maintenance operation, please wait... - 執行維護作業,請稍等... - - - <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> - <p>有新版本 Sandboxie-Plus 可用。<br /><font color='red'>新版本:</font> <b>%1</b></p> - - - Stop Service - 停止服務 - - - Create New Box - 建立新沙盤 - - - Failed to copy RegHive - 複製登錄檔項目失敗 - - - Failed to terminate all processes - 終止所有處理程序失敗 - - - Advanced View - 進階檢視 - - - Failed to delete sandbox %1: %2 - 刪除沙盤 %1: %2 失敗 - - - <p>Do you want to go to the <a href="%1">download page</a>?</p> - <p>確定要開啟 <a href="%1">下載頁面</a>?</p> - - - Maintenance operation Successful - 維護作業成功 - - - PID %1: - PID %1: - - - Error Status: %1 - 錯誤程式碼: %1 - - - Terminate All Processes - 終止所有處理程序 - - - Please enter the configuration password. - 請輸入配置密碼。 - - - Do you also want to reset hidden message boxes (yes), or only all log messages (no)? - 你是否要重置已隱藏訊息視窗 (是) ,或僅用於所有日誌訊息 (否)? - - - You are not authorized to update configuration in section '%1' - 您無權在此處更新配置 '%1' - - - Failed to connect to the driver - 連線驅動程式失敗 - - - Failed to communicate with Sandboxie Service: %1 - 無法與 Sandboxie 服務取得聯絡: %1 - - - Failed to execute: %1 - 執行失敗: %1 - - - This Snapshot operation can not be performed while processes are still running in the box. - 因處理程序正在沙盤中運作,此快照操作無法完成。 - - - server not reachable - 伺服器無法訪問 - - - Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. - 合併快照目錄 '%1' 和 '%2' 錯誤,快照沒有被完全合併。 - - - Edit ini file - 編輯 ini 檔案 - - - Checking for updates... - 檢查更新... - - - No sandboxes found; creating: %1 - 未找到沙盤;建立: %1 - - - Cleanup Resource Log - 清理資源日誌 - - - Cleanup Message Log - 清理訊息日誌 - - - About the Qt Framework - 關於 Qt 框架 - - - Keep terminated - 保持終止 - - - A sandbox of the name %1 already exists - 沙盤名稱 %1 已存在 - - - Failed to set configuration setting %1 in section %2: %3 - 配置設定 %1 失敗於 %2: %3 - - - Copy Cell - 複製單元格 - - - Copy Row - 複製列 - - - Copy Panel - 複製表格 - - - Failed to stop all Sandboxie components - 停止所有 Sandboxie 元件失敗 - - - Failed to start required Sandboxie components - 啟動所需 Sandboxie 元件失敗 - - - Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? - Sandboxie-Plus 於便攜模式中啟動,您想將沙盤目錄放到它的上級目錄嗎? - - - The file %1 already exists, do you want to overwrite it? - 檔案 %1 已存在,您確定要覆蓋它嗎? - - - Do this for all files! - 為所有檔案執行此操作! - - - To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. -Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. - 要使用 API 記錄日誌首先必須從 https://github.com/sandboxie-plus/LogApiDll 下載 LogApiDll,並為一個或更多沙盤設定。 -請下載最新發布版本,並使用 sandboxie.ini 安裝,更多內容請參考 README.md 中此項目的說明。 - - - No new updates found, your Sandboxie-Plus is up-to-date. - 無可用更新,您的 Sandboxie-Plus 已為最新 - - - <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 是著名程式 Sandboxie 的開源延續。</p><p></p><p>訪問 <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> 以取得更多資訊。</p><p></p><p></p><p></p><p>圖示來自 <a href="https://icons8.com">icons8.com</a></p><p></p> - - - Always on Top - 保持視窗置頂 - - - Sellect box: - 選取沙盤: - - - Some compatybility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? - 一些相容性模板 (%1) 丟失,可能已被刪除,您確定要從所有沙盤中刪除它們嗎? - - - Cleaned up removed templates... - 清理已刪除的模板... - - - Can not create snapshot of an empty sandbox - 無法為空白沙盤建立快照 - - - A sandbox with that name already exists - 已存在同名沙盤 - - - Reset Columns - 重設欄 - - - Window Finder - 尋找視窗 - - - Show Hidden Boxes - 顯示隱藏沙盤 - - - Select box: - 選取沙盤: - - - Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? - 一些相容性模板已丟失,可能是已被刪除,是否從所有沙盤中移除它們? - - - Do you want to terminate all processes in all sandboxes? - 是否終止所有沙盤中的所有處理程式? - - - Terminate all without asking - 終止全部並不再詢問 - - - The selected window is running as part of program %1 in sandbox %2 - 所選取的視窗正作為沙盤 %2 中的程式 %1 運作 - - - The selected window is not running as part of any sandboxed program. - 所選取的視窗並不屬於任何沙盤化程式。 - - - Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. - 托拽尋找工具至一個視窗上以選取它,然後釋放滑鼠以檢查其是否已被沙盤化。 - - - Sandboxie-Plus - Window Finder - Sandboxie-Plus - 尋找視窗 - - - Default sandbox not found; creating: %1 - 未找到預設沙盤; 建立中: %1 - - - <p>Do you want to go to the <a href="%1">info page</a>?</p> - <p>你是否想要前往 <a href="%1">資訊頁面</a>?</p> - - - Don't show this message anymore. - 不再顯示此訊息。 - - - - CSbieModel - - Name - 名稱 - - - Box Groupe - 沙盤群組 - - - Status - 狀態 - - - Path / Command Line - 路徑 / 命令列 - - - Start Time - 開始時間 - - - Process ID - 處理程序 ID - - - Title - 標題 - - - - CSbieProcess - - Terminated - 已終止 - - - Running - 運作中 - - - - CSbieView - - Run - 執行 - - - Create Shortcut to sandbox %1 - 為沙盤 %1 建立捷徑 - - - Options: - - 選項: - - - - Drop Admin Rights - 撤銷管理員授權 - - - Run eMail Client - 執行郵件用戶端 - - - Remove Group - 刪除群組 - - - Sandbox Options - 沙盤選項 - - - Sandbox Presets - 沙盤預設 - - - Do you want to %1 the selected process(es) - 確定要 %1 所選處理程序 - - - Move to Group - 移動至群組 - - - Remove Sandbox - 刪除沙盤 - - - Rename Sandbox - 重新命名沙盤 - - - Run from Start Menu - 從開始選單執行 - - - Preset - 預設 - - - Please enter a new group name - 請輸入新的群組名稱 - - - Enable API Call logging - 啟用 API 呼叫日誌 - - - [None] - [無] - - - Please enter a new name for the Sandbox. - 請為沙盤輸入新名稱 - - - Add Group - 新增群組 - - - Delete Content - 刪除內容 - - - Create Shortcut - 建立捷徑 - - - Do you really want to remove the selected sandbox(es)? - 確定要刪除所選沙盤嗎? - - - Run Program - 執行程式 - - - IPC root: %1 - - IPC 根目錄: %1 - - - - Block and Terminate - 阻止並終止 - - - Registry root: %1 - - 登錄檔根目錄: %1 - - - - File root: %1 - - 檔案根目錄: %1 - - - - Terminate - 終止 - - - Set Leader Process - 設定導引處理程序 - - - Terminate All Programs - 終止所有程式 - - - Do you really want to remove the selected group(s)? - 確定要刪除所選群組嗎? - - - Run Web Browser - 執行網頁瀏覽器 - - - Force into this sandbox - 強制加入此沙盤 - - - Allow Network Shares - 允許網路共享 - - - Run Cmd.exe - 執行 Cmd.exe - - - Snapshots Manager - 快照管理 - - - Run Explorer - 執行檔案總管 - - - Block Internet Access - 禁止網路訪問 - - - Set Linger Process - 設定駐留處理程序 - - - Create New Box - 建立新沙盤 - - - Pin to Run Menu - 固定到執行選單 - - - Recover Files - 恢復檔案 - - - This box does not have Internet restrictions in place, do you want to enable them? - 此沙盤無網際網路限制,確定要啟用它們嗎? - - - Explore Content - 瀏覽內容 - - - Allow internet access - 允許網路訪問 - - - Don't show this message again. - 不再顯示此訊息 - - - This Sandbox is already empty. - 此沙盤為空。 - - - Do you want to delete the content of the selected sandbox? - 您確定要刪除所選沙盤的內容? - - - Do you really want to delete the content of multiple sandboxes? - 您確定要刪除多個沙盤的內容? - - - Do you want to terminate all processes in the selected sandbox(es)? - 您確定要終止選定沙盤中的所有處理程序? - - - This sandbox is disabled, do you want to enable it? - 此沙盤已禁用,是否啟用? - - - This Sandbox is empty. - 此沙盤為空。 - - - A group can not be its own parent. - 群組不能作為其本身的上級群組。 - - - - CSettingsWindow - - Close - 關閉 - - - Please enter the new configuration password. - 請輸入新配置密碼。 - - - Close to Tray - 關閉到工作列 - - - Select Directory - 選取目錄 - - - Please enter a program file name - 請輸入程式檔名 - - - Folder - 資料夾 - - - Prompt before Close - 關閉前提示 - - - Process - 處理程序 - - - Sandboxie Plus - Settings - Sandboxie Plus - 設定 - - - Please re-enter the new configuration password. - 請再次輸入新配置密碼。 - - - Passwords did not match, please retry. - 密碼不正確,請重新輸入。 - - - Auto Detection - 自動偵測 - - - - CSnapshotsWindow - - Do you really want to delete the selected snapshot? - 確定要刪除所選快照? - - - New Snapshot - 新快照 - - - Snapshot - 快照 - - - Do you really want to switch the active snapshot? Doing so will delete the current state! - 確定要切換正在使用的快照?這樣做會刪除當前狀態! - - - %1 - Snapshots - %1 - 快照 - - - Please enter a name for the new Snapshot. - 請輸入新快照名稱。 - - - - NewBoxWindow - - Copy options from an existing box: - 從已有沙盤複製選項: - - - Initial sandbox configuration: - 初始沙盤配置: - - - Select restriction/isolation template: - 選取限制/隔離模板: - - - SandboxiePlus new box - SandboxiePlus 新沙盤 - - - Enter a name for the new box: - 輸入新沙盤名稱: - - - Sandbox Name: - 沙盤名稱: - - - - OptionsWindow - - Name - 名稱 - - - Path - 路徑 - - - Save - 儲存 - - - Type - 類別 - - - Allow only selected programs to start in this sandbox. * - 僅允許被選取的程式在此沙盤中啟動。 * - - - Force Folder - 強制執行資料夾 - - - Add IPC Path - 新增 IPC 位址 - - - Sandbox Indicator in title: - 在標題顯示沙盤標記: - - - Debug - 除錯 - - - Users - 使用者 - - - <- for this one the above does not apply - <- 啟用此選項後以上內容將不套用 - - - Block network files and folders, unless specifically opened. - 禁用網路檔案和資料夾,除非額外開啟。 - - - Command Line - 命令列 - - - Don't alter window class names created by sandboxed programs - 不要改變由沙盤程式建立的視窗類名 - - - Prevent change to network and firewall parameters - 阻止更改網路和防火牆引數 - - - Internet Restrictions - 網路限制 - - - 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. - 配置處理程序所訪問的資源。雙擊進入編輯。 -'管理' 檔案和機碼僅適用於沙盤外的程式二進位制檔案。 -注意所有關閉的...=!<程式>,... 例外也有相同限制。 -想要管理檔案訪問可使用 '管理全部' 使其套用至全部程式。 - - - Log Debug Output to the Trace Log - 記錄除錯輸出至追蹤日誌 - - - Forced Programs - 強制執行程式 - - - Add Wnd Class - 新增視窗類別 - - - Access Tracing - 訪問追蹤 - - - File Options - 檔案選項 - - - General Options - 通用選項 - - - Open Windows Credentials Store - 開啟 Windows 憑證儲存空間 - - - kilobytes - KB - - - 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. - 如果其他所有程式已經終止後,駐留程式仍在運作,將自動終止。 - -如果導引處理程序已確定,所有其他處理程序將被視為駐留處理程序。 - - - Allow all programs to start in this sandbox. - 允許所有程式在此沙盤中啟動。 - - - Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. - 啟用快速恢復提示以便建立檔案時能儘快恢復。 - - - General restrictions - 通用限制 - - - Move Up - 上移 - - - Access - 訪問 - - - These options are intended for debugging compatibility issues, please do not use them in production use. - 這些選項是為除錯相容性問題而設計的,在日常使用時請不要開啟。 - - - Text Filter - 文字過濾 - - - Cancel - 取消 - - - Restrict Resource Access monitor to administrators only - 限制資源訪問監視器使其僅限管理員使用 - - - Protect the sandbox integrity itself - 沙盤完整性保護 - - - Add Folder - 新增資料夾 - - - Prompt user whether to allow an exemption from the blockade. - 提示使用者是否允許例外免於封鎖。 - - - IPC Trace - IPC 追蹤 - - - Limit access to the emulated service control manager to privileged processes - 限制訪問模擬服務控制管理員以提權處理程序 - - - Remove - 刪除 - - - Add File/Folder - 新增檔案/資料夾 - - - Block internet access for all programs except those added to the list. - 禁止所有程式訪問網路,除了已新增至清單中的。 - - - Issue message 1307 when a program is denied internet access - 當程式被拒絕訪問網路時提示錯誤代碼 1307 - - - Compatibility - 相容性 - - - Stop Behaviour - 停止行為 - - - Note: Programs installed to this sandbox won't be able to access the internet at all. - 注意: 安裝在此沙盤裡的程式將完全無法訪問網路。 - - - Box Options - 沙盤選項 - - - Don't allow sandboxed processes to see processes running in other boxes - 不允許沙盤化的處理程序檢視其他沙盤裡處理程序的運作 - - - Add Group - 新增群組 - - - Sandboxed window border: - 沙盤化視窗邊框: - - - Prevent selected programs from starting in this sandbox. - 阻止所選程式在此沙盤中啟動。 - - - Miscellaneous - 其他 - - - Issue message 2102 when a file is too large - 當檔案過大時提示錯誤代碼 2102 - - - File Recovery - 檔案恢復 - - - Box Delete options - 沙盤刪除選項 - - - Pipe Trace - Pipe 追蹤 - - - File Trace - 檔案追蹤 - - - Program - 程式 - - - Add Process - 新增處理程序 - - - Add Program - 新增程式 - - - Filter Categories - 篩選類別 - - - Copy file size limit: - 複製檔案大小限制: - - - Open System Protected Storage - 開放系統保護儲存空間 - - - Protect the system from sandboxed processes - 保護系統免受來自沙盤化處理程序的訪問 - - - Add Leader Program - 新增導引程式 - - - SandboxiePlus Options - SandboxiePlus 選項 - - - Category - 類別 - - - Drop rights from Administrators and Power Users groups - 撤銷管理員和超級使用者群組的授權 - - - Add Reg Key - 新增登錄檔機碼 - - - Sandbox protection - 沙盤保護 - - - 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. - 您可將程式分組並且為它們設定群組名稱。程式群組可以代替程式名稱被用於一些設定。 - - - Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes - 保護沙盤化系統處理程序免受來自未授權的未沙盤化處理程序訪問 - - - COM Class Trace - COM 元件追蹤 - - - Add Command - 新增命令 - - - Hide Processes - 隱藏處理程序 - - - When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. - 當快速恢復功能被啟用,將檢查下列資料夾沙盤化內容。 - - - px Width - 寬度像素 - - - Add User - 新增使用者 - - - Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. - 此處輸入的程式,或指定位置啟動的程式,將自動加入此沙盤,除非它們被確定已在其他沙盤啟動。 - - - Force Program - 強制運作程式 - - - WARNING, these options can disable core security guarantees and break sandbox security!!! - 警告,這些選項可以使核心安全保障失效並且破壞沙盤安全!!! - - - Edit ini - 編輯 ini - - - Show Templates - 顯示模板 - - - Ignore Folder - 忽略資料夾 - - - GUI Trace - GUI 追蹤 - - - Key Trace - 機碼追蹤 - - - Tracing - 追蹤 - - - Appearance - 外觀 - - - Add sandboxed processes to job objects (recommended) - 新增沙盤化處理程序至工作物件(建議) - - - Remove Program - 刪除程式 - - - You can exclude folders and file types (or file extensions) from Immediate Recovery. - 您可從快速恢復中排除資料夾和檔案類別 (或副檔名) 。 - - - Run Menu - 執行選單 - - - App Templates - 應用程式模板 - - - Remove User - 刪除使用者 - - - Ignore Extension - 忽略副檔名 - - - Move Down - 下移 - - - Protect this sandbox from deletion or emptying - 保護此沙盤以防止被刪除或清空 - - - 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. - 新增使用者賬戶和使用者群組至下列清單中來僅限這些賬戶使用沙盤。如果清單內容為空,所有賬戶都將可以使用沙盤。 - -注意: 沙盤的強制執行程式和強制執行資料夾設定不接受不能執行沙盤的賬戶。 - - - * Note: Programs installed to this sandbox won't be able to start at all. - * 注意: 安裝至此沙盤裡的程式將完全無法啟動。 - - - This list contains a large amount of sandbox compatibility enhancing templates - 此清單包含大量沙盤相容性增強模板 - - - Add Lingering Program - 新增駐留程式 - - - Program Groups - 程式群組 - - - Issue message 1308 when a program fails to start - 當程式啟動失敗時提示錯誤代碼 1308 - - - Resource Access - 資源訪問 - - - Advanced Options - 進階選項 - - - Hide host processes from processes running in the sandbox. - 隱藏沙盤中執行中處理程序的主處理程序。 - - - File Migration - 檔案轉移 - - - Auto delete content when last sandboxed process terminates - 當最後的沙盤化的處理程序終止後自動刪除內容 - - - Add COM Object - 新增 COM 物件 - - - You can configure custom entries for the sandbox run menu. - 您可為沙盤執行選單配置自訂條目。 - - - Start Restrictions - 啟動限制 - - - Force usage of custom dummy Manifest files (legacy behaviour) - 強制使用自訂虛擬 Manifest 檔案(遺留行為) - - - Edit ini Section - 編輯 ini 選項 - - - Block access to the printer spooler - 阻止訪問列印服務 - - - Allow the print spooler to print to files outside the sandbox - 允許列印服務在沙盤外列印檔案 - - - Printing - 列印 - - - Remove spooler restriction, printers can be installed outside the sandbox - 移除列印限制,印表機可安裝至沙盤外 - - - Add program - 新增程式 - - - Auto Start - 自動啟動 - - - Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated - 這裡您可以指定將在沙盤啟用時自動啟動的程式或服務 - - - Add service - 新增服務 - - - Do not start sandboxed services using a system token (recommended) - 不啟動使用系統令牌的沙盤化服務 (建議) - - - Allow access to Smart Cards - 允許訪問智慧卡片 - - - Lift security restrictions - 提升安全限制 - - - Sandbox isolation - 沙盤隔離 - - - Auto Exec - 自動執行 - - - Here you can specify a list of commands that are executed every time the sandbox is initially populated. - 此處您可以指定每次沙盤啟動時將被執行的命令清單。 - - - 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 "*". - 將驅動程式所見所有訪問事件記錄至資源訪問日誌中。 - -這些選項將設定事件標記至 "*" - 所有訪問事件 -您可在 ini 中自訂日誌,通過指定 -"A" - 已允許的訪問 -"D" - 已拒絕的訪問 -"I" - 已忽略的訪問請求 -替代 "*". - - - Allow access to Bluetooth - 允許訪問藍牙 - - - - PopUpWindow - - SandboxiePlus Notifications - SandboxiePlus 通知 - - - - QObject - - Drive %1 - 磁碟 %1 - - - - QPlatformTheme - - OK - 確定 - - - Apply - 套用 - - - Cancel - 取消 - - - &Yes - &是 - - - &No - &否 - - - - RecoveryWindow - - Close - 關閉 - - - SandboxiePlus Settings - SandboxiePlus 設定 - - - Add Folder - 新增資料夾 - - - Recover to - 恢復至 - - - Recover - 恢復 - - - Refresh - 重新整理 - - - Delete all - 刪除全部 - - - Show All Files - 顯示所有檔案 - - - TextLabel - 文字標籤 - - - SandboxiePlus - Recovery - SandboxiePlus - 恢復 - - - - SettingsWindow - - Name - 名稱 - - - Path - 路徑 - - - Change Password - 更改密碼 - - - Clear password when main window becomes hidden - 主視窗隱藏時清除密碼 - - - SandboxiePlus Settings - SandboxiePlus 設定 - - - Password must be entered in order to make changes - 必須輸入密碼以進行更改 - - - Check periodically for updates of Sandboxie-Plus - 定期檢查 Sandboxie-Plus 的更新 - - - General Options - 一般選項 - - - Program Restrictions - 程式限制 - - - Restart required (!) - 需要重新啟動 (!) - - - Tray options - 工作列選項 - - - Use Dark Theme - 使用暗色主題 - - - Enable - 啟用 - - - Add Folder - 新增資料夾 - - - Only Administrator user accounts can make changes - 僅限管理員賬戶進行更改 - - - Config protection - 配置保護 - - - Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: - 沙盤 <a href="sbie://docs/keyrootpath">登錄檔根目錄</a>: - - - Add Program - 新增程式 - - - 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 在您系統中檢測到下列軟體程式. 點選 OK 接受配置設定,將增強這些軟體程式的相容性。這些配置設定將影響所有已存在的沙盤和之後建立的新沙盤。 - - - Watch Sandboxie.ini for changes - 追蹤 Sandboxie.ini 變更 - - - Show Sys-Tray - 在系統工具列顯示 - - - Open urls from this ui sandboxed - 沙盤化從此 UI 開啟的連結 - - - In the future, don't check software compatibility - 以後不再檢查軟體相容性 - - - Disable - 禁用 - - - When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301. - 當下列程式在任意沙盤之外啟動時,Sandboxie 將提示錯誤代碼 SBIE1301。 - - - Remove Program - 刪除程式 - - - Software Compatibility - 軟體相容性 - - - On main window close: - 主窗體關閉時: - - - Add 'Run Sandboxed' to the explorer context menu - 在檔案總管新增'在沙盤中執行' - - - Issue message 1308 when a program fails to start - 當程式啟動失敗時提示錯誤代碼 1308 - - - Sandbox default - 沙盤預設 - - - Separate user folders - 獨立使用者資料夾 - - - Advanced Options - 進階選項 - - - Prevent the listed programs from starting on this system - 阻止清單中程式在此系統中啟動 - - - Only Administrator user accounts can use Disable Forced Programs command - 僅管理員賬戶可使用禁用強制執行程式命令 - - - Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: - 沙盤 <a href="sbie://docs/ipcrootpath">IPC 根目錄</a>: - - - Show Notifications for relevant log Messages - 顯示相關日誌訊息的通知 - - - Sandbox <a href="sbie://docs/filerootpath">file system root</a>: - 沙盤 <a href="sbie://docs/filerootpath">檔案系統根目錄</a>: - - - Portable root folder - 便攜化根目錄 - - - Start UI with Windows - 開機啟動 UI - - - Start UI when a sandboxed process is started - 當有沙盤化處理程序啟動時開啟 UI - - - Show first recovery window when emptying sandboxes - 當清空沙盤時顯示第一個恢復視窗 - - - ... - ... - - - Other settings - 其他設定 - - - - SnapshotsWindow - - Name: - 名稱: - - - Remove Snapshot - 刪除快照 - - - SandboxiePlus Settings - SandboxiePlus 設定 - - - Description: - 說明: - - - Go to Snapshot - 進入快照 - - - Take Snapshot - 抓取快照 - - - Selected Snapshot Details - 所選快照內容 - - - Snapshot Actions - 快照行為 - - - SandboxiePlus - Snapshots - SandboxiePlus - 快照 - - - +Full path: %4 + + + + + CRecoveryWindow + + File Name + 檔案名稱 + + + File Size + 檔案大小 + + + Full Path + 詳細路徑 + + + Select Directory + 選取取目錄 + + + %1 - File Recovery + %1 - 檔案恢復 + + + 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. + 一個或多個被選取的檔案位於網路共享,並且必須恢復到本地磁碟,請選取用於恢復所選檔案的資料夾。 + + + There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space. + 有 %1 檔案和 %2 資料夾位於沙盤中,佔用磁碟 %3 位元組。 + + + + CResMonModel + + Type + 類別 + + + Value + + + + Status + 狀態 + + + Time Stamp + 時間標記 + + + Process + 處理程序 + + + Unknown + 未知 + + + + CSandBoxPlus + + No Admin + 無管理員 + + + No INet + 無 INet + + + Normal + 標準 + + + API Log + API 日誌 + + + Net Share + 網路共享 + + + NOT SECURE (Debug Config) + 不安全(除錯配置) + + + Enhanced Isolation + 增強隔離 + + + Reduced Isolation + 弱化隔離 + + + Disabled + 禁用 + + + Empty + + + + + CSandMan + + Exit + 退出 + + + <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>新版本 Sandboxie-Plus 將被下載到:</p><p><a href="%2">%1</a></p><p>您想要開始安裝嗎?正在沙盤化運作的其他程式將會被終止。</p> + + + Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges. + Sandboxie-Plus 已於便攜模式中啟動,需建立必要的服務。將會提示管理員授權。 + + + Cleanup Processes + 清理處理程序 + + + Maintenance operation %1 + 維護作業 %1 + + + &Help + &幫助 + + + &View + &檢視 + + + Error deleting sandbox folder: %1 + 刪除沙盤資料夾錯誤: %1 + + + About Sandboxie-Plus + 關於 Sandboxie-Plus + + + Driver version: %1 + 驅動程式版本: %1 + + + Sandboxie-Plus v%1 + Sandboxie-Plus v%1 + + + Start Driver + 啟動驅動程式 + + + Install Driver + 安裝驅動程式 + + + Uninstall Driver + 解除安裝驅動程式 + + + Check for Updates + 檢查更新 + + + Visit Support Forum + 支援論壇 + + + Failed to copy configuration from sandbox %1: %2 + 複製沙盤配置 %1: %2 失敗 + + + Do you want to check if there is a new version of Sandboxie-Plus? + 你想要檢查 Sandboxie-Plus 是否存在新版本嗎? + + + Cleanup Api Call Log + 清理 API 呼叫日誌 + + + Simple View + 簡易檢視 + + + %1 (%2): + %1 (%2): + + + Login Failed: %1 + 登入失敗: %1 + + + Clean Up + 清理 + + + Don't show this message again. + 不再顯示此訊息。 + + + Uninstall Service + 解除安裝服務 + + + Start Service + 啟動服務 + + + Install Service + 安裝服務 + + + Failed to remove old snapshot directory '%1' + 刪除舊版快照目錄 '%1' 失敗 + + + The changes will be applied automatically as soon as the editor is closed. + 變更將在編輯器關閉後自動提交。 + + + Can't remove a snapshot that is shared by multiple later snapshots + 無法刪除由多個後續快照共享的快照 + + + Do you want to close Sandboxie Manager? + 您確定要關閉 Sandboxie 管理員? + + + Support Sandboxie-Plus with a Donation + 捐贈支持 Sandboxie-Plus + + + Unknown Error Status: %1 + 未知錯誤程式碼: %1 + + + Failed to create directory for new snapshot + 建立新的快照目錄失敗 + + + Sandboxie-Plus was running in portable mode, now it has to clean up the created services. This will prompt for administrative privileges. + Sandboxie-Plus 正運作於便攜模式中,現在將清理所建立的服務。將會提示管理員授權。 + + + - Portable + - 便攜 + + + Failed to download update from: %1 + 在: %1 下載更新失敗 + + + Api Call Log + API 呼叫日誌 + + + The sandbox name can not be longer than 32 characters. + 沙盤名稱不能超過32個字元。 + + + Stop Driver + 停止驅動程式 + + + Don't show this announcement in the future. + 此後不再顯示此通告。 + + + Sbie Messages + Sbie 訊息 + + + Failed to recover some files: + + 恢復某些檔案失敗: + + + + Failed to move directory '%1' to '%2' + 移動目錄 '%1' 至 '%2' 失敗 + + + Recovering file %1 to %2 + 恢復檔案 %1 至 %2 + + + Resource Logging + 資源日誌 + + + Online Documentation + 線上文件 + + + Ignore this update, notify me about the next one. + 忽略此升級,下一個再提示我。 + + + Please enter the duration for disabling forced programs. + 請輸入禁用強制執行程式的時間。 + + + Sbie Directory: %1 + Sbie 目錄: %1 + + + - NOT connected + - 未連線 + + + <p>Do you want to download the latest version?</p> + <p>確定要下載最新版本嗎?</p> + + + Sandboxie-Plus - Error + Sandboxie-Plus - 錯誤 + + + The changes will be applied automatically whenever the file gets saved. + 每當檔案儲存後更改將自動套用。 + + + Time|Message + 時間|訊息 + + + &Options + &選項 + + + Show/Hide + 顯示/隱藏 + + + Resource Monitor + 資源監控 + + + Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser? + 確定要在沙盤化 (是) 未沙盤化 (否) 的瀏覽器中開啟 %1 嗎? + + + Reset all hidden messages + 重置所有隱藏訊息 + + + A sandbox must be emptied before it can be deleted. + 刪除沙盤之前必須清空。 + + + The sandbox name can contain only letters, digits and underscores which are displayed as spaces. + 沙盤名稱不能為空白,只能包含字母、數字和下劃線。 + + + A sandbox must be emptied before it can be renamed. + 重新命名沙盤之前必須將其清空。 + + + API Call Logging + API 呼叫日誌 + + + Loaded Config: %1 + 載入的配置: %1 + + + Reload ini file + 重新載入 ini 檔案 + + + Remember choice for later. + 以後記住選擇。 + + + &Maintenance + &維護 + + + The sandbox name can not be a device name. + 沙盤名稱不能為裝置名稱。 + + + Operation failed for %1 item(s). + %1 項作業失敗。 + + + Global Settings + 全域性設定 + + + Downloading new version... + 下載新版本... + + + &Sandbox + &沙盤 + + + <h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> + <h3>關於 Sandboxie-Plus</h3><p>版本 %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p> + + + Cleanup + 清理 + + + Failed to check for updates, error: %1 + 檢查更新失敗,錯誤: %1 + + + Disconnect + 斷開連線 + + + Connect + 連線 + + + Only Administrators can change the config. + 僅限管理員可更改配置。 + + + Disable Forced Programs + 禁用強制執行程式 + + + Snapshot not found + 未發現快照 + + + Failed to remove old RegHive + 刪除舊版登錄檔項目失敗 + + + Stop All + 停止所有 + + + Can't find Sandboxie installation path. + 無法找到 Sandboxie 安裝路徑。 + + + Delete protection is enabled for the sandbox + 沙盤的刪除保護被已啟用 + + + &Advanced + &進階 + + + An incompatible Sandboxie %1 was found. Compatible versions: %2 + 已發現不相容的 Sandboxie %1。相容版本為: %2 + + + Administrator rights are required for this operation. + 此作業需要管理員授權。 + + + Executing maintenance operation, please wait... + 執行維護作業,請稍等... + + + <p>There is a new version of Sandboxie-Plus available.<br /><font color='red'>New version:</font> <b>%1</b></p> + <p>有新版本 Sandboxie-Plus 可用。<br /><font color='red'>新版本:</font> <b>%1</b></p> + + + Stop Service + 停止服務 + + + Create New Box + 建立新沙盤 + + + Failed to copy RegHive + 複製登錄檔項目失敗 + + + Failed to terminate all processes + 終止所有處理程序失敗 + + + Advanced View + 進階檢視 + + + Failed to delete sandbox %1: %2 + 刪除沙盤 %1: %2 失敗 + + + <p>Do you want to go to the <a href="%1">download page</a>?</p> + <p>確定要開啟 <a href="%1">下載頁面</a>?</p> + + + Maintenance operation Successful + 維護作業成功 + + + PID %1: + PID %1: + + + Error Status: %1 + 錯誤程式碼: %1 + + + Terminate All Processes + 終止所有處理程序 + + + Please enter the configuration password. + 請輸入配置密碼。 + + + Do you also want to reset hidden message boxes (yes), or only all log messages (no)? + 你是否要重置已隱藏訊息視窗 (是) ,或僅用於所有日誌訊息 (否)? + + + You are not authorized to update configuration in section '%1' + 您無權在此處更新配置 '%1' + + + Failed to connect to the driver + 連線驅動程式失敗 + + + Failed to communicate with Sandboxie Service: %1 + 無法與 Sandboxie 服務取得聯絡: %1 + + + Failed to execute: %1 + 執行失敗: %1 + + + This Snapshot operation can not be performed while processes are still running in the box. + 因處理程序正在沙盤中運作,此快照操作無法完成。 + + + server not reachable + 伺服器無法訪問 + + + Error merging snapshot directories '%1' with '%2', the snapshot has not been fully merged. + 合併快照目錄 '%1' 和 '%2' 錯誤,快照沒有被完全合併。 + + + Edit ini file + 編輯 ini 檔案 + + + Checking for updates... + 檢查更新... + + + No sandboxes found; creating: %1 + 未找到沙盤;建立: %1 + + + Cleanup Resource Log + 清理資源日誌 + + + Cleanup Message Log + 清理訊息日誌 + + + About the Qt Framework + 關於 Qt 框架 + + + Keep terminated + 保持終止 + + + A sandbox of the name %1 already exists + 沙盤名稱 %1 已存在 + + + Failed to set configuration setting %1 in section %2: %3 + 配置設定 %1 失敗於 %2: %3 + + + Copy Cell + 複製單元格 + + + Copy Row + 複製列 + + + Copy Panel + 複製表格 + + + Failed to stop all Sandboxie components + 停止所有 Sandboxie 元件失敗 + + + Failed to start required Sandboxie components + 啟動所需 Sandboxie 元件失敗 + + + Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory? + Sandboxie-Plus 於便攜模式中啟動,您想將沙盤目錄放到它的上級目錄嗎? + + + The file %1 already exists, do you want to overwrite it? + 檔案 %1 已存在,您確定要覆蓋它嗎? + + + Do this for all files! + 為所有檔案執行此操作! + + + To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes. +Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project. + 要使用 API 記錄日誌首先必須從 https://github.com/sandboxie-plus/LogApiDll 下載 LogApiDll,並為一個或更多沙盤設定。 +請下載最新發布版本,並使用 sandboxie.ini 安裝,更多內容請參考 README.md 中此項目的說明。 + + + No new updates found, your Sandboxie-Plus is up-to-date. + 無可用更新,您的 Sandboxie-Plus 已為最新 + + + <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 是著名程式 Sandboxie 的開源延續。</p><p></p><p>訪問 <a href="https://sandboxie-plus.com">sandboxie-plus.com</a> 以取得更多資訊。</p><p></p><p></p><p></p><p>圖示來自 <a href="https://icons8.com">icons8.com</a></p><p></p> + + + Always on Top + 保持視窗置頂 + + + Sellect box: + 選取沙盤: + + + Some compatybility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? + 一些相容性模板 (%1) 丟失,可能已被刪除,您確定要從所有沙盤中刪除它們嗎? + + + Cleaned up removed templates... + 清理已刪除的模板... + + + Can not create snapshot of an empty sandbox + 無法為空白沙盤建立快照 + + + A sandbox with that name already exists + 已存在同名沙盤 + + + Reset Columns + 重設欄 + + + Window Finder + 尋找視窗 + + + Show Hidden Boxes + 顯示隱藏沙盤 + + + Select box: + 選取沙盤: + + + Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes? + 一些相容性模板已丟失,可能是已被刪除,是否從所有沙盤中移除它們? + + + Do you want to terminate all processes in all sandboxes? + 是否終止所有沙盤中的所有處理程式? + + + Terminate all without asking + 終止全部並不再詢問 + + + The selected window is running as part of program %1 in sandbox %2 + 所選取的視窗正作為沙盤 %2 中的程式 %1 運作 + + + The selected window is not running as part of any sandboxed program. + 所選取的視窗並不屬於任何沙盤化程式。 + + + Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed. + 托拽尋找工具至一個視窗上以選取它,然後釋放滑鼠以檢查其是否已被沙盤化。 + + + Sandboxie-Plus - Window Finder + Sandboxie-Plus - 尋找視窗 + + + Default sandbox not found; creating: %1 + 未找到預設沙盤; 建立中: %1 + + + <p>Do you want to go to the <a href="%1">info page</a>?</p> + <p>你是否想要前往 <a href="%1">資訊頁面</a>?</p> + + + Don't show this message anymore. + 不再顯示此訊息。 + + + Cleanup Trace Log + + + + + CSbieModel + + Name + 名稱 + + + Box Groupe + 沙盤群組 + + + Status + 狀態 + + + Path / Command Line + 路徑 / 命令列 + + + Start Time + 開始時間 + + + Process ID + 處理程序 ID + + + Title + 標題 + + + + CSbieProcess + + Terminated + 已終止 + + + Running + 運作中 + + + + CSbieView + + Run + 執行 + + + Create Shortcut to sandbox %1 + 為沙盤 %1 建立捷徑 + + + Options: + + 選項: + + + + Drop Admin Rights + 撤銷管理員授權 + + + Run eMail Client + 執行郵件用戶端 + + + Remove Group + 刪除群組 + + + Sandbox Options + 沙盤選項 + + + Sandbox Presets + 沙盤預設 + + + Do you want to %1 the selected process(es) + 確定要 %1 所選處理程序 + + + Move to Group + 移動至群組 + + + Remove Sandbox + 刪除沙盤 + + + Rename Sandbox + 重新命名沙盤 + + + Run from Start Menu + 從開始選單執行 + + + Preset + 預設 + + + Please enter a new group name + 請輸入新的群組名稱 + + + Enable API Call logging + 啟用 API 呼叫日誌 + + + [None] + [無] + + + Please enter a new name for the Sandbox. + 請為沙盤輸入新名稱 + + + Add Group + 新增群組 + + + Delete Content + 刪除內容 + + + Create Shortcut + 建立捷徑 + + + Do you really want to remove the selected sandbox(es)? + 確定要刪除所選沙盤嗎? + + + Run Program + 執行程式 + + + IPC root: %1 + + IPC 根目錄: %1 + + + + Block and Terminate + 阻止並終止 + + + Registry root: %1 + + 登錄檔根目錄: %1 + + + + File root: %1 + + 檔案根目錄: %1 + + + + Terminate + 終止 + + + Set Leader Process + 設定導引處理程序 + + + Terminate All Programs + 終止所有程式 + + + Do you really want to remove the selected group(s)? + 確定要刪除所選群組嗎? + + + Run Web Browser + 執行網頁瀏覽器 + + + Force into this sandbox + 強制加入此沙盤 + + + Allow Network Shares + 允許網路共享 + + + Run Cmd.exe + 執行 Cmd.exe + + + Snapshots Manager + 快照管理 + + + Run Explorer + 執行檔案總管 + + + Block Internet Access + 禁止網路訪問 + + + Set Linger Process + 設定駐留處理程序 + + + Create New Box + 建立新沙盤 + + + Pin to Run Menu + 固定到執行選單 + + + Recover Files + 恢復檔案 + + + This box does not have Internet restrictions in place, do you want to enable them? + 此沙盤無網際網路限制,確定要啟用它們嗎? + + + Explore Content + 瀏覽內容 + + + Allow internet access + 允許網路訪問 + + + Don't show this message again. + 不再顯示此訊息 + + + This Sandbox is already empty. + 此沙盤為空。 + + + Do you want to delete the content of the selected sandbox? + 您確定要刪除所選沙盤的內容? + + + Do you really want to delete the content of multiple sandboxes? + 您確定要刪除多個沙盤的內容? + + + Do you want to terminate all processes in the selected sandbox(es)? + 您確定要終止選定沙盤中的所有處理程序? + + + This sandbox is disabled, do you want to enable it? + 此沙盤已禁用,是否啟用? + + + This Sandbox is empty. + 此沙盤為空。 + + + A group can not be its own parent. + 群組不能作為其本身的上級群組。 + + + Run Cmd.exe as Admin + + + + + CSettingsWindow + + Close + 關閉 + + + Please enter the new configuration password. + 請輸入新配置密碼。 + + + Close to Tray + 關閉到工作列 + + + Select Directory + 選取目錄 + + + Please enter a program file name + 請輸入程式檔名 + + + Folder + 資料夾 + + + Prompt before Close + 關閉前提示 + + + Process + 處理程序 + + + Sandboxie Plus - Settings + Sandboxie Plus - 設定 + + + Please re-enter the new configuration password. + 請再次輸入新配置密碼。 + + + Passwords did not match, please retry. + 密碼不正確,請重新輸入。 + + + Auto Detection + 自動偵測 + + + + CSnapshotsWindow + + Do you really want to delete the selected snapshot? + 確定要刪除所選快照? + + + New Snapshot + 新快照 + + + Snapshot + 快照 + + + Do you really want to switch the active snapshot? Doing so will delete the current state! + 確定要切換正在使用的快照?這樣做會刪除當前狀態! + + + %1 - Snapshots + %1 - 快照 + + + Please enter a name for the new Snapshot. + 請輸入新快照名稱。 + + + + NewBoxWindow + + Copy options from an existing box: + 從已有沙盤複製選項: + + + Initial sandbox configuration: + 初始沙盤配置: + + + Select restriction/isolation template: + 選取限制/隔離模板: + + + SandboxiePlus new box + SandboxiePlus 新沙盤 + + + Enter a name for the new box: + 輸入新沙盤名稱: + + + Sandbox Name: + 沙盤名稱: + + + + OptionsWindow + + Name + 名稱 + + + Path + 路徑 + + + Save + 儲存 + + + Type + 類別 + + + Allow only selected programs to start in this sandbox. * + 僅允許被選取的程式在此沙盤中啟動。 * + + + Force Folder + 強制執行資料夾 + + + Add IPC Path + 新增 IPC 位址 + + + Sandbox Indicator in title: + 在標題顯示沙盤標記: + + + Debug + 除錯 + + + Users + 使用者 + + + <- for this one the above does not apply + <- 啟用此選項後以上內容將不套用 + + + Block network files and folders, unless specifically opened. + 禁用網路檔案和資料夾,除非額外開啟。 + + + Command Line + 命令列 + + + Don't alter window class names created by sandboxed programs + 不要改變由沙盤程式建立的視窗類名 + + + Prevent change to network and firewall parameters + 阻止更改網路和防火牆引數 + + + Internet Restrictions + 網路限制 + + + 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. + 配置處理程序所訪問的資源。雙擊進入編輯。 +'管理' 檔案和機碼僅適用於沙盤外的程式二進位制檔案。 +注意所有關閉的...=!<程式>,... 例外也有相同限制。 +想要管理檔案訪問可使用 '管理全部' 使其套用至全部程式。 + + + Log Debug Output to the Trace Log + 記錄除錯輸出至追蹤日誌 + + + Forced Programs + 強制執行程式 + + + Add Wnd Class + 新增視窗類別 + + + Access Tracing + 訪問追蹤 + + + File Options + 檔案選項 + + + General Options + 通用選項 + + + Open Windows Credentials Store + 開啟 Windows 憑證儲存空間 + + + kilobytes + KB + + + 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. + 如果其他所有程式已經終止後,駐留程式仍在運作,將自動終止。 + +如果導引處理程序已確定,所有其他處理程序將被視為駐留處理程序。 + + + Allow all programs to start in this sandbox. + 允許所有程式在此沙盤中啟動。 + + + Enable Immediate Recovery prompt to be able to recover files as soon as thay are created. + 啟用快速恢復提示以便建立檔案時能儘快恢復。 + + + General restrictions + 通用限制 + + + Move Up + 上移 + + + Access + 訪問 + + + These options are intended for debugging compatibility issues, please do not use them in production use. + 這些選項是為除錯相容性問題而設計的,在日常使用時請不要開啟。 + + + Text Filter + 文字過濾 + + + Cancel + 取消 + + + Restrict Resource Access monitor to administrators only + 限制資源訪問監視器使其僅限管理員使用 + + + Protect the sandbox integrity itself + 沙盤完整性保護 + + + Add Folder + 新增資料夾 + + + Prompt user whether to allow an exemption from the blockade. + 提示使用者是否允許例外免於封鎖。 + + + IPC Trace + IPC 追蹤 + + + Limit access to the emulated service control manager to privileged processes + 限制訪問模擬服務控制管理員以提權處理程序 + + + Remove + 刪除 + + + Add File/Folder + 新增檔案/資料夾 + + + Block internet access for all programs except those added to the list. + 禁止所有程式訪問網路,除了已新增至清單中的。 + + + Issue message 1307 when a program is denied internet access + 當程式被拒絕訪問網路時提示錯誤代碼 1307 + + + Compatibility + 相容性 + + + Stop Behaviour + 停止行為 + + + Note: Programs installed to this sandbox won't be able to access the internet at all. + 注意: 安裝在此沙盤裡的程式將完全無法訪問網路。 + + + Box Options + 沙盤選項 + + + Don't allow sandboxed processes to see processes running in other boxes + 不允許沙盤化的處理程序檢視其他沙盤裡處理程序的運作 + + + Add Group + 新增群組 + + + Sandboxed window border: + 沙盤化視窗邊框: + + + Prevent selected programs from starting in this sandbox. + 阻止所選程式在此沙盤中啟動。 + + + Miscellaneous + 其他 + + + Issue message 2102 when a file is too large + 當檔案過大時提示錯誤代碼 2102 + + + File Recovery + 檔案恢復 + + + Box Delete options + 沙盤刪除選項 + + + Pipe Trace + Pipe 追蹤 + + + File Trace + 檔案追蹤 + + + Program + 程式 + + + Add Process + 新增處理程序 + + + Add Program + 新增程式 + + + Filter Categories + 篩選類別 + + + Copy file size limit: + 複製檔案大小限制: + + + Open System Protected Storage + 開放系統保護儲存空間 + + + Protect the system from sandboxed processes + 保護系統免受來自沙盤化處理程序的訪問 + + + Add Leader Program + 新增導引程式 + + + SandboxiePlus Options + SandboxiePlus 選項 + + + Category + 類別 + + + Drop rights from Administrators and Power Users groups + 撤銷管理員和超級使用者群組的授權 + + + Add Reg Key + 新增登錄檔機碼 + + + Sandbox protection + 沙盤保護 + + + 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. + 您可將程式分組並且為它們設定群組名稱。程式群組可以代替程式名稱被用於一些設定。 + + + Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes + 保護沙盤化系統處理程序免受來自未授權的未沙盤化處理程序訪問 + + + COM Class Trace + COM 元件追蹤 + + + Add Command + 新增命令 + + + Hide Processes + 隱藏處理程序 + + + When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. + 當快速恢復功能被啟用,將檢查下列資料夾沙盤化內容。 + + + px Width + 寬度像素 + + + Add User + 新增使用者 + + + Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox. + 此處輸入的程式,或指定位置啟動的程式,將自動加入此沙盤,除非它們被確定已在其他沙盤啟動。 + + + Force Program + 強制運作程式 + + + WARNING, these options can disable core security guarantees and break sandbox security!!! + 警告,這些選項可以使核心安全保障失效並且破壞沙盤安全!!! + + + Edit ini + 編輯 ini + + + Show Templates + 顯示模板 + + + Ignore Folder + 忽略資料夾 + + + GUI Trace + GUI 追蹤 + + + Key Trace + 機碼追蹤 + + + Tracing + 追蹤 + + + Appearance + 外觀 + + + Add sandboxed processes to job objects (recommended) + 新增沙盤化處理程序至工作物件(建議) + + + Remove Program + 刪除程式 + + + You can exclude folders and file types (or file extensions) from Immediate Recovery. + 您可從快速恢復中排除資料夾和檔案類別 (或副檔名) 。 + + + Run Menu + 執行選單 + + + App Templates + 應用程式模板 + + + Remove User + 刪除使用者 + + + Ignore Extension + 忽略副檔名 + + + Move Down + 下移 + + + Protect this sandbox from deletion or emptying + 保護此沙盤以防止被刪除或清空 + + + 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. + 新增使用者賬戶和使用者群組至下列清單中來僅限這些賬戶使用沙盤。如果清單內容為空,所有賬戶都將可以使用沙盤。 + +注意: 沙盤的強制執行程式和強制執行資料夾設定不接受不能執行沙盤的賬戶。 + + + * Note: Programs installed to this sandbox won't be able to start at all. + * 注意: 安裝至此沙盤裡的程式將完全無法啟動。 + + + This list contains a large amount of sandbox compatibility enhancing templates + 此清單包含大量沙盤相容性增強模板 + + + Add Lingering Program + 新增駐留程式 + + + Program Groups + 程式群組 + + + Issue message 1308 when a program fails to start + 當程式啟動失敗時提示錯誤代碼 1308 + + + Resource Access + 資源訪問 + + + Advanced Options + 進階選項 + + + Hide host processes from processes running in the sandbox. + 隱藏沙盤中執行中處理程序的主處理程序。 + + + File Migration + 檔案轉移 + + + Auto delete content when last sandboxed process terminates + 當最後的沙盤化的處理程序終止後自動刪除內容 + + + Add COM Object + 新增 COM 物件 + + + You can configure custom entries for the sandbox run menu. + 您可為沙盤執行選單配置自訂條目。 + + + Start Restrictions + 啟動限制 + + + Force usage of custom dummy Manifest files (legacy behaviour) + 強制使用自訂虛擬 Manifest 檔案(遺留行為) + + + Edit ini Section + 編輯 ini 選項 + + + Block access to the printer spooler + 阻止訪問列印服務 + + + Allow the print spooler to print to files outside the sandbox + 允許列印服務在沙盤外列印檔案 + + + Printing + 列印 + + + Remove spooler restriction, printers can be installed outside the sandbox + 移除列印限制,印表機可安裝至沙盤外 + + + Add program + 新增程式 + + + Auto Start + 自動啟動 + + + Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated + 這裡您可以指定將在沙盤啟用時自動啟動的程式或服務 + + + Add service + 新增服務 + + + Do not start sandboxed services using a system token (recommended) + 不啟動使用系統令牌的沙盤化服務 (建議) + + + Allow access to Smart Cards + 允許訪問智慧卡片 + + + Lift security restrictions + 提升安全限制 + + + Sandbox isolation + 沙盤隔離 + + + Auto Exec + 自動執行 + + + Here you can specify a list of commands that are executed every time the sandbox is initially populated. + 此處您可以指定每次沙盤啟動時將被執行的命令清單。 + + + 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 "*". + 將驅動程式所見所有訪問事件記錄至資源訪問日誌中。 + +這些選項將設定事件標記至 "*" - 所有訪問事件 +您可在 ini 中自訂日誌,通過指定 +"A" - 已允許的訪問 +"D" - 已拒絕的訪問 +"I" - 已忽略的訪問請求 +替代 "*". + + + Allow access to Bluetooth + 允許訪問藍牙 + + + Log all SetError's to Trace log + + + + + PopUpWindow + + SandboxiePlus Notifications + SandboxiePlus 通知 + + + + QObject + + Drive %1 + 磁碟 %1 + + + + QPlatformTheme + + OK + 確定 + + + Apply + 套用 + + + Cancel + 取消 + + + &Yes + &是 + + + &No + &否 + + + + RecoveryWindow + + Close + 關閉 + + + SandboxiePlus Settings + SandboxiePlus 設定 + + + Add Folder + 新增資料夾 + + + Recover to + 恢復至 + + + Recover + 恢復 + + + Refresh + 重新整理 + + + Delete all + 刪除全部 + + + Show All Files + 顯示所有檔案 + + + TextLabel + 文字標籤 + + + SandboxiePlus - Recovery + SandboxiePlus - 恢復 + + + + SettingsWindow + + Name + 名稱 + + + Path + 路徑 + + + Change Password + 更改密碼 + + + Clear password when main window becomes hidden + 主視窗隱藏時清除密碼 + + + SandboxiePlus Settings + SandboxiePlus 設定 + + + Password must be entered in order to make changes + 必須輸入密碼以進行更改 + + + Check periodically for updates of Sandboxie-Plus + 定期檢查 Sandboxie-Plus 的更新 + + + General Options + 一般選項 + + + Program Restrictions + 程式限制 + + + Restart required (!) + 需要重新啟動 (!) + + + Tray options + 工作列選項 + + + Use Dark Theme + 使用暗色主題 + + + Enable + 啟用 + + + Add Folder + 新增資料夾 + + + Only Administrator user accounts can make changes + 僅限管理員賬戶進行更改 + + + Config protection + 配置保護 + + + Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: + 沙盤 <a href="sbie://docs/keyrootpath">登錄檔根目錄</a>: + + + Add Program + 新增程式 + + + 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 在您系統中檢測到下列軟體程式. 點選 OK 接受配置設定,將增強這些軟體程式的相容性。這些配置設定將影響所有已存在的沙盤和之後建立的新沙盤。 + + + Watch Sandboxie.ini for changes + 追蹤 Sandboxie.ini 變更 + + + Show Sys-Tray + 在系統工具列顯示 + + + Open urls from this ui sandboxed + 沙盤化從此 UI 開啟的連結 + + + In the future, don't check software compatibility + 以後不再檢查軟體相容性 + + + Disable + 禁用 + + + When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301. + 當下列程式在任意沙盤之外啟動時,Sandboxie 將提示錯誤代碼 SBIE1301。 + + + Remove Program + 刪除程式 + + + Software Compatibility + 軟體相容性 + + + On main window close: + 主窗體關閉時: + + + Add 'Run Sandboxed' to the explorer context menu + 在檔案總管新增'在沙盤中執行' + + + Issue message 1308 when a program fails to start + 當程式啟動失敗時提示錯誤代碼 1308 + + + Sandbox default + 沙盤預設 + + + Separate user folders + 獨立使用者資料夾 + + + Advanced Options + 進階選項 + + + Prevent the listed programs from starting on this system + 阻止清單中程式在此系統中啟動 + + + Only Administrator user accounts can use Disable Forced Programs command + 僅管理員賬戶可使用禁用強制執行程式命令 + + + Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: + 沙盤 <a href="sbie://docs/ipcrootpath">IPC 根目錄</a>: + + + Show Notifications for relevant log Messages + 顯示相關日誌訊息的通知 + + + Sandbox <a href="sbie://docs/filerootpath">file system root</a>: + 沙盤 <a href="sbie://docs/filerootpath">檔案系統根目錄</a>: + + + Portable root folder + 便攜化根目錄 + + + Start UI with Windows + 開機啟動 UI + + + Start UI when a sandboxed process is started + 當有沙盤化處理程序啟動時開啟 UI + + + Show first recovery window when emptying sandboxes + 當清空沙盤時顯示第一個恢復視窗 + + + ... + ... + + + Other settings + 其他設定 + + + + SnapshotsWindow + + Name: + 名稱: + + + Remove Snapshot + 刪除快照 + + + SandboxiePlus Settings + SandboxiePlus 設定 + + + Description: + 說明: + + + Go to Snapshot + 進入快照 + + + Take Snapshot + 抓取快照 + + + Selected Snapshot Details + 所選快照內容 + + + Snapshot Actions + 快照行為 + + + SandboxiePlus - Snapshots + SandboxiePlus - 快照 + + + diff --git a/SandboxiePlus/version.h b/SandboxiePlus/version.h index db6cb0c7..0279f133 100644 --- a/SandboxiePlus/version.h +++ b/SandboxiePlus/version.h @@ -1,8 +1,8 @@ #pragma once #define VERSION_MJR 0 -#define VERSION_MIN 6 -#define VERSION_REV 7 +#define VERSION_MIN 7 +#define VERSION_REV 0 #define VERSION_UPD 0 #ifndef STR From 49254e4497cd7a5859dedc150acd8c7566ed1e70 Mon Sep 17 00:00:00 2001 From: DavidXanatos Date: Sun, 14 Feb 2021 20:26:33 +0100 Subject: [PATCH 27/30] Build 0.7.0 --- SandboxiePlus/QSbieAPI/QSbieAPI.pri | 2 ++ SandboxiePlus/SandMan/SandMan.pri | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/SandboxiePlus/QSbieAPI/QSbieAPI.pri b/SandboxiePlus/QSbieAPI/QSbieAPI.pri index 108f47d5..8bf6d33a 100644 --- a/SandboxiePlus/QSbieAPI/QSbieAPI.pri +++ b/SandboxiePlus/QSbieAPI/QSbieAPI.pri @@ -9,6 +9,7 @@ HEADERS += ./qsbieapi_global.h \ ./SbieDefs.h \ ./SbieUtils.h \ ./SbieAPI.h \ + ./SbieTrace.h \ ./SbieStatus.h \ ./Sandboxie/BoxedProcess.h \ ./Sandboxie/SandBox.h \ @@ -19,6 +20,7 @@ HEADERS += ./qsbieapi_global.h \ SOURCES += ./stdafx.cpp \ ./SbieAPI.cpp \ + ./SbieTrace.cpp \ ./SbieUtils.cpp \ ./Sandboxie/BoxBorder.cpp \ ./Sandboxie/BoxedProcess.cpp \ diff --git a/SandboxiePlus/SandMan/SandMan.pri b/SandboxiePlus/SandMan/SandMan.pri index 8fdd8514..b1c8e58d 100644 --- a/SandboxiePlus/SandMan/SandMan.pri +++ b/SandboxiePlus/SandMan/SandMan.pri @@ -5,11 +5,9 @@ HEADERS += ./stdafx.h \ ./SandMan.h \ - ./ApiLog.h \ ./SbiePlusAPI.h \ ./Models/SbieModel.h \ ./Models/ResMonModel.h \ - ./Models/ApiMonModel.h \ ./Views/SbieView.h \ ./Dialogs/MultiErrorDialog.h \ ./Helpers/FindTool.h \ @@ -23,10 +21,8 @@ HEADERS += ./stdafx.h \ SOURCES += ./main.cpp \ ./stdafx.cpp \ - ./ApiLog.cpp \ ./SandMan.cpp \ ./SbiePlusAPI.cpp \ - ./Models/ApiMonModel.cpp \ ./Models/ResMonModel.cpp \ ./Models/SbieModel.cpp \ ./Views/SbieView.cpp \ From 6b18a25b4a8c49f03699f18a70d4e02f7d897cc8 Mon Sep 17 00:00:00 2001 From: DavidXanatos Date: Sun, 14 Feb 2021 20:34:13 +0100 Subject: [PATCH 28/30] --- SandboxiePlus/SandMan/SandMan.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SandboxiePlus/SandMan/SandMan.h b/SandboxiePlus/SandMan/SandMan.h index 683f0bc8..1f96ae94 100644 --- a/SandboxiePlus/SandMan/SandMan.h +++ b/SandboxiePlus/SandMan/SandMan.h @@ -12,7 +12,7 @@ #include #include "Windows/PopUpWindow.h" -#include "version.h" +#include "../version.h" //#include "../QSbieAPI/SbieAPI.h" From 3020ae8766a75978953d242eebca186a4ebcc2b0 Mon Sep 17 00:00:00 2001 From: DavidXanatos Date: Mon, 15 Feb 2021 08:58:42 +0100 Subject: [PATCH 29/30] --- SandboxiePlus/QSbieAPI/SbieAPI.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SandboxiePlus/QSbieAPI/SbieAPI.cpp b/SandboxiePlus/QSbieAPI/SbieAPI.cpp index 9481c821..a9281916 100644 --- a/SandboxiePlus/QSbieAPI/SbieAPI.cpp +++ b/SandboxiePlus/QSbieAPI/SbieAPI.cpp @@ -282,7 +282,7 @@ SB_STATUS CSbieAPI::Connect(bool withQueue) #ifndef _DEBUG // Note: this lib is not using all functions hence it can be compatible with multiple driver ABI revisions - QStringList CompatVersions = QStringList () << "5.45.0" << "5.46.0"; + QStringList CompatVersions = QStringList () << "5.48.0"; QString CurVersion = GetVersion(); if (!CompatVersions.contains(CurVersion)) { From 4f96b8019ec2d4e2b335f70df86f692006d7452d Mon Sep 17 00:00:00 2001 From: NewKidOnTheBlock Date: Mon, 15 Feb 2021 12:56:36 +0100 Subject: [PATCH 30/30] Update Changelog 5.48.0 --- CHANGELOG.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82b097fc..bd0f1dc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,24 +16,24 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added - sandboxed indicator for tray icons, the tooltip now contains [#] if enabled - the trace log buffer can now be adjusted with "TraceBufferPages=2560" --- the value denotes the count of 4k large pages to be used, here for a total of 10 MB -- new functionality to the list finder +-- the value denotes the count of 4K large pages to be used; here for a total of 10 MB +- new functionality for the list finder ### Changed - improved RPC debugging -- improved IPC handling around RpcMgmtSetComTimeout, "RpcMgmtSetComTimeout=n" is now the default behavioure --- required exceptions have been hard coded for specific calling dll's -- the LogApi dll is now using Sbies tracing facility to logg events instead of an own pipe server +- improved IPC handling around RpcMgmtSetComTimeout; "RpcMgmtSetComTimeout=n" is now the default behaviour +-- required exceptions have been hard-coded for specific calling DLLs +- the LogApi dll is now using Sbie's tracing facility to log events instead of its own pipe server ### Fixed - FIXED SECURITY ISSUE: elevated sandboxed processes could access volumes/disks for reading (thanks hg421) - 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 a elevated rights handle to a process (thanks typpos) +- FIXED SECURITY ISSUE: a race condition in the driver allowed to obtain an elevated rights handle to a process (thanks typpos) - FIXED SECURITY ISSUE: "\RPC Control\samss lpc" is now filtered by the driver (thanks hg421) --- this allowed elevated processes to change passwords, delete users and alike, to disable filtering use "OpenSamEndpoint=y" +-- this allowed elevated processes to change passwords, delete users and alike; to disable filtering use "OpenSamEndpoint=y" - FIXED SECURITY ISSUE: "\Device\DeviceApi\CMApi" is now filtered by the driver (thanks hg421) --- this allowed elevated processes to change hardware configuration, to disable filtering use "OpenDevCMApi=y" +-- this allowed elevated processes to change hardware configuration; to disable filtering use "OpenDevCMApi=y"