git add --renormalize .

This commit is contained in:
isaak654 2021-10-17 21:05:50 +02:00
parent 404354cb0e
commit 4128a74613
No known key found for this signature in database
GPG Key ID: 59D402040437EC44
49 changed files with 12144 additions and 12144 deletions

View File

@ -1,226 +1,226 @@
; English is default language and can be translated to any
; of the languages listed in the languages section.
; The translations can be added to the CustomMessages section.
; The content of this script will be included by Sandboxie-Plus.iss,
; so please edit with care.
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "ChineseSimplified"; MessagesFile: "isl\ChineseSimplified.isl"
Name: "ChineseTraditional"; MessagesFile: "isl\ChineseTraditional.isl"
Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "Italian"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
;Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"
;Name: "armenian"; MessagesFile: "compiler:Languages\Armenian.isl"
;Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
;Name: "bulgarian"; MessagesFile: "compiler:Languages\Bulgarian.isl"
;Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
;Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl"
;Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
;Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
;Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
;Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
;Name: "icelandic"; MessagesFile: "compiler:Languages\Icelandic.isl"
;Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
;Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
;Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl"
;Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
;Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
[CustomMessages]
; English
english.AddSandboxedMenu=Add "Run Sandboxed" to context menu
english.CustomPageLabel1=Select Installation Type
english.CustomPageLabel2=How should be installed
english.CustomPageLabel3=Choose the installation mode
english.CustomPageInstallMode=Install {#MyAppName} on this computer
english.CustomPageUpgradeMode=Update existing {#MyAppName} installation
english.CustomPagePortableMode=Extract all files to a directory for portable use
english.RequiresWin7OrLater=Sandboxie-Plus requires Windows 7 or later.
english.ClassicFound=Sandboxie Classic installation detected, it must be uninstalled first, do you want to uninstall it now?
english.RunSandboxedMenu=Run &Sandboxed
english.UninstallTaskLabel1=Select Uninstall Type
english.UninstallTaskLabel2=How would you like to uninstall Sandboxie-Plus?
english.UninstallTaskLabel3=&Keep configuration files and sandboxes%nThis is the most recommended option if you plan to reinstall Sandboxie-Plus while keeping your configuration files and sandboxes.
english.UninstallTaskLabel4=Remove &configuration files%nSelect this option to remove the Sandboxie.ini and Sandboxie-Plus.ini configuration files while keeping the sandboxes unchanged.
english.UninstallTaskLabel5=Remove configuration files and &sandboxes%nSelect this option to remove all configuration files and sandboxes, including the Sandbox folder located in custom paths with FileRootPath.
; Chinese Simplified
ChineseSimplified.AddSandboxedMenu=添加“在沙盘中运行”菜单
ChineseSimplified.CustomPageLabel1=选择安装方式
ChineseSimplified.CustomPageLabel2=应当如何安装
ChineseSimplified.CustomPageLabel3=选择安装模式
ChineseSimplified.CustomPageInstallMode=在这台计算机上安装 {#MyAppName}
ChineseSimplified.CustomPageUpgradeMode=更新当前已安装的 {#MyAppName}
ChineseSimplified.CustomPagePortableMode=提取全部文件到指定目录供便携化使用
ChineseSimplified.RequiresWin7OrLater=Sandboxie-Plus 需要 Windows 7 或更高版本。
ChineseSimplified.ClassicFound=检测到已安装 Sandboxie 原版,继续安装必须先将其卸载,是否开始卸载?
ChineseSimplified.RunSandboxedMenu=在沙盘中运行(&S)
ChineseSimplified.UninstallTaskLabel1=选择卸载方式
ChineseSimplified.UninstallTaskLabel2=您想卸载 Sandboxie-Plus 到什么程度?
ChineseSimplified.UninstallTaskLabel3=保留配置文件和所有沙盘(&K)%n如果您是打算重新安装 Sandboxie-Plus这是很好的选择不会丢失您的配置文件和沙盘。
ChineseSimplified.UninstallTaskLabel4=移除配置文件(&C)%n选择此选项将会移除 Sandboxie.ini 和 Sandboxie-Plus.ini 配置文件,但保留您的沙盘。
ChineseSimplified.UninstallTaskLabel5=移除配置文件和所有沙盘(&S)%n选择此选项将会移除所有配置文件和沙盘包括 FileRootPath 所定义的路径下的 Sandbox 文件夹。
; Chinese Traditional
ChineseTraditional.AddSandboxedMenu=加入「在沙箱中執行」選單
ChineseTraditional.CustomPageLabel1=選擇安裝方式
ChineseTraditional.CustomPageLabel2=應該如何安裝
ChineseTraditional.CustomPageLabel3=選擇安裝模式
ChineseTraditional.CustomPageInstallMode=在這台電腦上安裝 {#MyAppName}
ChineseTraditional.CustomPageUpgradeMode=更新目前已安裝的 {#MyAppName}
ChineseTraditional.CustomPagePortableMode=解壓縮所有檔案到指定目錄供便攜化使用
ChineseTraditional.RequiresWin7OrLater=Sandboxie-Plus 需要 Windows 7 或更高版本。
ChineseTraditional.ClassicFound=偵測到已安裝 Sandboxie 原版,要繼續安裝必須先將其移除,是否開始移除?
ChineseTraditional.RunSandboxedMenu=在沙箱中執行(&S)
ChineseTraditional.UninstallTaskLabel1=選擇移除類型
ChineseTraditional.UninstallTaskLabel2=要如何移除 Sandboxie-Plus
ChineseTraditional.UninstallTaskLabel3=保留設定檔和沙箱(&K)%n如果您打算保留設定檔和沙箱的同時並重新安裝 Sandboxie-Plus這是最推薦的選項。
ChineseTraditional.UninstallTaskLabel4=刪除設定檔案(&C)%n選擇此選項可刪除 Sandboxie.ini 和 Sandboxie-Plus.ini 設定檔,並完整保留沙箱。
ChineseTraditional.UninstallTaskLabel5=刪除設定檔和沙箱(&S)%n選擇此選項可刪除所有設定檔和沙箱包含位於 FileRootPath 自訂路徑中的 Sandbox 資料夾。
; Dutch
dutch.AddSandboxedMenu="In sandbox uitvoeren" aan contextmenu toevoegen
dutch.CustomPageLabel1=Installatietype selecteren
dutch.CustomPageLabel2=Hoe moet er geïnstalleerd worden
dutch.CustomPageLabel3=Installatiemodus kiezen
dutch.CustomPageInstallMode={#MyAppName} op deze computer installeren
dutch.CustomPageUpgradeMode=Bestaande installatie van {#MyAppName} bijwerken
dutch.CustomPagePortableMode=Alle bestanden naar een map uitpakken voor draagbaar gebruik
dutch.RequiresWin7OrLater=Sandboxie-Plus vereist Windows 7 of later.
dutch.ClassicFound=Installatie van Sandboxie Classic gedetecteerd. Het moet eerst verwijderd worden. Wilt u het nu verwijderen?
dutch.RunSandboxedMenu=In &sandbox uitvoeren
dutch.UninstallTaskLabel1=Type verwijdering selecteren
dutch.UninstallTaskLabel2=Hoe wilt u Sandboxie-Plus verwijderen?
dutch.UninstallTaskLabel3=Configuratiebestanden en sandboxen behouden%nDit is de aanbevolen optie als u Sandboxie-Plus opnieuw wilt installeren en uw configuratiebestanden en sandboxen wilt behouden.
dutch.UninstallTaskLabel4=Configuratiebestanden verwijderen%nSelecteer deze optie om de configuratiebestanden Sandboxie.ini en Sandboxie-Plus.ini wilt verwijderen en de sandboxen ongewijzigd wilt laten.
dutch.UninstallTaskLabel5=Configuratiebestanden en sandboxen verwijderen%nSelecteer deze optie om alle configuratiebestanden en sandboxen te verwijderen, inclusief de Sandbox-map die zich in aangepaste paden met FileRootPath bevindt.
; French
french.AddSandboxedMenu=Ajouter « Exécuter dans un bac à sable » au menu contextuel
french.CustomPageLabel1=Sélectionnez le type d'installation
french.CustomPageLabel2=Comment doit-on l'installer
french.CustomPageLabel3=Choisissez le mode d'installation
french.CustomPageInstallMode=Installer {#MyAppName} sur cet ordinateur
french.CustomPageUpgradeMode=Mettre à jour l'installation de {#MyAppName} existante
french.CustomPagePortableMode=Extraire tous les fichiers dans un répertoire pour une utilisation portable
french.RequiresWin7OrLater=Sandboxie-Plus nécessite Windows 7 ou une version ultérieure.
french.ClassicFound=Installation de Sandboxie Classic détectée, il doit être désinstallé d'abord, voulez-vous le désinstaller maintenant ?
french.RunSandboxedMenu=Exécuter dans un &bac à sable
french.UninstallTaskLabel1=Sélectionnez le type de désinstallation
french.UninstallTaskLabel2=Comment voulez-vous désinstaller Sandboxie-Plus ?
french.UninstallTaskLabel3=&Conserver les fichiers de configuration et les bacs à sable%nCette option est la plus recommandée si vous prévoyez de réinstaller Sandboxie-Plus tout en conservant vos fichiers de configuration et vos bacs à sable.
french.UninstallTaskLabel4=Supprimer les &fichiers de configuration%nSélectionnez cette option pour supprimer les fichiers de configuration « Sandboxie.ini » et « Sandboxie-Plus.ini » tout en conservant les bacs à sable inchangés.
french.UninstallTaskLabel5=Supprimer les fichiers de configuration et les &bacs à sable%nSélectionnez cette option pour supprimer tous les fichiers de configuration et les bacs à sable, y compris le dossier « Sandbox » situé dans les chemins personnalisés avec « FileRootPath ».
; German
german.AddSandboxedMenu=Füge "In Sandbox ausführen" zum Kontextmenü hinzu
german.CustomPageLabel1=Wählen Sie die Installationsart aus
german.CustomPageLabel2=Wie soll installiert werden
german.CustomPageLabel3=Wählen Sie die Installationsmethode
german.CustomPageInstallMode=Installiere {#MyAppName} auf diesem Computer
german.CustomPageUpgradeMode=Update der bestehenden {#MyAppName} Installation
german.CustomPagePortableMode=Extrahiere alle Dateien in einen Ordner zur tragbaren Verwendung
german.RequiresWin7OrLater=Sandboxie-Plus benötigt Windows 7 oder neuer.
german.ClassicFound=Sandboxie Classic Installation gefunden, welche vorher deinstalliert werden muss. Möchten Sie diese nun deinstallieren?
german.RunSandboxedMenu=In &Sandbox ausführen
german.UninstallTaskLabel1=Wählen Sie die De-Installationsart aus
german.UninstallTaskLabel2=Wie möchten Sie Sandboxie-Plus de-installieren?
german.UninstallTaskLabel3=&Konfiguration und Sandboxen behalten%nDies ist die empfohlene Option, wenn Sie vorhaben Sandboxie-Plus erneut zu intallieren, während Sandboxie-Plus alle Sandboxen und Konfigurationsdateien behält.
german.UninstallTaskLabel4=&Entferne die Konfiguration%nWählen Sie diese Option um die Sandboxie.ini und Sandboxie-Plus.ini Dateien zu entfernen, während die Sandboxen unverändert bleiben.
german.UninstallTaskLabel5=Entferne die Konfiguration und alle &Sandboxen%nWählen Sie diese Option um alle Konfigurationsdateien und alle Sandboxen, inklusive des Sandboxordners im, durch die Dateisystemquelle, benutzerdefinierten Pfad.
; Italian
Italian.AddSandboxedMenu=Aggiungi l'opzione "Avvia nell'area virtuale" al menu contestuale
Italian.CustomPageLabel1=Seleziona tipo di installazione
Italian.CustomPageLabel2=Come dovrebbe essere installato
Italian.CustomPageLabel3=Scegli la modalità di installazione
Italian.CustomPageInstallMode=Installa {#MyAppName} su questo computer
Italian.CustomPageUpgradeMode=Aggiorna l'installazione esistente di {#MyAppName}
Italian.CustomPagePortableMode=Estrai tutti i file in una directory per uso portabile
Italian.RequiresWin7OrLater=Sandboxie-Plus richiede Windows 7 o superiore.
Italian.ClassicFound=È stata rilevata una installazione di Sandboxie Classic che potrebbe causare incompatibilità. Rimuoverla ora?
Italian.RunSandboxedMenu=Avvia nell'&area virtuale
Italian.UninstallTaskLabel1=Seleziona tipo di disinstallazione
Italian.UninstallTaskLabel2=Come vorresti disinstallare Sandboxie-Plus?
Italian.UninstallTaskLabel3=&Mantieni i file di configurazione e le aree virtuali%nSelezionare questa opzione se si prevede di reinstallare Sandboxie in un secondo momento, conservando le impostazioni e le aree virtuali.
Italian.UninstallTaskLabel4=Rimuovi i file di &configurazione%nSelezionare questa opzione per rimuovere i file di configurazione Sandboxie.ini e Sandboxie-Plus.ini, lasciando invariate le aree virtuali presenti.
Italian.UninstallTaskLabel5=Rimuovi i file di configurazione e le &aree virtuali%nSelezionare questa opzione per rimuovere tutti i file di configurazione e le aree virtuali, inclusa la cartella Sandbox nei percorsi personalizzati mediante FileRootPath.
; Polish
polish.AddSandboxedMenu=Dodaj "Uruchom w piaskownicy" do menu kontekstowego
polish.CustomPageLabel1=Wybierz typ instalacji
polish.CustomPageLabel2=Jak należy instalować
polish.CustomPageLabel3=Wybierz tryb instalacji
polish.CustomPageInstallMode=Zainstaluj {#MyAppName} na tym komputerze
polish.CustomPageUpgradeMode=Aktualizacja istniejącej instalacji {#MyAppName}
polish.CustomPagePortableMode=Wypakuj wszystkie pliki do katalogu, aby użyć trybu przenośnego
polish.RequiresWin7OrLater=Sandboxie-Plus wymaga systemu Windows 7 lub nowszego.
polish.ClassicFound=Wykryto instalację Sandboxie Classic, która musi być najpierw odinstalowana, czy chcesz ją teraz odinstalować?
polish.RunSandboxedMenu=Uruchom w &Sandboxie
polish.UninstallTaskLabel1=Wybierz typ dezinstalacji
polish.UninstallTaskLabel2=W jaki sposób chcesz odinstalować Sandboxie-Plus?
polish.UninstallTaskLabel3=Zachowaj pliki &konfiguracyjne i piaskownice%nJest to najbardziej zalecana opcja, jeśli planujesz reinstalować Sandboxie-Plus, zachowując pliki konfiguracyjne i piaskownice.
polish.UninstallTaskLabel4=Usuń pliki konfigura&cyjne%nWybierz tę opcję, aby usunąć pliki konfiguracyjne Sandboxie.ini i Sandboxie-Plus.ini, zachowując piaskownice bez zmian.
polish.UninstallTaskLabel5=Usuń pliki konfiguracyjne i pia&skownice%nWybierz tę opcję, aby usunąć wszystkie pliki konfiguracyjne i piaskownice, w tym folder Sandbox znajdujący się w niestandardowych ścieżkach z FileRootPath.
; Portuguese
portuguese.AddSandboxedMenu=Adicionar "Roda na Caixa de Areia" para o menu de contexto
portuguese.CustomPageLabel1=Selecione Tipo de Instalação
portuguese.CustomPageLabel2=Como deve ser instalado
portuguese.CustomPageLabel3=Escolha o modo de instalação
portuguese.CustomPageInstallMode=Instalar {#MyAppName} neste computador
portuguese.CustomPageUpgradeMode=Atualizar instalação existente do {#MyAppName}
portuguese.CustomPagePortableMode=Extrair todos os arquivos para um diretório para uso portable
portuguese.RequiresWin7OrLater=Sandboxie-Plus requer o Windows 7 ou posterior.
portuguese.ClassicFound=Instalação do Classic Sandboxie detectada, deve ser desinstalado primeiro, você quer desinstalá-lo agora?
portuguese.RunSandboxedMenu=Rodar na &Caixa de Areia
portuguese.UninstallTaskLabel1=Selecionar Tipo de Desinstalar
portuguese.UninstallTaskLabel2=Como você gostaria de desinstalar Sandboxie-Plus?
portuguese.UninstallTaskLabel3=&Manter os arquivos de configuração do sandboxes%nEsta é a opção mais recomendada se você planeja reinstalar o Sandboxie-Plus enquanto mantém seus arquivos de configuração e caixas de areia.
portuguese.UninstallTaskLabel4=&Remover arquivos de configuração%nSelecione essa opção para remover os arquivos de configuração Sandboxie.ini e Sandboxie-Plus.ini mantendo as caixas de areia inalteradas.
portuguese.UninstallTaskLabel5=Remover arquivos de configuração e &caixas de areia%nSelecione essa opção para remover todos os arquivos de configuração e caixas de areia, incluindo a pasta Sandbox localizada em caminhos personalizados com FileRootPath.
; Russian
russian.AddSandboxedMenu=Добавить "Запустить в песочнице" в контекстное меню
russian.CustomPageLabel1=Выберите тип установки
russian.CustomPageLabel2=Как следует установить
russian.CustomPageLabel3=Выберите режим установки
russian.CustomPageInstallMode=Установить {#MyAppName} на этом компьютере
russian.CustomPageUpgradeMode=Обновить существующую установку {#MyAppName}
russian.CustomPagePortableMode=Извлечь все файлы в каталог для портативного использования
russian.RequiresWin7OrLater=Sandboxie-Plus требует Windows 7 или новее.
russian.ClassicFound=Обнаружена установка Sandboxie Classic, перед установкой ее необходимо удалить. Удалить сейчас?
russian.RunSandboxedMenu=Запустить в песочнице (&S)
russian.UninstallTaskLabel1=Выберите тип удаления
russian.UninstallTaskLabel2=Как вы хотите удалить Sandboxie-Plus?
russian.UninstallTaskLabel3=Сохранять файлы конфигурации и песочницы (&K)%nЭто наиболее рекомендуемый вариант, если вы планируете переустановить Sandboxie-Plus, сохранив файлы конфигурации и песочницы.
russian.UninstallTaskLabel4=Удалить файлы конфигурации (&C)%nВыберите этот параметр, чтобы удалить файлы конфигурации Sandboxie.ini и Sandboxie-Plus.ini, оставив файлы песочницы без изменений.
russian.UninstallTaskLabel5=Удалить файлы конфигурации и песочницы (&S)%nВыберите этот параметр, чтобы удалить все файлы конфигурации и песочницы, включая папку Sandbox, расположение которой заданно в FileRootPath.
; Spanish
spanish.AddSandboxedMenu=Agregar "Ejecutar Aislado en una Sandbox" al menú contextual
spanish.CustomPageLabel1=Seleccione el tipo de instalación
spanish.CustomPageLabel2=¿Cómo se debe instalar?
spanish.CustomPageLabel3=Elija el modo de instalación
spanish.CustomPageInstallMode=Instalar {#MyAppName} en esta computadora
spanish.CustomPageUpgradeMode=Actualizar la instalación existente de {#MyAppName}
spanish.CustomPagePortableMode=Extraiga todos los archivos a un directorio para uso portátil
spanish.RequiresWin7OrLater=Sandboxie-Plus requiere Windows 7 o posterior.
spanish.ClassicFound=Se detectó la instalación de Sandboxie Classic, primero debe desinstalarse. ¿Quieres desinstalarlo ahora?
spanish.RunSandboxedMenu=&Ejecutar Aislado en una Sandbox
spanish.UninstallTaskLabel1=Seleccione el tipo de desinstalación
spanish.UninstallTaskLabel2=¿Cómo le gustaría desinstalar Sandboxie-Plus?
spanish.UninstallTaskLabel3=&Mantenga los archivos de configuración y las sandboxes%nEsta es la opción más recomendada si planea reinstalar Sandboxie-Plus mientras mantiene sus archivos de configuración y las sandboxes.
spanish.UninstallTaskLabel4=Eliminar archivos de &configuración%nSeleccione esta opción para eliminar los archivos de configuración Sandboxie.ini y Sandboxie-Plus.ini manteniendo las sandboxes sin cambios.
spanish.UninstallTaskLabel5=Eliminar archivos de configuración y las &sandboxes%nSeleccione esta opción para eliminar todos los archivos de configuración y las sandboxes, incluida la carpeta Sandbox ubicada en rutas personalizadas mediante FileRootPath.
; English is default language and can be translated to any
; of the languages listed in the languages section.
; The translations can be added to the CustomMessages section.
; The content of this script will be included by Sandboxie-Plus.iss,
; so please edit with care.
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "ChineseSimplified"; MessagesFile: "isl\ChineseSimplified.isl"
Name: "ChineseTraditional"; MessagesFile: "isl\ChineseTraditional.isl"
Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "Italian"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
;Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"
;Name: "armenian"; MessagesFile: "compiler:Languages\Armenian.isl"
;Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
;Name: "bulgarian"; MessagesFile: "compiler:Languages\Bulgarian.isl"
;Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
;Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl"
;Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
;Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
;Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
;Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
;Name: "icelandic"; MessagesFile: "compiler:Languages\Icelandic.isl"
;Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
;Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
;Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl"
;Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
;Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"
[CustomMessages]
; English
english.AddSandboxedMenu=Add "Run Sandboxed" to context menu
english.CustomPageLabel1=Select Installation Type
english.CustomPageLabel2=How should be installed
english.CustomPageLabel3=Choose the installation mode
english.CustomPageInstallMode=Install {#MyAppName} on this computer
english.CustomPageUpgradeMode=Update existing {#MyAppName} installation
english.CustomPagePortableMode=Extract all files to a directory for portable use
english.RequiresWin7OrLater=Sandboxie-Plus requires Windows 7 or later.
english.ClassicFound=Sandboxie Classic installation detected, it must be uninstalled first, do you want to uninstall it now?
english.RunSandboxedMenu=Run &Sandboxed
english.UninstallTaskLabel1=Select Uninstall Type
english.UninstallTaskLabel2=How would you like to uninstall Sandboxie-Plus?
english.UninstallTaskLabel3=&Keep configuration files and sandboxes%nThis is the most recommended option if you plan to reinstall Sandboxie-Plus while keeping your configuration files and sandboxes.
english.UninstallTaskLabel4=Remove &configuration files%nSelect this option to remove the Sandboxie.ini and Sandboxie-Plus.ini configuration files while keeping the sandboxes unchanged.
english.UninstallTaskLabel5=Remove configuration files and &sandboxes%nSelect this option to remove all configuration files and sandboxes, including the Sandbox folder located in custom paths with FileRootPath.
; Chinese Simplified
ChineseSimplified.AddSandboxedMenu=添加“在沙盘中运行”菜单
ChineseSimplified.CustomPageLabel1=选择安装方式
ChineseSimplified.CustomPageLabel2=应当如何安装
ChineseSimplified.CustomPageLabel3=选择安装模式
ChineseSimplified.CustomPageInstallMode=在这台计算机上安装 {#MyAppName}
ChineseSimplified.CustomPageUpgradeMode=更新当前已安装的 {#MyAppName}
ChineseSimplified.CustomPagePortableMode=提取全部文件到指定目录供便携化使用
ChineseSimplified.RequiresWin7OrLater=Sandboxie-Plus 需要 Windows 7 或更高版本。
ChineseSimplified.ClassicFound=检测到已安装 Sandboxie 原版,继续安装必须先将其卸载,是否开始卸载?
ChineseSimplified.RunSandboxedMenu=在沙盘中运行(&S)
ChineseSimplified.UninstallTaskLabel1=选择卸载方式
ChineseSimplified.UninstallTaskLabel2=您想卸载 Sandboxie-Plus 到什么程度?
ChineseSimplified.UninstallTaskLabel3=保留配置文件和所有沙盘(&K)%n如果您是打算重新安装 Sandboxie-Plus这是很好的选择不会丢失您的配置文件和沙盘。
ChineseSimplified.UninstallTaskLabel4=移除配置文件(&C)%n选择此选项将会移除 Sandboxie.ini 和 Sandboxie-Plus.ini 配置文件,但保留您的沙盘。
ChineseSimplified.UninstallTaskLabel5=移除配置文件和所有沙盘(&S)%n选择此选项将会移除所有配置文件和沙盘包括 FileRootPath 所定义的路径下的 Sandbox 文件夹。
; Chinese Traditional
ChineseTraditional.AddSandboxedMenu=加入「在沙箱中執行」選單
ChineseTraditional.CustomPageLabel1=選擇安裝方式
ChineseTraditional.CustomPageLabel2=應該如何安裝
ChineseTraditional.CustomPageLabel3=選擇安裝模式
ChineseTraditional.CustomPageInstallMode=在這台電腦上安裝 {#MyAppName}
ChineseTraditional.CustomPageUpgradeMode=更新目前已安裝的 {#MyAppName}
ChineseTraditional.CustomPagePortableMode=解壓縮所有檔案到指定目錄供便攜化使用
ChineseTraditional.RequiresWin7OrLater=Sandboxie-Plus 需要 Windows 7 或更高版本。
ChineseTraditional.ClassicFound=偵測到已安裝 Sandboxie 原版,要繼續安裝必須先將其移除,是否開始移除?
ChineseTraditional.RunSandboxedMenu=在沙箱中執行(&S)
ChineseTraditional.UninstallTaskLabel1=選擇移除類型
ChineseTraditional.UninstallTaskLabel2=要如何移除 Sandboxie-Plus
ChineseTraditional.UninstallTaskLabel3=保留設定檔和沙箱(&K)%n如果您打算保留設定檔和沙箱的同時並重新安裝 Sandboxie-Plus這是最推薦的選項。
ChineseTraditional.UninstallTaskLabel4=刪除設定檔案(&C)%n選擇此選項可刪除 Sandboxie.ini 和 Sandboxie-Plus.ini 設定檔,並完整保留沙箱。
ChineseTraditional.UninstallTaskLabel5=刪除設定檔和沙箱(&S)%n選擇此選項可刪除所有設定檔和沙箱包含位於 FileRootPath 自訂路徑中的 Sandbox 資料夾。
; Dutch
dutch.AddSandboxedMenu="In sandbox uitvoeren" aan contextmenu toevoegen
dutch.CustomPageLabel1=Installatietype selecteren
dutch.CustomPageLabel2=Hoe moet er geïnstalleerd worden
dutch.CustomPageLabel3=Installatiemodus kiezen
dutch.CustomPageInstallMode={#MyAppName} op deze computer installeren
dutch.CustomPageUpgradeMode=Bestaande installatie van {#MyAppName} bijwerken
dutch.CustomPagePortableMode=Alle bestanden naar een map uitpakken voor draagbaar gebruik
dutch.RequiresWin7OrLater=Sandboxie-Plus vereist Windows 7 of later.
dutch.ClassicFound=Installatie van Sandboxie Classic gedetecteerd. Het moet eerst verwijderd worden. Wilt u het nu verwijderen?
dutch.RunSandboxedMenu=In &sandbox uitvoeren
dutch.UninstallTaskLabel1=Type verwijdering selecteren
dutch.UninstallTaskLabel2=Hoe wilt u Sandboxie-Plus verwijderen?
dutch.UninstallTaskLabel3=Configuratiebestanden en sandboxen behouden%nDit is de aanbevolen optie als u Sandboxie-Plus opnieuw wilt installeren en uw configuratiebestanden en sandboxen wilt behouden.
dutch.UninstallTaskLabel4=Configuratiebestanden verwijderen%nSelecteer deze optie om de configuratiebestanden Sandboxie.ini en Sandboxie-Plus.ini wilt verwijderen en de sandboxen ongewijzigd wilt laten.
dutch.UninstallTaskLabel5=Configuratiebestanden en sandboxen verwijderen%nSelecteer deze optie om alle configuratiebestanden en sandboxen te verwijderen, inclusief de Sandbox-map die zich in aangepaste paden met FileRootPath bevindt.
; French
french.AddSandboxedMenu=Ajouter « Exécuter dans un bac à sable » au menu contextuel
french.CustomPageLabel1=Sélectionnez le type d'installation
french.CustomPageLabel2=Comment doit-on l'installer
french.CustomPageLabel3=Choisissez le mode d'installation
french.CustomPageInstallMode=Installer {#MyAppName} sur cet ordinateur
french.CustomPageUpgradeMode=Mettre à jour l'installation de {#MyAppName} existante
french.CustomPagePortableMode=Extraire tous les fichiers dans un répertoire pour une utilisation portable
french.RequiresWin7OrLater=Sandboxie-Plus nécessite Windows 7 ou une version ultérieure.
french.ClassicFound=Installation de Sandboxie Classic détectée, il doit être désinstallé d'abord, voulez-vous le désinstaller maintenant ?
french.RunSandboxedMenu=Exécuter dans un &bac à sable
french.UninstallTaskLabel1=Sélectionnez le type de désinstallation
french.UninstallTaskLabel2=Comment voulez-vous désinstaller Sandboxie-Plus ?
french.UninstallTaskLabel3=&Conserver les fichiers de configuration et les bacs à sable%nCette option est la plus recommandée si vous prévoyez de réinstaller Sandboxie-Plus tout en conservant vos fichiers de configuration et vos bacs à sable.
french.UninstallTaskLabel4=Supprimer les &fichiers de configuration%nSélectionnez cette option pour supprimer les fichiers de configuration « Sandboxie.ini » et « Sandboxie-Plus.ini » tout en conservant les bacs à sable inchangés.
french.UninstallTaskLabel5=Supprimer les fichiers de configuration et les &bacs à sable%nSélectionnez cette option pour supprimer tous les fichiers de configuration et les bacs à sable, y compris le dossier « Sandbox » situé dans les chemins personnalisés avec « FileRootPath ».
; German
german.AddSandboxedMenu=Füge "In Sandbox ausführen" zum Kontextmenü hinzu
german.CustomPageLabel1=Wählen Sie die Installationsart aus
german.CustomPageLabel2=Wie soll installiert werden
german.CustomPageLabel3=Wählen Sie die Installationsmethode
german.CustomPageInstallMode=Installiere {#MyAppName} auf diesem Computer
german.CustomPageUpgradeMode=Update der bestehenden {#MyAppName} Installation
german.CustomPagePortableMode=Extrahiere alle Dateien in einen Ordner zur tragbaren Verwendung
german.RequiresWin7OrLater=Sandboxie-Plus benötigt Windows 7 oder neuer.
german.ClassicFound=Sandboxie Classic Installation gefunden, welche vorher deinstalliert werden muss. Möchten Sie diese nun deinstallieren?
german.RunSandboxedMenu=In &Sandbox ausführen
german.UninstallTaskLabel1=Wählen Sie die De-Installationsart aus
german.UninstallTaskLabel2=Wie möchten Sie Sandboxie-Plus de-installieren?
german.UninstallTaskLabel3=&Konfiguration und Sandboxen behalten%nDies ist die empfohlene Option, wenn Sie vorhaben Sandboxie-Plus erneut zu intallieren, während Sandboxie-Plus alle Sandboxen und Konfigurationsdateien behält.
german.UninstallTaskLabel4=&Entferne die Konfiguration%nWählen Sie diese Option um die Sandboxie.ini und Sandboxie-Plus.ini Dateien zu entfernen, während die Sandboxen unverändert bleiben.
german.UninstallTaskLabel5=Entferne die Konfiguration und alle &Sandboxen%nWählen Sie diese Option um alle Konfigurationsdateien und alle Sandboxen, inklusive des Sandboxordners im, durch die Dateisystemquelle, benutzerdefinierten Pfad.
; Italian
Italian.AddSandboxedMenu=Aggiungi l'opzione "Avvia nell'area virtuale" al menu contestuale
Italian.CustomPageLabel1=Seleziona tipo di installazione
Italian.CustomPageLabel2=Come dovrebbe essere installato
Italian.CustomPageLabel3=Scegli la modalità di installazione
Italian.CustomPageInstallMode=Installa {#MyAppName} su questo computer
Italian.CustomPageUpgradeMode=Aggiorna l'installazione esistente di {#MyAppName}
Italian.CustomPagePortableMode=Estrai tutti i file in una directory per uso portabile
Italian.RequiresWin7OrLater=Sandboxie-Plus richiede Windows 7 o superiore.
Italian.ClassicFound=È stata rilevata una installazione di Sandboxie Classic che potrebbe causare incompatibilità. Rimuoverla ora?
Italian.RunSandboxedMenu=Avvia nell'&area virtuale
Italian.UninstallTaskLabel1=Seleziona tipo di disinstallazione
Italian.UninstallTaskLabel2=Come vorresti disinstallare Sandboxie-Plus?
Italian.UninstallTaskLabel3=&Mantieni i file di configurazione e le aree virtuali%nSelezionare questa opzione se si prevede di reinstallare Sandboxie in un secondo momento, conservando le impostazioni e le aree virtuali.
Italian.UninstallTaskLabel4=Rimuovi i file di &configurazione%nSelezionare questa opzione per rimuovere i file di configurazione Sandboxie.ini e Sandboxie-Plus.ini, lasciando invariate le aree virtuali presenti.
Italian.UninstallTaskLabel5=Rimuovi i file di configurazione e le &aree virtuali%nSelezionare questa opzione per rimuovere tutti i file di configurazione e le aree virtuali, inclusa la cartella Sandbox nei percorsi personalizzati mediante FileRootPath.
; Polish
polish.AddSandboxedMenu=Dodaj "Uruchom w piaskownicy" do menu kontekstowego
polish.CustomPageLabel1=Wybierz typ instalacji
polish.CustomPageLabel2=Jak należy instalować
polish.CustomPageLabel3=Wybierz tryb instalacji
polish.CustomPageInstallMode=Zainstaluj {#MyAppName} na tym komputerze
polish.CustomPageUpgradeMode=Aktualizacja istniejącej instalacji {#MyAppName}
polish.CustomPagePortableMode=Wypakuj wszystkie pliki do katalogu, aby użyć trybu przenośnego
polish.RequiresWin7OrLater=Sandboxie-Plus wymaga systemu Windows 7 lub nowszego.
polish.ClassicFound=Wykryto instalację Sandboxie Classic, która musi być najpierw odinstalowana, czy chcesz ją teraz odinstalować?
polish.RunSandboxedMenu=Uruchom w &Sandboxie
polish.UninstallTaskLabel1=Wybierz typ dezinstalacji
polish.UninstallTaskLabel2=W jaki sposób chcesz odinstalować Sandboxie-Plus?
polish.UninstallTaskLabel3=Zachowaj pliki &konfiguracyjne i piaskownice%nJest to najbardziej zalecana opcja, jeśli planujesz reinstalować Sandboxie-Plus, zachowując pliki konfiguracyjne i piaskownice.
polish.UninstallTaskLabel4=Usuń pliki konfigura&cyjne%nWybierz tę opcję, aby usunąć pliki konfiguracyjne Sandboxie.ini i Sandboxie-Plus.ini, zachowując piaskownice bez zmian.
polish.UninstallTaskLabel5=Usuń pliki konfiguracyjne i pia&skownice%nWybierz tę opcję, aby usunąć wszystkie pliki konfiguracyjne i piaskownice, w tym folder Sandbox znajdujący się w niestandardowych ścieżkach z FileRootPath.
; Portuguese
portuguese.AddSandboxedMenu=Adicionar "Roda na Caixa de Areia" para o menu de contexto
portuguese.CustomPageLabel1=Selecione Tipo de Instalação
portuguese.CustomPageLabel2=Como deve ser instalado
portuguese.CustomPageLabel3=Escolha o modo de instalação
portuguese.CustomPageInstallMode=Instalar {#MyAppName} neste computador
portuguese.CustomPageUpgradeMode=Atualizar instalação existente do {#MyAppName}
portuguese.CustomPagePortableMode=Extrair todos os arquivos para um diretório para uso portable
portuguese.RequiresWin7OrLater=Sandboxie-Plus requer o Windows 7 ou posterior.
portuguese.ClassicFound=Instalação do Classic Sandboxie detectada, deve ser desinstalado primeiro, você quer desinstalá-lo agora?
portuguese.RunSandboxedMenu=Rodar na &Caixa de Areia
portuguese.UninstallTaskLabel1=Selecionar Tipo de Desinstalar
portuguese.UninstallTaskLabel2=Como você gostaria de desinstalar Sandboxie-Plus?
portuguese.UninstallTaskLabel3=&Manter os arquivos de configuração do sandboxes%nEsta é a opção mais recomendada se você planeja reinstalar o Sandboxie-Plus enquanto mantém seus arquivos de configuração e caixas de areia.
portuguese.UninstallTaskLabel4=&Remover arquivos de configuração%nSelecione essa opção para remover os arquivos de configuração Sandboxie.ini e Sandboxie-Plus.ini mantendo as caixas de areia inalteradas.
portuguese.UninstallTaskLabel5=Remover arquivos de configuração e &caixas de areia%nSelecione essa opção para remover todos os arquivos de configuração e caixas de areia, incluindo a pasta Sandbox localizada em caminhos personalizados com FileRootPath.
; Russian
russian.AddSandboxedMenu=Добавить "Запустить в песочнице" в контекстное меню
russian.CustomPageLabel1=Выберите тип установки
russian.CustomPageLabel2=Как следует установить
russian.CustomPageLabel3=Выберите режим установки
russian.CustomPageInstallMode=Установить {#MyAppName} на этом компьютере
russian.CustomPageUpgradeMode=Обновить существующую установку {#MyAppName}
russian.CustomPagePortableMode=Извлечь все файлы в каталог для портативного использования
russian.RequiresWin7OrLater=Sandboxie-Plus требует Windows 7 или новее.
russian.ClassicFound=Обнаружена установка Sandboxie Classic, перед установкой ее необходимо удалить. Удалить сейчас?
russian.RunSandboxedMenu=Запустить в песочнице (&S)
russian.UninstallTaskLabel1=Выберите тип удаления
russian.UninstallTaskLabel2=Как вы хотите удалить Sandboxie-Plus?
russian.UninstallTaskLabel3=Сохранять файлы конфигурации и песочницы (&K)%nЭто наиболее рекомендуемый вариант, если вы планируете переустановить Sandboxie-Plus, сохранив файлы конфигурации и песочницы.
russian.UninstallTaskLabel4=Удалить файлы конфигурации (&C)%nВыберите этот параметр, чтобы удалить файлы конфигурации Sandboxie.ini и Sandboxie-Plus.ini, оставив файлы песочницы без изменений.
russian.UninstallTaskLabel5=Удалить файлы конфигурации и песочницы (&S)%nВыберите этот параметр, чтобы удалить все файлы конфигурации и песочницы, включая папку Sandbox, расположение которой заданно в FileRootPath.
; Spanish
spanish.AddSandboxedMenu=Agregar "Ejecutar Aislado en una Sandbox" al menú contextual
spanish.CustomPageLabel1=Seleccione el tipo de instalación
spanish.CustomPageLabel2=¿Cómo se debe instalar?
spanish.CustomPageLabel3=Elija el modo de instalación
spanish.CustomPageInstallMode=Instalar {#MyAppName} en esta computadora
spanish.CustomPageUpgradeMode=Actualizar la instalación existente de {#MyAppName}
spanish.CustomPagePortableMode=Extraiga todos los archivos a un directorio para uso portátil
spanish.RequiresWin7OrLater=Sandboxie-Plus requiere Windows 7 o posterior.
spanish.ClassicFound=Se detectó la instalación de Sandboxie Classic, primero debe desinstalarse. ¿Quieres desinstalarlo ahora?
spanish.RunSandboxedMenu=&Ejecutar Aislado en una Sandbox
spanish.UninstallTaskLabel1=Seleccione el tipo de desinstalación
spanish.UninstallTaskLabel2=¿Cómo le gustaría desinstalar Sandboxie-Plus?
spanish.UninstallTaskLabel3=&Mantenga los archivos de configuración y las sandboxes%nEsta es la opción más recomendada si planea reinstalar Sandboxie-Plus mientras mantiene sus archivos de configuración y las sandboxes.
spanish.UninstallTaskLabel4=Eliminar archivos de &configuración%nSeleccione esta opción para eliminar los archivos de configuración Sandboxie.ini y Sandboxie-Plus.ini manteniendo las sandboxes sin cambios.
spanish.UninstallTaskLabel5=Eliminar archivos de configuración y las &sandboxes%nSeleccione esta opción para eliminar todos los archivos de configuración y las sandboxes, incluida la carpeta Sandbox ubicada en rutas personalizadas mediante FileRootPath.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,54 +1,54 @@
//
// SbieControl.RC2 - resources Microsoft Visual C++ does not edit directly
//
#ifdef APSTUDIO_INVOKED
#error this file is not editable by Microsoft Visual C++
#endif //APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
// Add manually edited resources here...
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION MY_VERSION_BINARY
PRODUCTVERSION MY_VERSION_BINARY
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
VALUE "CompanyName", MY_COMPANY_NAME_STRING "\0"
VALUE "FileDescription", MY_PRODUCT_NAME_STRING " Control\0"
VALUE "FileVersion", MY_VERSION_STRING "\0"
OPTIONAL_VALUE("InternalName", "Control\0")
VALUE "LegalCopyright", MY_COPYRIGHT_STRING "\0"
VALUE "LegalTrademarks", "\0"
OPTIONAL_VALUE("OriginalFilename", "SbieCtrl.exe\0")
VALUE "PrivateBuild", "\0"
VALUE "ProductName", MY_PRODUCT_NAME_STRING "\0"
VALUE "ProductVersion", MY_VERSION_STRING "\0"
VALUE "SpecialBuild", "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
//
// SbieControl.RC2 - resources Microsoft Visual C++ does not edit directly
//
#ifdef APSTUDIO_INVOKED
#error this file is not editable by Microsoft Visual C++
#endif //APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
// Add manually edited resources here...
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION MY_VERSION_BINARY
PRODUCTVERSION MY_VERSION_BINARY
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "\0"
VALUE "CompanyName", MY_COMPANY_NAME_STRING "\0"
VALUE "FileDescription", MY_PRODUCT_NAME_STRING " Control\0"
VALUE "FileVersion", MY_VERSION_STRING "\0"
OPTIONAL_VALUE("InternalName", "Control\0")
VALUE "LegalCopyright", MY_COPYRIGHT_STRING "\0"
VALUE "LegalTrademarks", "\0"
OPTIONAL_VALUE("OriginalFilename", "SbieCtrl.exe\0")
VALUE "PrivateBuild", "\0"
VALUE "ProductName", MY_PRODUCT_NAME_STRING "\0"
VALUE "ProductVersion", MY_VERSION_STRING "\0"
VALUE "SpecialBuild", "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View File

@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="Sandboxie"
type="win32"
/>
<description>Sandboxie</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="Sandboxie"
type="win32"
/>
<description>Sandboxie</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>

View File

@ -1,171 +1,171 @@
EXPORTS
__C_specific_handler
__chkstk
__isascii
__iscsym
__iscsymf
__misaligned_access
__toascii
_atoi64
_fltused
_i64toa
_i64toa_s
_i64tow
_i64tow_s
_itoa
_itoa_s
_itow
_itow_s
_lfind
_local_unwind
_ltoa
_ltoa_s
_ltow
_ltow_s
_makepath_s
_memccpy
_memicmp
_setjmp
_setjmpex
_snprintf
_snprintf_s
_snscanf_s
_snwprintf
_snwprintf_s
_snwscanf_s
_splitpath
_splitpath_s
_strcmpi
_stricmp
_strlwr
_strnicmp
_strnset_s
_strset_s
_strupr
_swprintf
_ui64toa
_ui64toa_s
_ui64tow
_ui64tow_s
_ultoa
_ultoa_s
_ultow
_ultow_s
_vscwprintf
_vsnprintf
_vsnprintf_s
_vsnwprintf
_vsnwprintf_s
_vswprintf
_wcsicmp
_wcslwr
_wcsnicmp
_wcsnset_s
_wcsset_s
_wcstoui64
_wcsupr
_wmakepath_s
_wsplitpath_s
_wtoi
_wtoi64
_wtol
abs
atan
atoi
atol
bsearch
ceil
cos
fabs
floor
isalnum
isalpha
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
iswalpha
iswctype
iswdigit
iswlower
iswspace
iswxdigit
isxdigit
labs
log
longjmp
mbstowcs
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memset
pow
qsort
sin
sprintf
sprintf_s
sqrt
sscanf
sscanf_s
strcat
strcat_s
strchr
strcmp
strcpy
strcpy_s
strcspn
strlen
strncat
strncat_s
strncmp
strncpy
strncpy_s
strnlen
strpbrk
strrchr
strspn
strstr
strtok_s
strtol
strtoul
swprintf
swprintf_s
swscanf_s
tan
tolower
toupper
towlower
towupper
vDbgPrintEx
vDbgPrintExWithPrefix
vsprintf
vsprintf_s
vswprintf_s
wcscat
wcscat_s
wcschr
wcscmp
wcscpy
wcscpy_s
wcscspn
wcslen
wcsncat
wcsncat_s
wcsncmp
wcsncpy
wcsncpy_s
wcsnlen
wcspbrk
wcsrchr
wcsspn
wcsstr
wcstol
wcstombs
wcstoul
EXPORTS
__C_specific_handler
__chkstk
__isascii
__iscsym
__iscsymf
__misaligned_access
__toascii
_atoi64
_fltused
_i64toa
_i64toa_s
_i64tow
_i64tow_s
_itoa
_itoa_s
_itow
_itow_s
_lfind
_local_unwind
_ltoa
_ltoa_s
_ltow
_ltow_s
_makepath_s
_memccpy
_memicmp
_setjmp
_setjmpex
_snprintf
_snprintf_s
_snscanf_s
_snwprintf
_snwprintf_s
_snwscanf_s
_splitpath
_splitpath_s
_strcmpi
_stricmp
_strlwr
_strnicmp
_strnset_s
_strset_s
_strupr
_swprintf
_ui64toa
_ui64toa_s
_ui64tow
_ui64tow_s
_ultoa
_ultoa_s
_ultow
_ultow_s
_vscwprintf
_vsnprintf
_vsnprintf_s
_vsnwprintf
_vsnwprintf_s
_vswprintf
_wcsicmp
_wcslwr
_wcsnicmp
_wcsnset_s
_wcsset_s
_wcstoui64
_wcsupr
_wmakepath_s
_wsplitpath_s
_wtoi
_wtoi64
_wtol
abs
atan
atoi
atol
bsearch
ceil
cos
fabs
floor
isalnum
isalpha
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
iswalpha
iswctype
iswdigit
iswlower
iswspace
iswxdigit
isxdigit
labs
log
longjmp
mbstowcs
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memset
pow
qsort
sin
sprintf
sprintf_s
sqrt
sscanf
sscanf_s
strcat
strcat_s
strchr
strcmp
strcpy
strcpy_s
strcspn
strlen
strncat
strncat_s
strncmp
strncpy
strncpy_s
strnlen
strpbrk
strrchr
strspn
strstr
strtok_s
strtol
strtoul
swprintf
swprintf_s
swscanf_s
tan
tolower
toupper
towlower
towupper
vDbgPrintEx
vDbgPrintExWithPrefix
vsprintf
vsprintf_s
vswprintf_s
wcscat
wcscat_s
wcschr
wcscmp
wcscpy
wcscpy_s
wcscspn
wcslen
wcsncat
wcsncat_s
wcsncmp
wcsncpy
wcsncpy_s
wcsnlen
wcspbrk
wcsrchr
wcsspn
wcsstr
wcstol
wcstombs
wcstoul

File diff suppressed because it is too large Load Diff

View File

@ -1,184 +1,184 @@
EXPORTS
_CIcos
_CIlog
_CIpow
_CIsin
_CIsqrt
__isascii
__iscsym
__iscsymf
__toascii
_alldiv
_alldvrm
_allmul
_alloca_probe
_alloca_probe_16
_alloca_probe_8
_allrem
_allshl
_allshr
_atoi64
_aulldiv
_aulldvrm
_aullrem
_aullshr
_chkstk
_fltused
_ftol
_i64toa
_i64toa_s
_i64tow
_i64tow_s
_itoa
_itoa_s
_itow
_itow_s
_lfind
_ltoa
_ltoa_s
_ltow
_ltow_s
_makepath_s
_memccpy
_memicmp
_snprintf
_snprintf_s
_snscanf_s
_snwprintf
_snwprintf_s
_snwscanf_s
_splitpath
_splitpath_s
_strcmpi
_stricmp
_strlwr
_strnicmp
_strnset_s
_strset_s
_strupr
_swprintf
_ui64toa
_ui64toa_s
_ui64tow
_ui64tow_s
_ultoa
_ultoa_s
_ultow
_ultow_s
_vscwprintf
_vsnprintf
_vsnprintf_s
_vsnwprintf
_vsnwprintf_s
_vswprintf
_wcsicmp
_wcslwr
_wcsnicmp
_wcsnset_s
_wcsset_s
_wcstoui64
_wcsupr
_wmakepath_s
_wsplitpath_s
_wtoi
_wtoi64
_wtol
abs
atan
atoi
atol
bsearch
ceil
cos
fabs
floor
isalnum
isalpha
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
iswalpha
iswctype
iswdigit
iswlower
iswspace
iswxdigit
isxdigit
labs
log
mbstowcs
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memset
pow
qsort
sin
sprintf
sprintf_s
sqrt
sscanf
sscanf_s
strcat
strcat_s
strchr
strcmp
strcpy
strcpy_s
strcspn
strlen
strncat
strncat_s
strncmp
strncpy
strncpy_s
strnlen
strpbrk
strrchr
strspn
strstr
strtok_s
strtol
strtoul
swprintf
swprintf_s
swscanf_s
tan
tolower
toupper
towlower
towupper
vDbgPrintEx
vDbgPrintExWithPrefix
vsprintf
vsprintf_s
vswprintf_s
wcscat
wcscat_s
wcschr
wcscmp
wcscpy
wcscpy_s
wcscspn
wcslen
wcsncat
wcsncat_s
wcsncmp
wcsncpy
wcsncpy_s
wcsnlen
wcspbrk
wcsrchr
wcsspn
wcsstr
wcstol
wcstombs
wcstoul
EXPORTS
_CIcos
_CIlog
_CIpow
_CIsin
_CIsqrt
__isascii
__iscsym
__iscsymf
__toascii
_alldiv
_alldvrm
_allmul
_alloca_probe
_alloca_probe_16
_alloca_probe_8
_allrem
_allshl
_allshr
_atoi64
_aulldiv
_aulldvrm
_aullrem
_aullshr
_chkstk
_fltused
_ftol
_i64toa
_i64toa_s
_i64tow
_i64tow_s
_itoa
_itoa_s
_itow
_itow_s
_lfind
_ltoa
_ltoa_s
_ltow
_ltow_s
_makepath_s
_memccpy
_memicmp
_snprintf
_snprintf_s
_snscanf_s
_snwprintf
_snwprintf_s
_snwscanf_s
_splitpath
_splitpath_s
_strcmpi
_stricmp
_strlwr
_strnicmp
_strnset_s
_strset_s
_strupr
_swprintf
_ui64toa
_ui64toa_s
_ui64tow
_ui64tow_s
_ultoa
_ultoa_s
_ultow
_ultow_s
_vscwprintf
_vsnprintf
_vsnprintf_s
_vsnwprintf
_vsnwprintf_s
_vswprintf
_wcsicmp
_wcslwr
_wcsnicmp
_wcsnset_s
_wcsset_s
_wcstoui64
_wcsupr
_wmakepath_s
_wsplitpath_s
_wtoi
_wtoi64
_wtol
abs
atan
atoi
atol
bsearch
ceil
cos
fabs
floor
isalnum
isalpha
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
iswalpha
iswctype
iswdigit
iswlower
iswspace
iswxdigit
isxdigit
labs
log
mbstowcs
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memset
pow
qsort
sin
sprintf
sprintf_s
sqrt
sscanf
sscanf_s
strcat
strcat_s
strchr
strcmp
strcpy
strcpy_s
strcspn
strlen
strncat
strncat_s
strncmp
strncpy
strncpy_s
strnlen
strpbrk
strrchr
strspn
strstr
strtok_s
strtol
strtoul
swprintf
swprintf_s
swscanf_s
tan
tolower
toupper
towlower
towupper
vDbgPrintEx
vDbgPrintExWithPrefix
vsprintf
vsprintf_s
vswprintf_s
wcscat
wcscat_s
wcschr
wcscmp
wcscpy
wcscpy_s
wcscspn
wcslen
wcsncat
wcsncat_s
wcsncmp
wcsncpy
wcsncpy_s
wcsnlen
wcspbrk
wcsrchr
wcsspn
wcsstr
wcstol
wcstombs
wcstoul

View File

@ -1,3 +1,3 @@
LIBRARY SboxDll
#define SBIEDLL_LIBRARY_STATEMENT_ISSUED
#include "sbiedll.def"
LIBRARY SboxDll
#define SBIEDLL_LIBRARY_STATEMENT_ISSUED
#include "sbiedll.def"

View File

@ -1,115 +1,115 @@
EXPORTS
;;;
;;; Ordinal 1
;;;
Dll_Ordinal1 @1 NONAME
;;;
;;; SbieApiSbieApi_LogEx
;;;
SbieApi_CheckInternetAccess=_SbieApi_CheckInternetAccess@12
SbieApi_DisableForceProcess=_SbieApi_DisableForceProcess@8
SbieApi_EnumBoxes=_SbieApi_EnumBoxes@8
SbieApi_EnumProcessEx=_SbieApi_EnumProcessEx@20
SbieApi_GetFileName=_SbieApi_GetFileName@12
SbieApi_GetHomePath=_SbieApi_GetHomePath@16
SbieApi_GetUnmountHive=_SbieApi_GetUnmountHive@4
SbieApi_GetVersion=_SbieApi_GetVersion@4
;;; SbieApi_GetWork=_SbieApi_GetWork@12
SbieApi_GetMessage=_SbieApi_GetMessage@24
SbieApi_HookTramp=_SbieApi_HookTramp@8
SbieApi_IsBoxEnabled=_SbieApi_IsBoxEnabled@4
SbieApi_MonitorControl=_SbieApi_MonitorControl@8
;;; SbieApi_MonitorGet=_SbieApi_MonitorGet@8
SbieApi_MonitorGetEx=_SbieApi_MonitorGetEx@16
SbieApi_MonitorPut=_SbieApi_MonitorPut@8
SbieApi_MonitorPut2=_SbieApi_MonitorPut2@12
SbieApi_OpenProcess=_SbieApi_OpenProcess@8
SbieApi_QueryBoxPath=_SbieApi_QueryBoxPath@28
SbieApi_QueryConf=_SbieApi_QueryConf@20
SbieApi_QueryConfBool=_SbieApi_QueryConfBool@12
SbieApi_QueryPathList=_SbieApi_QueryPathList@16
SbieApi_QueryProcess=_SbieApi_QueryProcess@20
SbieApi_QueryProcessEx=_SbieApi_QueryProcessEx@24
SbieApi_QueryProcessInfo=_SbieApi_QueryProcessInfo@8
SbieApi_QueryProcessPath=_SbieApi_QueryProcessPath@28
SbieApi_ReloadConf=_SbieApi_ReloadConf@8
SbieApi_SessionLeader=_SbieApi_SessionLeader@8
SbieApi_SetUserName=_SbieApi_SetUserName@8
;;;
;;; SbieDll
;;;
SbieDll_CallServer=_SbieDll_CallServer@4
SbieDll_ComCreateProxy=_SbieDll_ComCreateProxy@16
SbieDll_ComCreateStub=_SbieDll_ComCreateStub@16
SbieDll_DeviceChange=_SbieDll_DeviceChange@8
SbieDll_DisableElevationHook=_SbieDll_DisableElevationHook@0
SbieDll_ExpandAndRunProgram=_SbieDll_ExpandAndRunProgram@4
SbieDll_FormatMessage=_SbieDll_FormatMessage@8
SbieDll_FormatMessage0=_SbieDll_FormatMessage0@4
SbieDll_FormatMessage1=_SbieDll_FormatMessage1@8
SbieDll_FormatMessage2=_SbieDll_FormatMessage2@12
SbieDll_FreeMem=_SbieDll_FreeMem@4
SbieDll_GetDrivePath=_SbieDll_GetDrivePath@4
SbieDll_GetHandlePath=_SbieDll_GetHandlePath@12
SbieDll_GetLanguage=_SbieDll_GetLanguage@4
SbieDll_GetServiceRegistryValue=_SbieDll_GetServiceRegistryValue@12
SbieDll_GetStartError=_SbieDll_GetStartError@0
SbieDll_GetTokenElevationType=_SbieDll_GetTokenElevationType@0
SbieDll_GetUserPathEx=_SbieDll_GetUserPathEx@4
SbieDll_Hook=_SbieDll_Hook@12
SbieDll_InitPStore=_SbieDll_InitPStore@0
SbieDll_IsBoxedService=_SbieDll_IsBoxedService@4
SbieDll_IsDirectory=_SbieDll_IsDirectory@4
SbieDll_IsOpenCOM=_SbieDll_IsOpenCOM@0
SbieDll_IsOpenClsid=_SbieDll_IsOpenClsid@12
SbieDll_PortName=_SbieDll_PortName@0
SbieDll_QueueCreate=_SbieDll_QueueCreate@8
SbieDll_QueueGetReq=_SbieDll_QueueGetReq@24
SbieDll_QueueGetRpl=_SbieDll_QueueGetRpl@16
SbieDll_QueuePutReq=_SbieDll_QueuePutReq@20
SbieDll_QueuePutRpl=_SbieDll_QueuePutRpl@16
SbieDll_UpdateConf=_SbieDll_UpdateConf@20
SbieDll_AssocQueryCommand=_SbieDll_AssocQueryCommand@4
SbieDll_AssocQueryProgram=_SbieDll_AssocQueryProgram@4
SbieDll_KillAll=_SbieDll_KillAll@8
SbieDll_KillOne=_SbieDll_KillOne@4
SbieDll_RegisterDllCallback=_SbieDll_RegisterDllCallback@4
SbieDll_RunFromHome=_SbieDll_RunFromHome@16
SbieDll_RunSandboxed=_SbieDll_RunSandboxed@24
SbieDll_StartBoxedService=_SbieDll_StartBoxedService@8
SbieDll_StartCOM=_SbieDll_StartCOM@4
SbieDll_StartSbieSvc=_SbieDll_StartSbieSvc@4
EXPORTS
;;;
;;; Ordinal 1
;;;
Dll_Ordinal1 @1 NONAME
;;;
;;; SbieApiSbieApi_LogEx
;;;
SbieApi_CheckInternetAccess=_SbieApi_CheckInternetAccess@12
SbieApi_DisableForceProcess=_SbieApi_DisableForceProcess@8
SbieApi_EnumBoxes=_SbieApi_EnumBoxes@8
SbieApi_EnumProcessEx=_SbieApi_EnumProcessEx@20
SbieApi_GetFileName=_SbieApi_GetFileName@12
SbieApi_GetHomePath=_SbieApi_GetHomePath@16
SbieApi_GetUnmountHive=_SbieApi_GetUnmountHive@4
SbieApi_GetVersion=_SbieApi_GetVersion@4
;;; SbieApi_GetWork=_SbieApi_GetWork@12
SbieApi_GetMessage=_SbieApi_GetMessage@24
SbieApi_HookTramp=_SbieApi_HookTramp@8
SbieApi_IsBoxEnabled=_SbieApi_IsBoxEnabled@4
SbieApi_MonitorControl=_SbieApi_MonitorControl@8
;;; SbieApi_MonitorGet=_SbieApi_MonitorGet@8
SbieApi_MonitorGetEx=_SbieApi_MonitorGetEx@16
SbieApi_MonitorPut=_SbieApi_MonitorPut@8
SbieApi_MonitorPut2=_SbieApi_MonitorPut2@12
SbieApi_OpenProcess=_SbieApi_OpenProcess@8
SbieApi_QueryBoxPath=_SbieApi_QueryBoxPath@28
SbieApi_QueryConf=_SbieApi_QueryConf@20
SbieApi_QueryConfBool=_SbieApi_QueryConfBool@12
SbieApi_QueryPathList=_SbieApi_QueryPathList@16
SbieApi_QueryProcess=_SbieApi_QueryProcess@20
SbieApi_QueryProcessEx=_SbieApi_QueryProcessEx@24
SbieApi_QueryProcessInfo=_SbieApi_QueryProcessInfo@8
SbieApi_QueryProcessPath=_SbieApi_QueryProcessPath@28
SbieApi_ReloadConf=_SbieApi_ReloadConf@8
SbieApi_SessionLeader=_SbieApi_SessionLeader@8
SbieApi_SetUserName=_SbieApi_SetUserName@8
;;;
;;; SbieDll
;;;
SbieDll_CallServer=_SbieDll_CallServer@4
SbieDll_ComCreateProxy=_SbieDll_ComCreateProxy@16
SbieDll_ComCreateStub=_SbieDll_ComCreateStub@16
SbieDll_DeviceChange=_SbieDll_DeviceChange@8
SbieDll_DisableElevationHook=_SbieDll_DisableElevationHook@0
SbieDll_ExpandAndRunProgram=_SbieDll_ExpandAndRunProgram@4
SbieDll_FormatMessage=_SbieDll_FormatMessage@8
SbieDll_FormatMessage0=_SbieDll_FormatMessage0@4
SbieDll_FormatMessage1=_SbieDll_FormatMessage1@8
SbieDll_FormatMessage2=_SbieDll_FormatMessage2@12
SbieDll_FreeMem=_SbieDll_FreeMem@4
SbieDll_GetDrivePath=_SbieDll_GetDrivePath@4
SbieDll_GetHandlePath=_SbieDll_GetHandlePath@12
SbieDll_GetLanguage=_SbieDll_GetLanguage@4
SbieDll_GetServiceRegistryValue=_SbieDll_GetServiceRegistryValue@12
SbieDll_GetStartError=_SbieDll_GetStartError@0
SbieDll_GetTokenElevationType=_SbieDll_GetTokenElevationType@0
SbieDll_GetUserPathEx=_SbieDll_GetUserPathEx@4
SbieDll_Hook=_SbieDll_Hook@12
SbieDll_InitPStore=_SbieDll_InitPStore@0
SbieDll_IsBoxedService=_SbieDll_IsBoxedService@4
SbieDll_IsDirectory=_SbieDll_IsDirectory@4
SbieDll_IsOpenCOM=_SbieDll_IsOpenCOM@0
SbieDll_IsOpenClsid=_SbieDll_IsOpenClsid@12
SbieDll_PortName=_SbieDll_PortName@0
SbieDll_QueueCreate=_SbieDll_QueueCreate@8
SbieDll_QueueGetReq=_SbieDll_QueueGetReq@24
SbieDll_QueueGetRpl=_SbieDll_QueueGetRpl@16
SbieDll_QueuePutReq=_SbieDll_QueuePutReq@20
SbieDll_QueuePutRpl=_SbieDll_QueuePutRpl@16
SbieDll_UpdateConf=_SbieDll_UpdateConf@20
SbieDll_AssocQueryCommand=_SbieDll_AssocQueryCommand@4
SbieDll_AssocQueryProgram=_SbieDll_AssocQueryProgram@4
SbieDll_KillAll=_SbieDll_KillAll@8
SbieDll_KillOne=_SbieDll_KillOne@4
SbieDll_RegisterDllCallback=_SbieDll_RegisterDllCallback@4
SbieDll_RunFromHome=_SbieDll_RunFromHome@16
SbieDll_RunSandboxed=_SbieDll_RunSandboxed@24
SbieDll_StartBoxedService=_SbieDll_StartBoxedService@8
SbieDll_StartCOM=_SbieDll_StartCOM@4
SbieDll_StartSbieSvc=_SbieDll_StartSbieSvc@4
SbieDll_TranslateNtToDosPath=_SbieDll_TranslateNtToDosPath@4

View File

@ -1,8 +1,8 @@
EXPORTS
;;;
;;; Ordinal 1
;;;
Dll_Ordinal1 @1 NONAME
EXPORTS
;;;
;;; Ordinal 1
;;;
Dll_Ordinal1 @1 NONAME

View File

@ -1,255 +1,255 @@
import "oaidl.idl";
cpp_quote("#define PST_KEY_CURRENT_USER 0")
cpp_quote("#define PST_KEY_LOCAL_MACHINE 1")
cpp_quote("#define PST_E_OK 0x00000000L")
cpp_quote("#define PST_E_TYPE_EXISTS 0x800C0004L")
cpp_quote("#define PST_E_TYPE_NO_EXISTS 0x800C0005L")
cpp_quote("#define PST_E_ITEM_EXISTS 0x800C000FL")
cpp_quote("#define PST_E_ITEM_NO_EXISTS 0x800C0010L")
cpp_quote("#define PST_NO_OVERWRITE 0x00000002L")
cpp_quote("#define PST_UNRESTRICTED_ITEMDATA 0x00000004L")
//#define PST_PF_ALWAYS_SHOW 0x00000001
#define PST_PF_NEVER_SHOW 0x00000002
//#define PST_CF_DEFAULT 0x00000000
//#define PST_CF_NONE 0x00000001
cpp_quote("#define PST_AUTHENTICODE 1")
cpp_quote("#define PST_BINARY_CHECK 2")
cpp_quote("#define PST_SECURITY_DESCRIPTOR 4")
typedef DWORD PST_ACCESSMODE;
typedef DWORD PST_ACCESSCLAUSETYPE;
typedef DWORD PST_KEY;
typedef DWORD PST_PROVIDERCAPABILITIES;
typedef GUID PST_PROVIDERID, *PPST_PROVIDERID;
typedef struct _PST_PROVIDERINFO
{
DWORD cbSize;
PST_PROVIDERID ID;
PST_PROVIDERCAPABILITIES Capabilities;
LPWSTR szProviderName;
} PST_PROVIDERINFO, *PPST_PROVIDERINFO;
typedef struct {
DWORD cbSize;
PST_ACCESSCLAUSETYPE ClauseType;
DWORD cbClauseData;
BYTE* pbClauseData;
} PST_ACCESSCLAUSE, *PPST_ACCESSCLAUSE;
typedef struct {
DWORD cbSize;
PST_ACCESSMODE AccessModeFlags;
DWORD cClauses;
PST_ACCESSCLAUSE* rgClauses;
} PST_ACCESSRULE, *PPST_ACCESSRULE;
typedef struct {
DWORD cbSize;
DWORD cClause;
PST_ACCESSRULE* rgRules;
} PST_ACCESSRULESET, *PPST_ACCESSRULESET;
typedef struct {
DWORD cbSize;
LPWSTR szDisplayName;
} PST_TYPEINFO, *PPST_TYPEINFO;
typedef struct {
DWORD cbSize;
DWORD dwPromptFlags;
DWORD *hwndApp;
LPCWSTR szPrompt;
} PST_PROMPTINFO, *PPST_PROMPTINFO;
[
object,
uuid(4C83B307-0B70-4726-8F75-396EBBDAA401),
pointer_default(unique)
]
interface IEnumPStoreItems : IUnknown
{
HRESULT Next(
[in] DWORD celt,
[in] LPWSTR* rgelt,
[in] DWORD* pceltFetched );
HRESULT Skip(
[in] DWORD celt );
HRESULT Reset();
HRESULT Clone(
[in] IEnumPStoreItems** ppenum );
}
[
object,
uuid(4C83B307-0B70-4726-8F75-396EBBDAA402),
pointer_default(unique)
]
interface IEnumPStoreTypes : IUnknown
{
HRESULT Next(
[in] DWORD celt,
[in] GUID* rgelt,
[in] DWORD* pceltFetched );
HRESULT Skip(
[in] DWORD celt );
HRESULT Reset();
HRESULT Clone(
[in] IEnumPStoreTypes** ppenum );
}
/*****************************************************************************
* IPStore interface
*/
[
object,
uuid(4C83B307-0B70-4726-8F75-396EBBDAA403),
pointer_default(unique)
]
interface IPStore : IUnknown
{
HRESULT GetInfo(
[in] PPST_PROVIDERINFO* ppProperties );
HRESULT GetProvParam(
[in] DWORD dwParam,
[out] DWORD* pcbData,
[out] BYTE** ppbData,
[in] DWORD dwFlags );
HRESULT SetProvParam(
[in] DWORD dwParam,
[in] DWORD cbData,
[in] BYTE* pbData,
[in] DWORD* dwFlags );
HRESULT CreateType(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] PPST_TYPEINFO pInfo,
[in] DWORD dwFlags );
HRESULT GetTypeInfo(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] PPST_TYPEINFO** ppInfo,
[in] DWORD dwFlags );
HRESULT DeleteType(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] DWORD dwFlags );
HRESULT CreateSubtype(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] const GUID* pSubtype,
[in] PPST_TYPEINFO pInfo,
[in] PPST_ACCESSRULESET pRules,
[in] DWORD dwFlags );
HRESULT GetSubtypeInfo(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] const GUID* pSubtype,
[in] PPST_TYPEINFO** ppInfo,
[in] DWORD dwFlags );
HRESULT DeleteSubtype(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] const GUID* pSubtype,
[in] DWORD dwFlags );
HRESULT ReadAccessRuleset(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] const GUID* pSubtype,
[in] PPST_TYPEINFO pInfo,
[in] PPST_ACCESSRULESET** ppRules,
[in] DWORD dwFlags );
HRESULT WriteAccessRuleset(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] const GUID* pSubtype,
[in] PPST_TYPEINFO pInfo,
[in] PPST_ACCESSRULESET pRules,
[in] DWORD dwFlags );
HRESULT EnumTypes(
[in] PST_KEY Key,
[in] DWORD dwFlags,
[in] IEnumPStoreTypes** ppenum );
HRESULT EnumSubtypes(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] DWORD dwFlags,
[in] IEnumPStoreTypes** ppenum );
HRESULT DeleteItem(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubType,
[in] LPCWSTR szItemName,
[in] PPST_PROMPTINFO pPromptInfo,
[in] DWORD dwFlags );
HRESULT ReadItem(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubtype,
[in] LPCWSTR szItemName,
[in] DWORD *cbData,
[in] BYTE** ppbData,
[in] PPST_PROMPTINFO pPromptInfo,
[in] DWORD dwFlags );
HRESULT WriteItem(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubtype,
[in] LPCWSTR szItemName,
[in] DWORD cbData,
[in,size_is(cbData)] BYTE *pbData,
[in] PPST_PROMPTINFO pPromptInfo,
[in] DWORD dwDefaultConfirmationStyle,
[in] DWORD dwFlags);
HRESULT OpenItem(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubtype,
[in] LPCWSTR szItemName,
[in] PST_ACCESSMODE ModeFlags,
[in] PPST_PROMPTINFO pProomptInfo,
[in] DWORD dwFlags );
HRESULT CloseItem(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubtype,
[in] LPCWSTR* szItemName,
[in] DWORD dwFlags );
HRESULT EnumItems(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubtype,
[in] DWORD dwFlags,
[in] IEnumPStoreItems** ppenum );
}
import "oaidl.idl";
cpp_quote("#define PST_KEY_CURRENT_USER 0")
cpp_quote("#define PST_KEY_LOCAL_MACHINE 1")
cpp_quote("#define PST_E_OK 0x00000000L")
cpp_quote("#define PST_E_TYPE_EXISTS 0x800C0004L")
cpp_quote("#define PST_E_TYPE_NO_EXISTS 0x800C0005L")
cpp_quote("#define PST_E_ITEM_EXISTS 0x800C000FL")
cpp_quote("#define PST_E_ITEM_NO_EXISTS 0x800C0010L")
cpp_quote("#define PST_NO_OVERWRITE 0x00000002L")
cpp_quote("#define PST_UNRESTRICTED_ITEMDATA 0x00000004L")
//#define PST_PF_ALWAYS_SHOW 0x00000001
#define PST_PF_NEVER_SHOW 0x00000002
//#define PST_CF_DEFAULT 0x00000000
//#define PST_CF_NONE 0x00000001
cpp_quote("#define PST_AUTHENTICODE 1")
cpp_quote("#define PST_BINARY_CHECK 2")
cpp_quote("#define PST_SECURITY_DESCRIPTOR 4")
typedef DWORD PST_ACCESSMODE;
typedef DWORD PST_ACCESSCLAUSETYPE;
typedef DWORD PST_KEY;
typedef DWORD PST_PROVIDERCAPABILITIES;
typedef GUID PST_PROVIDERID, *PPST_PROVIDERID;
typedef struct _PST_PROVIDERINFO
{
DWORD cbSize;
PST_PROVIDERID ID;
PST_PROVIDERCAPABILITIES Capabilities;
LPWSTR szProviderName;
} PST_PROVIDERINFO, *PPST_PROVIDERINFO;
typedef struct {
DWORD cbSize;
PST_ACCESSCLAUSETYPE ClauseType;
DWORD cbClauseData;
BYTE* pbClauseData;
} PST_ACCESSCLAUSE, *PPST_ACCESSCLAUSE;
typedef struct {
DWORD cbSize;
PST_ACCESSMODE AccessModeFlags;
DWORD cClauses;
PST_ACCESSCLAUSE* rgClauses;
} PST_ACCESSRULE, *PPST_ACCESSRULE;
typedef struct {
DWORD cbSize;
DWORD cClause;
PST_ACCESSRULE* rgRules;
} PST_ACCESSRULESET, *PPST_ACCESSRULESET;
typedef struct {
DWORD cbSize;
LPWSTR szDisplayName;
} PST_TYPEINFO, *PPST_TYPEINFO;
typedef struct {
DWORD cbSize;
DWORD dwPromptFlags;
DWORD *hwndApp;
LPCWSTR szPrompt;
} PST_PROMPTINFO, *PPST_PROMPTINFO;
[
object,
uuid(4C83B307-0B70-4726-8F75-396EBBDAA401),
pointer_default(unique)
]
interface IEnumPStoreItems : IUnknown
{
HRESULT Next(
[in] DWORD celt,
[in] LPWSTR* rgelt,
[in] DWORD* pceltFetched );
HRESULT Skip(
[in] DWORD celt );
HRESULT Reset();
HRESULT Clone(
[in] IEnumPStoreItems** ppenum );
}
[
object,
uuid(4C83B307-0B70-4726-8F75-396EBBDAA402),
pointer_default(unique)
]
interface IEnumPStoreTypes : IUnknown
{
HRESULT Next(
[in] DWORD celt,
[in] GUID* rgelt,
[in] DWORD* pceltFetched );
HRESULT Skip(
[in] DWORD celt );
HRESULT Reset();
HRESULT Clone(
[in] IEnumPStoreTypes** ppenum );
}
/*****************************************************************************
* IPStore interface
*/
[
object,
uuid(4C83B307-0B70-4726-8F75-396EBBDAA403),
pointer_default(unique)
]
interface IPStore : IUnknown
{
HRESULT GetInfo(
[in] PPST_PROVIDERINFO* ppProperties );
HRESULT GetProvParam(
[in] DWORD dwParam,
[out] DWORD* pcbData,
[out] BYTE** ppbData,
[in] DWORD dwFlags );
HRESULT SetProvParam(
[in] DWORD dwParam,
[in] DWORD cbData,
[in] BYTE* pbData,
[in] DWORD* dwFlags );
HRESULT CreateType(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] PPST_TYPEINFO pInfo,
[in] DWORD dwFlags );
HRESULT GetTypeInfo(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] PPST_TYPEINFO** ppInfo,
[in] DWORD dwFlags );
HRESULT DeleteType(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] DWORD dwFlags );
HRESULT CreateSubtype(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] const GUID* pSubtype,
[in] PPST_TYPEINFO pInfo,
[in] PPST_ACCESSRULESET pRules,
[in] DWORD dwFlags );
HRESULT GetSubtypeInfo(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] const GUID* pSubtype,
[in] PPST_TYPEINFO** ppInfo,
[in] DWORD dwFlags );
HRESULT DeleteSubtype(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] const GUID* pSubtype,
[in] DWORD dwFlags );
HRESULT ReadAccessRuleset(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] const GUID* pSubtype,
[in] PPST_TYPEINFO pInfo,
[in] PPST_ACCESSRULESET** ppRules,
[in] DWORD dwFlags );
HRESULT WriteAccessRuleset(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] const GUID* pSubtype,
[in] PPST_TYPEINFO pInfo,
[in] PPST_ACCESSRULESET pRules,
[in] DWORD dwFlags );
HRESULT EnumTypes(
[in] PST_KEY Key,
[in] DWORD dwFlags,
[in] IEnumPStoreTypes** ppenum );
HRESULT EnumSubtypes(
[in] PST_KEY Key,
[in] const GUID* pType,
[in] DWORD dwFlags,
[in] IEnumPStoreTypes** ppenum );
HRESULT DeleteItem(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubType,
[in] LPCWSTR szItemName,
[in] PPST_PROMPTINFO pPromptInfo,
[in] DWORD dwFlags );
HRESULT ReadItem(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubtype,
[in] LPCWSTR szItemName,
[in] DWORD *cbData,
[in] BYTE** ppbData,
[in] PPST_PROMPTINFO pPromptInfo,
[in] DWORD dwFlags );
HRESULT WriteItem(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubtype,
[in] LPCWSTR szItemName,
[in] DWORD cbData,
[in,size_is(cbData)] BYTE *pbData,
[in] PPST_PROMPTINFO pPromptInfo,
[in] DWORD dwDefaultConfirmationStyle,
[in] DWORD dwFlags);
HRESULT OpenItem(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubtype,
[in] LPCWSTR szItemName,
[in] PST_ACCESSMODE ModeFlags,
[in] PPST_PROMPTINFO pProomptInfo,
[in] DWORD dwFlags );
HRESULT CloseItem(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubtype,
[in] LPCWSTR* szItemName,
[in] DWORD dwFlags );
HRESULT EnumItems(
[in] PST_KEY Key,
[in] const GUID* pItemType,
[in] const GUID* pItemSubtype,
[in] DWORD dwFlags,
[in] IEnumPStoreItems** ppenum );
}

View File

@ -1,279 +1,279 @@
;------------------------------------------------------------------------
; Copyright 2004-2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Assembler Utilities -- 32-bit
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; ProtectCall2
;----------------------------------------------------------------------------
_ProtectCall2@12 PROC
push ebp
mov ebp,esp
push edi
mov edi,esp
push [ebp+16] ; push Arg2
push [ebp+12] ; push Arg1
call [ebp+8] ; call CallAddress
mov esp,edi
pop edi
pop ebp
ret 12
_ProtectCall2@12 ENDP
PUBLIC _ProtectCall2@12
;----------------------------------------------------------------------------
; ProtectCall3
;----------------------------------------------------------------------------
_ProtectCall3@16 PROC
push ebp
mov ebp,esp
push edi
mov edi,esp
push [ebp+20] ; push Arg3
push [ebp+16] ; push Arg2
push [ebp+12] ; push Arg1
call [ebp+8] ; call CallAddress
mov esp,edi
pop edi
pop ebp
ret 16
_ProtectCall3@16 ENDP
PUBLIC _ProtectCall3@16
;----------------------------------------------------------------------------
; ProtectCall4
;----------------------------------------------------------------------------
_ProtectCall4@20 PROC
push ebp
mov ebp,esp
push edi
mov edi,esp
push [ebp+24] ; push Arg4
push [ebp+20] ; push Arg3
push [ebp+16] ; push Arg2
push [ebp+12] ; push Arg1
call [ebp+8] ; call CallAddress
mov esp,edi
pop edi
pop ebp
ret 20
_ProtectCall4@20 ENDP
PUBLIC _ProtectCall4@20
;----------------------------------------------------------------------------
; RpcRt_NdrAsyncClientCall
;----------------------------------------------------------------------------
EXTERN C RpcRt_NdrAsyncClientCall_x86 : PROC
EXTERN C Secure_HandleElevation : PROC
EXTERN C __sys_NdrAsyncClientCall : DWORD
RpcRt_NdrAsyncClientCall PROC C PUBLIC
call RpcRt_NdrAsyncClientCall_x86
test al,al
jnz WeHandleElevation
jmp dword ptr [__sys_NdrAsyncClientCall]
WeHandleElevation:
jmp Secure_HandleElevation
RpcRt_NdrAsyncClientCall ENDP
PUBLIC C RpcRt_NdrAsyncClientCall
;----------------------------------------------------------------------------
; Ldr_Inject_Entry32
;----------------------------------------------------------------------------
EXTERN _Ldr_Inject_Entry@4 : PROC
Ldr_Inject_Entry32@0 PROC C PUBLIC
push esp ; pRetAddr parameter
call _Ldr_Inject_Entry@4
;
; clear the stack of any leftovers from Ldr_Inject_Entry.
; necessary because some injected code (e.g. F-Secure)
; assumes the stack is zero
;
lea edi,[esp-200h]
mov ecx,200h/4
xor eax,eax
cld
rep stosd
ret
Ldr_Inject_Entry32@0 ENDP
PUBLIC C Ldr_Inject_Entry32@0
;----------------------------------------------------------------------------
; Gui_FixupCallbackPointers
;----------------------------------------------------------------------------
Gui_FixupCallbackPointers@4 PROC C PUBLIC
;
; copy of USER32!FixupCallbackPointers
; with additional zeroing of the dword at [ecx+8] before returning
;
push ebp
mov ebp,esp
mov ecx,dword ptr [ebp+8]
mov edx,dword ptr [ecx+10h]
push esi
xor esi,esi
add edx,ecx
cmp dword ptr [ecx+8],esi
jbe l02
l01: mov eax,dword ptr [edx]
add eax,ecx
add dword ptr [eax],ecx
inc esi
add edx,4
cmp esi,dword ptr [ecx+8]
jb l01
xor edx,edx
mov dword ptr [ecx+8],edx
l02: pop esi
pop ebp
ret 4
Gui_FixupCallbackPointers@4 ENDP
PUBLIC C Gui_FixupCallbackPointers@4
;----------------------------------------------------------------------------
; Gui_MsgWaitForMultipleObjects
;----------------------------------------------------------------------------
EXTERN C __sys_MsgWaitForMultipleObjects : DWORD
Gui_MsgWaitForMultipleObjects@20 PROC C PUBLIC
test esp,3
jnz l03
; stack is dword aligned, jump directly to MsgWaitForMultipleObjects
jmp __sys_MsgWaitForMultipleObjects
; align stack before calling MsgWaitForMultipleObjects
l03: mov eax, esp
l04: dec esp
test esp,3
jnz l04
push eax ; save unaligned esp
push [eax+20] ; arg 5
push [eax+16] ; arg 4
push [eax+12] ; arg 3
push [eax+8] ; arg 2
push [eax+4] ; arg 1
call __sys_MsgWaitForMultipleObjects
pop esp ; restore unaligned esp
ret 20
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
;----------------------------------------------------------------------------
EXTERN C RpcRt_NdrClientCall2_x86 : PROC
;EXTERN C RpcRt_NdrClientCall2_... : PROC
EXTERN C __sys_NdrClientCall2 : DWORD
RpcRt_NdrClientCall2 PROC C PUBLIC
call RpcRt_NdrClientCall2_x86
test al,al
jnz CancelCall2
jmp dword ptr [__sys_NdrClientCall2]
CancelCall2:
; jmp RpcRt_NdrClientCall2_...
ret
RpcRt_NdrClientCall2 ENDP
PUBLIC C RpcRt_NdrClientCall2
;------------------------------------------------------------------------
; Copyright 2004-2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Assembler Utilities -- 32-bit
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; ProtectCall2
;----------------------------------------------------------------------------
_ProtectCall2@12 PROC
push ebp
mov ebp,esp
push edi
mov edi,esp
push [ebp+16] ; push Arg2
push [ebp+12] ; push Arg1
call [ebp+8] ; call CallAddress
mov esp,edi
pop edi
pop ebp
ret 12
_ProtectCall2@12 ENDP
PUBLIC _ProtectCall2@12
;----------------------------------------------------------------------------
; ProtectCall3
;----------------------------------------------------------------------------
_ProtectCall3@16 PROC
push ebp
mov ebp,esp
push edi
mov edi,esp
push [ebp+20] ; push Arg3
push [ebp+16] ; push Arg2
push [ebp+12] ; push Arg1
call [ebp+8] ; call CallAddress
mov esp,edi
pop edi
pop ebp
ret 16
_ProtectCall3@16 ENDP
PUBLIC _ProtectCall3@16
;----------------------------------------------------------------------------
; ProtectCall4
;----------------------------------------------------------------------------
_ProtectCall4@20 PROC
push ebp
mov ebp,esp
push edi
mov edi,esp
push [ebp+24] ; push Arg4
push [ebp+20] ; push Arg3
push [ebp+16] ; push Arg2
push [ebp+12] ; push Arg1
call [ebp+8] ; call CallAddress
mov esp,edi
pop edi
pop ebp
ret 20
_ProtectCall4@20 ENDP
PUBLIC _ProtectCall4@20
;----------------------------------------------------------------------------
; RpcRt_NdrAsyncClientCall
;----------------------------------------------------------------------------
EXTERN C RpcRt_NdrAsyncClientCall_x86 : PROC
EXTERN C Secure_HandleElevation : PROC
EXTERN C __sys_NdrAsyncClientCall : DWORD
RpcRt_NdrAsyncClientCall PROC C PUBLIC
call RpcRt_NdrAsyncClientCall_x86
test al,al
jnz WeHandleElevation
jmp dword ptr [__sys_NdrAsyncClientCall]
WeHandleElevation:
jmp Secure_HandleElevation
RpcRt_NdrAsyncClientCall ENDP
PUBLIC C RpcRt_NdrAsyncClientCall
;----------------------------------------------------------------------------
; Ldr_Inject_Entry32
;----------------------------------------------------------------------------
EXTERN _Ldr_Inject_Entry@4 : PROC
Ldr_Inject_Entry32@0 PROC C PUBLIC
push esp ; pRetAddr parameter
call _Ldr_Inject_Entry@4
;
; clear the stack of any leftovers from Ldr_Inject_Entry.
; necessary because some injected code (e.g. F-Secure)
; assumes the stack is zero
;
lea edi,[esp-200h]
mov ecx,200h/4
xor eax,eax
cld
rep stosd
ret
Ldr_Inject_Entry32@0 ENDP
PUBLIC C Ldr_Inject_Entry32@0
;----------------------------------------------------------------------------
; Gui_FixupCallbackPointers
;----------------------------------------------------------------------------
Gui_FixupCallbackPointers@4 PROC C PUBLIC
;
; copy of USER32!FixupCallbackPointers
; with additional zeroing of the dword at [ecx+8] before returning
;
push ebp
mov ebp,esp
mov ecx,dword ptr [ebp+8]
mov edx,dword ptr [ecx+10h]
push esi
xor esi,esi
add edx,ecx
cmp dword ptr [ecx+8],esi
jbe l02
l01: mov eax,dword ptr [edx]
add eax,ecx
add dword ptr [eax],ecx
inc esi
add edx,4
cmp esi,dword ptr [ecx+8]
jb l01
xor edx,edx
mov dword ptr [ecx+8],edx
l02: pop esi
pop ebp
ret 4
Gui_FixupCallbackPointers@4 ENDP
PUBLIC C Gui_FixupCallbackPointers@4
;----------------------------------------------------------------------------
; Gui_MsgWaitForMultipleObjects
;----------------------------------------------------------------------------
EXTERN C __sys_MsgWaitForMultipleObjects : DWORD
Gui_MsgWaitForMultipleObjects@20 PROC C PUBLIC
test esp,3
jnz l03
; stack is dword aligned, jump directly to MsgWaitForMultipleObjects
jmp __sys_MsgWaitForMultipleObjects
; align stack before calling MsgWaitForMultipleObjects
l03: mov eax, esp
l04: dec esp
test esp,3
jnz l04
push eax ; save unaligned esp
push [eax+20] ; arg 5
push [eax+16] ; arg 4
push [eax+12] ; arg 3
push [eax+8] ; arg 2
push [eax+4] ; arg 1
call __sys_MsgWaitForMultipleObjects
pop esp ; restore unaligned esp
ret 20
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
;----------------------------------------------------------------------------
EXTERN C RpcRt_NdrClientCall2_x86 : PROC
;EXTERN C RpcRt_NdrClientCall2_... : PROC
EXTERN C __sys_NdrClientCall2 : DWORD
RpcRt_NdrClientCall2 PROC C PUBLIC
call RpcRt_NdrClientCall2_x86
test al,al
jnz CancelCall2
jmp dword ptr [__sys_NdrClientCall2]
CancelCall2:
; jmp RpcRt_NdrClientCall2_...
ret
RpcRt_NdrClientCall2 ENDP
PUBLIC C RpcRt_NdrClientCall2

View File

@ -1,343 +1,343 @@
;------------------------------------------------------------------------
; Copyright 2004-2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Assembler Utilities -- 64-bit
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; ProtectCall2
;----------------------------------------------------------------------------
ProtectCall2 PROC
sub rsp,8+(4*8)
mov rax,rcx
mov rcx,rdx
mov rdx,r8
call rax
add rsp,8+(4*8)
ret
ProtectCall2 ENDP
;----------------------------------------------------------------------------
; ProtectCall3
;----------------------------------------------------------------------------
;ProtectCall3 PROC
;
; sub rsp,8+(4*8)
; mov rax,rcx
; mov rcx,rdx
; mov rdx,r8
; mov r8,r9
; call rax
; add rsp,8+(4*8)
; ret
;
;ProtectCall3 ENDP
;----------------------------------------------------------------------------
; ProtectCall4
;----------------------------------------------------------------------------
ProtectCall4 PROC
sub rsp,8+(4*8)
mov rax,rcx
mov rcx,rdx
mov rdx,r8
mov r8,r9
mov r9,qword ptr [rsp+50h]
call rax
add rsp,8+(4*8)
ret
ProtectCall4 ENDP
;----------------------------------------------------------------------------
; RpcRt_Ndr64AsyncClientCall
;----------------------------------------------------------------------------
EXTERN RpcRt_Ndr64AsyncClientCall_x64 : PROC
EXTERN Secure_HandleElevation : PROC
EXTERN __sys_Ndr64AsyncClientCall : QWORD
RpcRt_Ndr64AsyncClientCall PROC
mov rax,rsp
mov [rax+1*8],rcx ; spill pProxyInfo
mov [rax+2*8],rdx ; spill nProcNum
mov [rax+3*8],r8 ; spill pReturnValue
mov [rax+4*8],r9 ; spill first variadic parameter
sub rsp,8+(4*8)
;; 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 RpcRt_Ndr64AsyncClientCall_x64
test al,al
jnz WeHandleElevation
lea rax,[rsp+8+(4*8)]
mov rcx,[rax+1*8] ; restore pProxyInfo
mov rdx,[rax+2*8] ; restore nProcNum
mov r8,[rax+3*8] ; restore pReturnValue
mov r9,[rax+4*8] ; restore first variadic parameter
add rsp,8+(4*8)
jmp [__sys_Ndr64AsyncClientCall]
WeHandleElevation:
xor rcx,rcx ; clear pStubDescriptor
xor rdx,rdx ; clear pFormat
lea r8,[rsp + 8+(4*8) + 4*8] ; setup Args -> SECURE_UAC_ARGS
xor r9,r9 ; clear unused parameter
call Secure_HandleElevation
add rsp,8+(4*8)
ret
RpcRt_Ndr64AsyncClientCall ENDP
;----------------------------------------------------------------------------
; Ldr_Inject_Entry64
;----------------------------------------------------------------------------
EXTERN Ldr_Inject_Entry : PROC
Ldr_Inject_Entry64 PROC
;
; Normally we would start with sub rsp,8+(4*8) but in this case
; we know the caller has not aligned the stack correctly
;
sub rsp,8+8+(4*8)
lea rcx,[rsp+8+8+(4*8)] ; setup pRetAddr parameter
call Ldr_Inject_Entry
add rsp,8+8+(4*8)
;
; clear the stack of any leftovers from Ldr_Inject_Entry.
; necessary because some injected code (e.g. F-Secure)
; assumes the stack is zero
;
lea rdi,[rsp-200h]
mov rcx,200h/8
xor rax,rax
cld
rep stosq
ret
Ldr_Inject_Entry64 ENDP
;----------------------------------------------------------------------------
; Gui_FixupCallbackPointers
;----------------------------------------------------------------------------
Gui_FixupCallbackPointers PROC
;
; copy of USER32!FixupCallbackPointers
; with additional zeroing of the dword at [rcx+8] before returning
;
mov edx,dword ptr [rcx+18h]
xor r8d,r8d
add rdx,rcx
cmp dword ptr [rcx+8],r8d
jbe l02
l01: mov eax,dword ptr [rdx]
inc r8d
add rdx,4
add qword ptr [rax+rcx],rcx
cmp r8d,dword ptr [rcx+8]
jb l01
xor r8d,r8d
mov dword ptr [rcx+8],r8d
l02: ret
Gui_FixupCallbackPointers ENDP
;----------------------------------------------------------------------------
; Secure_NdrAsyncClientCall
;----------------------------------------------------------------------------
EXTERN RpcRt_NdrAsyncClientCall_x64 : PROC
EXTERN __sys_NdrAsyncClientCall : QWORD
RpcRt_NdrAsyncClientCall 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_NdrAsyncClientCall_x64
test al,al
jnz CancelCallA
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_NdrAsyncClientCall]
CancelCallA:
;;; 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_NdrAsyncClientCall_...
add rsp,8+(4*8)
ret
RpcRt_NdrAsyncClientCall ENDP
;----------------------------------------------------------------------------
; RpcRt_NdrClientCall2
;----------------------------------------------------------------------------
EXTERN RpcRt_NdrClientCall2_x64 : 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
;----------------------------------------------------------------------------
EXTERN RpcRt_NdrClientCall3_x64 : PROC
;EXTERN RpcRt_NdrClientCall3_... : PROC
EXTERN __sys_NdrClientCall3 : QWORD
RpcRt_NdrClientCall3 PROC
mov rax,rsp
mov [rax+1*8],rcx ; spill pProxyInfo
mov [rax+2*8],rdx ; spill nProcNum
mov [rax+3*8],r8 ; spill pReturnValue
mov [rax+4*8],r9 ; spill first variadic parameter
sub rsp,8+(4*8)
;; 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] ; Args
call RpcRt_NdrClientCall3_x64
test al,al
jnz CancelCall3
lea rax,[rsp+8+(4*8)]
mov rcx,[rax+1*8] ; restore pProxyInfo
mov rdx,[rax+2*8] ; restore nProcNum
mov r8,[rax+3*8] ; restore pReturnValue
mov r9,[rax+4*8] ; restore first variadic parameter
add rsp,8+(4*8)
jmp [__sys_NdrClientCall3]
CancelCall3:
;;; 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] ; Args
; call RpcRt_NdrClientCall3_...
add rsp,8+(4*8)
ret
RpcRt_NdrClientCall3 ENDP
;------------------------------------------------------------------------
; Copyright 2004-2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Assembler Utilities -- 64-bit
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; ProtectCall2
;----------------------------------------------------------------------------
ProtectCall2 PROC
sub rsp,8+(4*8)
mov rax,rcx
mov rcx,rdx
mov rdx,r8
call rax
add rsp,8+(4*8)
ret
ProtectCall2 ENDP
;----------------------------------------------------------------------------
; ProtectCall3
;----------------------------------------------------------------------------
;ProtectCall3 PROC
;
; sub rsp,8+(4*8)
; mov rax,rcx
; mov rcx,rdx
; mov rdx,r8
; mov r8,r9
; call rax
; add rsp,8+(4*8)
; ret
;
;ProtectCall3 ENDP
;----------------------------------------------------------------------------
; ProtectCall4
;----------------------------------------------------------------------------
ProtectCall4 PROC
sub rsp,8+(4*8)
mov rax,rcx
mov rcx,rdx
mov rdx,r8
mov r8,r9
mov r9,qword ptr [rsp+50h]
call rax
add rsp,8+(4*8)
ret
ProtectCall4 ENDP
;----------------------------------------------------------------------------
; RpcRt_Ndr64AsyncClientCall
;----------------------------------------------------------------------------
EXTERN RpcRt_Ndr64AsyncClientCall_x64 : PROC
EXTERN Secure_HandleElevation : PROC
EXTERN __sys_Ndr64AsyncClientCall : QWORD
RpcRt_Ndr64AsyncClientCall PROC
mov rax,rsp
mov [rax+1*8],rcx ; spill pProxyInfo
mov [rax+2*8],rdx ; spill nProcNum
mov [rax+3*8],r8 ; spill pReturnValue
mov [rax+4*8],r9 ; spill first variadic parameter
sub rsp,8+(4*8)
;; 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 RpcRt_Ndr64AsyncClientCall_x64
test al,al
jnz WeHandleElevation
lea rax,[rsp+8+(4*8)]
mov rcx,[rax+1*8] ; restore pProxyInfo
mov rdx,[rax+2*8] ; restore nProcNum
mov r8,[rax+3*8] ; restore pReturnValue
mov r9,[rax+4*8] ; restore first variadic parameter
add rsp,8+(4*8)
jmp [__sys_Ndr64AsyncClientCall]
WeHandleElevation:
xor rcx,rcx ; clear pStubDescriptor
xor rdx,rdx ; clear pFormat
lea r8,[rsp + 8+(4*8) + 4*8] ; setup Args -> SECURE_UAC_ARGS
xor r9,r9 ; clear unused parameter
call Secure_HandleElevation
add rsp,8+(4*8)
ret
RpcRt_Ndr64AsyncClientCall ENDP
;----------------------------------------------------------------------------
; Ldr_Inject_Entry64
;----------------------------------------------------------------------------
EXTERN Ldr_Inject_Entry : PROC
Ldr_Inject_Entry64 PROC
;
; Normally we would start with sub rsp,8+(4*8) but in this case
; we know the caller has not aligned the stack correctly
;
sub rsp,8+8+(4*8)
lea rcx,[rsp+8+8+(4*8)] ; setup pRetAddr parameter
call Ldr_Inject_Entry
add rsp,8+8+(4*8)
;
; clear the stack of any leftovers from Ldr_Inject_Entry.
; necessary because some injected code (e.g. F-Secure)
; assumes the stack is zero
;
lea rdi,[rsp-200h]
mov rcx,200h/8
xor rax,rax
cld
rep stosq
ret
Ldr_Inject_Entry64 ENDP
;----------------------------------------------------------------------------
; Gui_FixupCallbackPointers
;----------------------------------------------------------------------------
Gui_FixupCallbackPointers PROC
;
; copy of USER32!FixupCallbackPointers
; with additional zeroing of the dword at [rcx+8] before returning
;
mov edx,dword ptr [rcx+18h]
xor r8d,r8d
add rdx,rcx
cmp dword ptr [rcx+8],r8d
jbe l02
l01: mov eax,dword ptr [rdx]
inc r8d
add rdx,4
add qword ptr [rax+rcx],rcx
cmp r8d,dword ptr [rcx+8]
jb l01
xor r8d,r8d
mov dword ptr [rcx+8],r8d
l02: ret
Gui_FixupCallbackPointers ENDP
;----------------------------------------------------------------------------
; Secure_NdrAsyncClientCall
;----------------------------------------------------------------------------
EXTERN RpcRt_NdrAsyncClientCall_x64 : PROC
EXTERN __sys_NdrAsyncClientCall : QWORD
RpcRt_NdrAsyncClientCall 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_NdrAsyncClientCall_x64
test al,al
jnz CancelCallA
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_NdrAsyncClientCall]
CancelCallA:
;;; 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_NdrAsyncClientCall_...
add rsp,8+(4*8)
ret
RpcRt_NdrAsyncClientCall ENDP
;----------------------------------------------------------------------------
; RpcRt_NdrClientCall2
;----------------------------------------------------------------------------
EXTERN RpcRt_NdrClientCall2_x64 : 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
;----------------------------------------------------------------------------
EXTERN RpcRt_NdrClientCall3_x64 : PROC
;EXTERN RpcRt_NdrClientCall3_... : PROC
EXTERN __sys_NdrClientCall3 : QWORD
RpcRt_NdrClientCall3 PROC
mov rax,rsp
mov [rax+1*8],rcx ; spill pProxyInfo
mov [rax+2*8],rdx ; spill nProcNum
mov [rax+3*8],r8 ; spill pReturnValue
mov [rax+4*8],r9 ; spill first variadic parameter
sub rsp,8+(4*8)
;; 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] ; Args
call RpcRt_NdrClientCall3_x64
test al,al
jnz CancelCall3
lea rax,[rsp+8+(4*8)]
mov rcx,[rax+1*8] ; restore pProxyInfo
mov rdx,[rax+2*8] ; restore nProcNum
mov r8,[rax+3*8] ; restore pReturnValue
mov r9,[rax+4*8] ; restore first variadic parameter
add rsp,8+(4*8)
jmp [__sys_NdrClientCall3]
CancelCall3:
;;; 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] ; Args
; call RpcRt_NdrClientCall3_...
add rsp,8+(4*8)
ret
RpcRt_NdrClientCall3 ENDP

View File

@ -1,41 +1,41 @@
;------------------------------------------------------------------------
; Copyright 2004-2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Assembler Utilities
;----------------------------------------------------------------------------
ifndef _WIN64
.386p
.model flat
endif
.code
ifdef _WIN64
include util_64.asm
else
include util_32.asm
endif
end
;------------------------------------------------------------------------
; Copyright 2004-2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Assembler Utilities
;----------------------------------------------------------------------------
ifndef _WIN64
.386p
.model flat
endif
.code
ifdef _WIN64
include util_64.asm
else
include util_32.asm
endif
end

View File

@ -1,60 +1,60 @@
;-------------------------------------------------------------------------
; Copyright 2004 2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;-------------------------------------------------------------------------
[Version]
Signature = "$WINDOWS NT$"
Class = "SecurityEnhancer" ;This is determined by the work this filter driver does
ClassGuid = {d02bc3da-0c8e-4945-9bd5-f1883c226c8c} ;This value is determined by the Class
Provider = "Sandboxie Holdings, LLC"
DriverVer = 01/01/2018,5.23.5
CatalogFile = SbieDrv.cat
[DestinationDirs]
DefaultDestDir = 12
MiniFilter.DriverFiles = 12 ;%windir%\system32\drivers
[MiniFilter.DriverFiles]
SbieDrv.sys
[SourceDisksFiles]
SbieDrv.sys = 1,,
[SourceDisksNames]
1 = %DiskId1%,,,
[DefaultInstall]
OptionDesc = %ServiceDescription%
CopyFiles = MiniFilter.DriverFiles
[DefaultInstall.Services]
AddService = %ServiceName%,,MiniFilter.Service
[MiniFilter.Service]
DisplayName = %ServiceName%
Description = %ServiceDescription%
ServiceBinary = %12%\examplefilesystem.sys
ServiceType = 2 ; SERVICE_FILE_SYSTEM_DRIVER
StartType = 1 ; SERVICE_SYSTEM_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
LoadOrderGroup = "File System"
[Strings]
SG = "Sandboxie"
ServiceDescription = "Sandboxie Mini-Filter Driver"
ServiceName = "Sandboxie Service"
DriverName = "SbieDrv"
;-------------------------------------------------------------------------
; Copyright 2004 2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;-------------------------------------------------------------------------
[Version]
Signature = "$WINDOWS NT$"
Class = "SecurityEnhancer" ;This is determined by the work this filter driver does
ClassGuid = {d02bc3da-0c8e-4945-9bd5-f1883c226c8c} ;This value is determined by the Class
Provider = "Sandboxie Holdings, LLC"
DriverVer = 01/01/2018,5.23.5
CatalogFile = SbieDrv.cat
[DestinationDirs]
DefaultDestDir = 12
MiniFilter.DriverFiles = 12 ;%windir%\system32\drivers
[MiniFilter.DriverFiles]
SbieDrv.sys
[SourceDisksFiles]
SbieDrv.sys = 1,,
[SourceDisksNames]
1 = %DiskId1%,,,
[DefaultInstall]
OptionDesc = %ServiceDescription%
CopyFiles = MiniFilter.DriverFiles
[DefaultInstall.Services]
AddService = %ServiceName%,,MiniFilter.Service
[MiniFilter.Service]
DisplayName = %ServiceName%
Description = %ServiceDescription%
ServiceBinary = %12%\examplefilesystem.sys
ServiceType = 2 ; SERVICE_FILE_SYSTEM_DRIVER
StartType = 1 ; SERVICE_SYSTEM_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
LoadOrderGroup = "File System"
[Strings]
SG = "Sandboxie"
ServiceDescription = "Sandboxie Mini-Filter Driver"
ServiceName = "Sandboxie Service"
DriverName = "SbieDrv"
DiskId1 = "Sandboxie Driver Installation Disk"

View File

@ -1,16 +1,16 @@
; \Sandbox\Projects\core\drv\SbieDvr_x32.ddf
;
.OPTION EXPLICIT ; Generate errors
.Set CabinetFileCountThreshold=0
.Set FolderFileCountThreshold=0
.Set FolderSizeThreshold=0
.Set MaxCabinetSize=0
.Set MaxDiskFileCount=0
.Set MaxDiskSize=0
.Set CompressionType=MSZIP
.Set Cabinet=on
.Set Compress=on
.Set CabinetNameTemplate=SbieDrv_x32.cab
.Set DestinationDir=..\Projects\Bin\SbieRelease
SbieDrv.inf
; \Sandbox\Projects\core\drv\SbieDvr_x32.ddf
;
.OPTION EXPLICIT ; Generate errors
.Set CabinetFileCountThreshold=0
.Set FolderFileCountThreshold=0
.Set FolderSizeThreshold=0
.Set MaxCabinetSize=0
.Set MaxDiskFileCount=0
.Set MaxDiskSize=0
.Set CompressionType=MSZIP
.Set Cabinet=on
.Set Compress=on
.Set CabinetNameTemplate=SbieDrv_x32.cab
.Set DestinationDir=..\Projects\Bin\SbieRelease
SbieDrv.inf
..\..\Bin\Win32\SbieRelease\SbieDrv.sys

View File

@ -1,16 +1,16 @@
; \Sandbox\Projects\core\drv\SbieDvr_x64.ddf
;
.OPTION EXPLICIT ; Generate errors
.Set CabinetFileCountThreshold=0
.Set FolderFileCountThreshold=0
.Set FolderSizeThreshold=0
.Set MaxCabinetSize=0
.Set MaxDiskFileCount=0
.Set MaxDiskSize=0
.Set CompressionType=MSZIP
.Set Cabinet=on
.Set Compress=on
.Set CabinetNameTemplate=SbieDrv_x64.cab
.Set DestinationDir=..\Projects\Bin\x64\SbieRelease
SbieDrv.inf
; \Sandbox\Projects\core\drv\SbieDvr_x64.ddf
;
.OPTION EXPLICIT ; Generate errors
.Set CabinetFileCountThreshold=0
.Set FolderFileCountThreshold=0
.Set FolderSizeThreshold=0
.Set MaxCabinetSize=0
.Set MaxDiskFileCount=0
.Set MaxDiskSize=0
.Set CompressionType=MSZIP
.Set Cabinet=on
.Set Compress=on
.Set CabinetNameTemplate=SbieDrv_x64.cab
.Set DestinationDir=..\Projects\Bin\x64\SbieRelease
SbieDrv.inf
..\..\Bin\x64\SbieRelease\SbieDrv.sys

View File

@ -1,105 +1,105 @@
;------------------------------------------------------------------------
; Copyright 2004-2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;------------------------------------------------------------------------
;----------------------------------------------------------------------------
; _aulldvrm support routine is not available on Windows 2000
;
; this is an exact copy of _aulldvrm procedure from ulldvrm.obj object file
; in the c:\work\tools\winddk\lib\crt\i386\libcmt.lib library
;
; it also the same as the copy of _aulldvrm in the Windows kernel
;----------------------------------------------------------------------------
ifdef _WIN64
;
else
.386p
.model flat
.code
__aulldvrm proc
push esi
mov eax,dword ptr [esp+14h]
or eax,eax
jne label01
mov ecx,dword ptr [esp+10h]
mov eax,dword ptr [esp+0Ch]
xor edx,edx
div ecx
mov ebx,eax
mov eax,dword ptr [esp+8]
div ecx
mov esi,eax
mov eax,ebx
mul dword ptr [esp+10h]
mov ecx,eax
mov eax,esi
mul dword ptr [esp+10h]
add edx,ecx
jmp label05
label01: mov ecx,eax
mov ebx,dword ptr [esp+10h]
mov edx,dword ptr [esp+0Ch]
mov eax,dword ptr [esp+8]
label02: shr ecx,1
rcr ebx,1
shr edx,1
rcr eax,1
or ecx,ecx
jne label02
div ebx
mov esi,eax
mul dword ptr [esp+14h]
mov ecx,eax
mov eax,dword ptr [esp+10h]
mul esi
add edx,ecx
jb label03
cmp edx,dword ptr [esp+0Ch]
ja label03
jb label04
cmp eax,dword ptr [esp+8]
jbe label04
label03: dec esi
sub eax,dword ptr [esp+10h]
sbb edx,dword ptr [esp+14h]
label04: xor ebx,ebx
label05: sub eax,dword ptr [esp+8]
sbb edx,dword ptr [esp+0Ch]
neg edx
neg eax
sbb edx,0
mov ecx,edx
mov edx,ebx
mov ebx,ecx
mov ecx,eax
mov eax,esi
pop esi
ret 10h
__aulldvrm endp
public __aulldvrm
endif
end
;------------------------------------------------------------------------
; Copyright 2004-2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;------------------------------------------------------------------------
;----------------------------------------------------------------------------
; _aulldvrm support routine is not available on Windows 2000
;
; this is an exact copy of _aulldvrm procedure from ulldvrm.obj object file
; in the c:\work\tools\winddk\lib\crt\i386\libcmt.lib library
;
; it also the same as the copy of _aulldvrm in the Windows kernel
;----------------------------------------------------------------------------
ifdef _WIN64
;
else
.386p
.model flat
.code
__aulldvrm proc
push esi
mov eax,dword ptr [esp+14h]
or eax,eax
jne label01
mov ecx,dword ptr [esp+10h]
mov eax,dword ptr [esp+0Ch]
xor edx,edx
div ecx
mov ebx,eax
mov eax,dword ptr [esp+8]
div ecx
mov esi,eax
mov eax,ebx
mul dword ptr [esp+10h]
mov ecx,eax
mov eax,esi
mul dword ptr [esp+10h]
add edx,ecx
jmp label05
label01: mov ecx,eax
mov ebx,dword ptr [esp+10h]
mov edx,dword ptr [esp+0Ch]
mov eax,dword ptr [esp+8]
label02: shr ecx,1
rcr ebx,1
shr edx,1
rcr eax,1
or ecx,ecx
jne label02
div ebx
mov esi,eax
mul dword ptr [esp+14h]
mov ecx,eax
mov eax,dword ptr [esp+10h]
mul esi
add edx,ecx
jb label03
cmp edx,dword ptr [esp+0Ch]
ja label03
jb label04
cmp eax,dword ptr [esp+8]
jbe label04
label03: dec esi
sub eax,dword ptr [esp+10h]
sbb edx,dword ptr [esp+14h]
label04: xor ebx,ebx
label05: sub eax,dword ptr [esp+8]
sbb edx,dword ptr [esp+0Ch]
neg edx
neg eax
sbb edx,0
mov ecx,edx
mov edx,ebx
mov ebx,ecx
mov ecx,eax
mov eax,esi
pop esi
ret 10h
__aulldvrm endp
public __aulldvrm
endif
end

View File

@ -1,268 +1,268 @@
;------------------------------------------------------------------------
; Copyright 2004-2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Assembler Utilities
;----------------------------------------------------------------------------
ifdef _WIN64
;
else
.386p
.model flat
endif
;----------------------------------------------------------------------------
.code
;----------------------------------------------------------------------------
mov_eax_cr0 MACRO
ifdef _WIN64
mov rax, cr0
else
mov eax, cr0
endif
ENDM
mov_cr0_eax MACRO
ifdef _WIN64
mov cr0, rax
else
mov cr0, eax
endif
ENDM
;----------------------------------------------------------------------------
ifdef _WIN64
DisableWriteProtect PROC
else
_DisableWriteProtect@0 PROC
endif
mov_eax_cr0
and eax, not 10000h ; clear WP bit
mov_cr0_eax
ret
ifdef _WIN64
DisableWriteProtect ENDP
else
_DisableWriteProtect@0 ENDP
PUBLIC _DisableWriteProtect@0
endif
;----------------------------------------------------------------------------
ifdef _WIN64
EnableWriteProtect PROC
else
_EnableWriteProtect@0 PROC
endif
mov_eax_cr0
or eax, 10000h ; set WP bit
mov_cr0_eax
ret
ifdef _WIN64
EnableWriteProtect ENDP
else
_EnableWriteProtect@0 ENDP
PUBLIC _EnableWriteProtect@0
endif
;----------------------------------------------------------------------------
ifdef _WIN64
EXTERN Process_FindSandboxed : proc
align 16
Process_FindSandboxed64 PROC FRAME
; prolog
sub rsp,50h
.allocstack(50h)
.endprolog
; save caller's registers.
mov [rsp+28h+00h],rcx
mov [rsp+28h+08h],rdx
mov [rsp+28h+10h],r8
mov [rsp+28h+18h],r9
; call Process_FindSandboxed(NULL, NULL)
xor rcx,rcx
xor rdx,rdx
call Process_FindSandboxed
mov r10,rax
; restore caller's registers
mov rcx,[rsp+28h+00h]
mov rdx,[rsp+28h+08h]
mov r8, [rsp+28h+10h]
mov r9, [rsp+28h+18h]
; epilog
add rsp,50h
ret
Process_FindSandboxed64 ENDP
endif
;----------------------------------------------------------------------------
ifdef _WIN64
Process_GetCurrent PROC
align 16
; 64-bit: Process_FindSandboxed64 stores current process in R10
mov rax, r10
ret
Process_GetCurrent ENDP
else
align 4
_Process_GetCurrent@0 PROC
; 32-bit: current process is passed in EAX
ret
_Process_GetCurrent@0 ENDP
PUBLIC _Process_GetCurrent@0
endif
;----------------------------------------------------------------------------
ifdef _WIN64
InvokeCPUID PROC
mov r11, rbx
xor rax, rax
mov eax, ecx
mov r10, rdx
db 0Fh, 0A2h ; cpuid
mov dword ptr [r10+0], eax
mov dword ptr [r10+4], ebx
mov dword ptr [r10+8], ecx
mov dword ptr [r10+12], edx
mov rbx, r11
ret
InvokeCPUID ENDP
else
_InvokeCPUID@8 PROC
push ebx
push esi
mov esi, dword ptr [esp+8+8] ; +8 for push ebx,esi
pushfd
pop ebx ; ebx = flags
xor ebx, 200000h ; toggle cpuid flag
push ebx
popfd ; flags = ebx
pushfd
pop ecx ; ecx = flags
and ebx, 200000h
and ecx, 200000h
cmp ebx, ecx
je cont
xor eax, eax
xor ebx, ebx
xor ecx, ecx
xor edx, edx
jmp done
cont: mov eax, dword ptr [esp+8+4] ; +8 for push ebx,esi
db 0Fh, 0A2h ; cpuid
done: mov dword ptr [esi+0], eax
mov dword ptr [esi+4], ebx
mov dword ptr [esi+8], ecx
mov dword ptr [esi+12], edx
pop esi
pop ebx
ret 8
_InvokeCPUID@8 ENDP
PUBLIC _InvokeCPUID@8
endif
;----------------------------------------------------------------------------
ifdef _WIN64
EXTERN Token_SepFilterToken : QWORD
Sbie_SepFilterTokenHandler_asm PROC
mov qword ptr [rsp+20h],r9
mov qword ptr [rsp+18h],r8
mov qword ptr [rsp+10h],rdx
mov qword ptr [rsp+8],rcx
sub rsp,78h
mov dword ptr [rsp+60h],0
mov rax,qword ptr [rsp+00000000000000A0h]
mov qword ptr [rsp+50h],rax
mov rax,qword ptr [rsp+0000000000000098h]
mov qword ptr [rsp+48h],rax
mov rax,qword ptr [rsp+0000000000000090h]
mov qword ptr [rsp+40h],rax
mov rax,qword ptr [rsp+0000000000000088h]
mov qword ptr [rsp+38h],rax
mov qword ptr [rsp+30h],0
mov qword ptr [rsp+28h],0
mov qword ptr [rsp+20h],0
xor r9d,r9d
xor r8d,r8d
xor edx,edx
mov rcx,qword ptr [rsp+0000000000000080h]
call Token_SepFilterToken
mov dword ptr [rsp+60h],eax
mov eax,dword ptr [rsp+60h]
add rsp,78h
ret
Sbie_SepFilterTokenHandler_asm ENDP
endif
;----------------------------------------------------------------------------
end
;------------------------------------------------------------------------
; Copyright 2004-2020 Sandboxie Holdings, LLC
;
; 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 <https://www.gnu.org/licenses/>.
;------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Assembler Utilities
;----------------------------------------------------------------------------
ifdef _WIN64
;
else
.386p
.model flat
endif
;----------------------------------------------------------------------------
.code
;----------------------------------------------------------------------------
mov_eax_cr0 MACRO
ifdef _WIN64
mov rax, cr0
else
mov eax, cr0
endif
ENDM
mov_cr0_eax MACRO
ifdef _WIN64
mov cr0, rax
else
mov cr0, eax
endif
ENDM
;----------------------------------------------------------------------------
ifdef _WIN64
DisableWriteProtect PROC
else
_DisableWriteProtect@0 PROC
endif
mov_eax_cr0
and eax, not 10000h ; clear WP bit
mov_cr0_eax
ret
ifdef _WIN64
DisableWriteProtect ENDP
else
_DisableWriteProtect@0 ENDP
PUBLIC _DisableWriteProtect@0
endif
;----------------------------------------------------------------------------
ifdef _WIN64
EnableWriteProtect PROC
else
_EnableWriteProtect@0 PROC
endif
mov_eax_cr0
or eax, 10000h ; set WP bit
mov_cr0_eax
ret
ifdef _WIN64
EnableWriteProtect ENDP
else
_EnableWriteProtect@0 ENDP
PUBLIC _EnableWriteProtect@0
endif
;----------------------------------------------------------------------------
ifdef _WIN64
EXTERN Process_FindSandboxed : proc
align 16
Process_FindSandboxed64 PROC FRAME
; prolog
sub rsp,50h
.allocstack(50h)
.endprolog
; save caller's registers.
mov [rsp+28h+00h],rcx
mov [rsp+28h+08h],rdx
mov [rsp+28h+10h],r8
mov [rsp+28h+18h],r9
; call Process_FindSandboxed(NULL, NULL)
xor rcx,rcx
xor rdx,rdx
call Process_FindSandboxed
mov r10,rax
; restore caller's registers
mov rcx,[rsp+28h+00h]
mov rdx,[rsp+28h+08h]
mov r8, [rsp+28h+10h]
mov r9, [rsp+28h+18h]
; epilog
add rsp,50h
ret
Process_FindSandboxed64 ENDP
endif
;----------------------------------------------------------------------------
ifdef _WIN64
Process_GetCurrent PROC
align 16
; 64-bit: Process_FindSandboxed64 stores current process in R10
mov rax, r10
ret
Process_GetCurrent ENDP
else
align 4
_Process_GetCurrent@0 PROC
; 32-bit: current process is passed in EAX
ret
_Process_GetCurrent@0 ENDP
PUBLIC _Process_GetCurrent@0
endif
;----------------------------------------------------------------------------
ifdef _WIN64
InvokeCPUID PROC
mov r11, rbx
xor rax, rax
mov eax, ecx
mov r10, rdx
db 0Fh, 0A2h ; cpuid
mov dword ptr [r10+0], eax
mov dword ptr [r10+4], ebx
mov dword ptr [r10+8], ecx
mov dword ptr [r10+12], edx
mov rbx, r11
ret
InvokeCPUID ENDP
else
_InvokeCPUID@8 PROC
push ebx
push esi
mov esi, dword ptr [esp+8+8] ; +8 for push ebx,esi
pushfd
pop ebx ; ebx = flags
xor ebx, 200000h ; toggle cpuid flag
push ebx
popfd ; flags = ebx
pushfd
pop ecx ; ecx = flags
and ebx, 200000h
and ecx, 200000h
cmp ebx, ecx
je cont
xor eax, eax
xor ebx, ebx
xor ecx, ecx
xor edx, edx
jmp done
cont: mov eax, dword ptr [esp+8+4] ; +8 for push ebx,esi
db 0Fh, 0A2h ; cpuid
done: mov dword ptr [esi+0], eax
mov dword ptr [esi+4], ebx
mov dword ptr [esi+8], ecx
mov dword ptr [esi+12], edx
pop esi
pop ebx
ret 8
_InvokeCPUID@8 ENDP
PUBLIC _InvokeCPUID@8
endif
;----------------------------------------------------------------------------
ifdef _WIN64
EXTERN Token_SepFilterToken : QWORD
Sbie_SepFilterTokenHandler_asm PROC
mov qword ptr [rsp+20h],r9
mov qword ptr [rsp+18h],r8
mov qword ptr [rsp+10h],rdx
mov qword ptr [rsp+8],rcx
sub rsp,78h
mov dword ptr [rsp+60h],0
mov rax,qword ptr [rsp+00000000000000A0h]
mov qword ptr [rsp+50h],rax
mov rax,qword ptr [rsp+0000000000000098h]
mov qword ptr [rsp+48h],rax
mov rax,qword ptr [rsp+0000000000000090h]
mov qword ptr [rsp+40h],rax
mov rax,qword ptr [rsp+0000000000000088h]
mov qword ptr [rsp+38h],rax
mov qword ptr [rsp+30h],0
mov qword ptr [rsp+28h],0
mov qword ptr [rsp+20h],0
xor r9d,r9d
xor r8d,r8d
xor edx,edx
mov rcx,qword ptr [rsp+0000000000000080h]
call Token_SepFilterToken
mov dword ptr [rsp+60h],eax
mov eax,dword ptr [rsp+60h]
add rsp,78h
ret
Sbie_SepFilterTokenHandler_asm ENDP
endif
;----------------------------------------------------------------------------
end

View File

@ -1 +1 @@
LIBRARY .TAIL.
LIBRARY .TAIL.

File diff suppressed because it is too large Load Diff

View File

@ -1,46 +1,46 @@
; GetParameters
; input, none
; output, top of stack (replaces, with e.g. whatever)
; modifies no other variables.
Function GetParameters
Push $R0
Push $R1
Push $R2
Push $R3
StrCpy $R2 1
StrLen $R3 $CMDLINE
StrCpy $R0 ""
StrCmp $R3 1 done
;Check for quote or space
StrCpy $R0 $CMDLINE $R2
StrCmp $R0 '"' 0 +3
StrCpy $R1 '"'
Goto loop
StrCpy $R1 " "
loop:
IntOp $R2 $R2 + 1
StrCpy $R0 $CMDLINE 1 $R2
StrCmp $R0 $R1 get
StrCmp $R2 $R3 get
Goto loop
get:
IntOp $R2 $R2 + 1
StrCpy $R0 $CMDLINE 1 $R2
StrCmp $R0 " " get
StrCpy $R0 $CMDLINE "" $R2
done:
Pop $R3
Pop $R2
Pop $R1
Exch $R0
FunctionEnd
; GetParameters
; input, none
; output, top of stack (replaces, with e.g. whatever)
; modifies no other variables.
Function GetParameters
Push $R0
Push $R1
Push $R2
Push $R3
StrCpy $R2 1
StrLen $R3 $CMDLINE
StrCpy $R0 ""
StrCmp $R3 1 done
;Check for quote or space
StrCpy $R0 $CMDLINE $R2
StrCmp $R0 '"' 0 +3
StrCpy $R1 '"'
Goto loop
StrCpy $R1 " "
loop:
IntOp $R2 $R2 + 1
StrCpy $R0 $CMDLINE 1 $R2
StrCmp $R0 $R1 get
StrCmp $R2 $R3 get
Goto loop
get:
IntOp $R2 $R2 + 1
StrCpy $R0 $CMDLINE 1 $R2
StrCmp $R0 " " get
StrCpy $R0 $CMDLINE "" $R2
done:
Pop $R3
Pop $R2
Pop $R1
Exch $R0
FunctionEnd

View File

@ -1,49 +1,49 @@
;----------------------------------------------------------------------------
; Is User Admin, Vista Enabled
;----------------------------------------------------------------------------
!verbose push
!verbose 0
;----------------------------------------------------------------------------
; Public Defines
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; IsUserAdmin
;----------------------------------------------------------------------------
!macro IsUserAdmin_Macro RESULT
!define Index "Line${__LINE__}"
StrCpy ${RESULT} 0
System::Call '*(&i1 0,&i4 0,&i1 5)i.r0'
System::Call 'advapi32::AllocateAndInitializeSid(i r0,i 2,i 32,i 544,i 0,i 0,i 0,i 0,i 0, \
i 0,*i .R0)i.r5'
System::Free $0
System::Call 'advapi32::CheckTokenMembership(i n,i R0,*i .R1)i.r5'
StrCmp $5 0 ${Index}_Error
StrCpy ${RESULT} $R1
Goto ${Index}_End
${Index}_Error:
StrCpy ${RESULT} -1
${Index}_End:
System::Call 'advapi32::FreeSid(i R0)i.r5'
!undef Index
!macroend
Function IsUserAdmin
!insertmacro IsUserAdmin_Macro $0
FunctionEnd
;----------------------------------------------------------------------------
!verbose pop
;----------------------------------------------------------------------------
; Is User Admin, Vista Enabled
;----------------------------------------------------------------------------
!verbose push
!verbose 0
;----------------------------------------------------------------------------
; Public Defines
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; IsUserAdmin
;----------------------------------------------------------------------------
!macro IsUserAdmin_Macro RESULT
!define Index "Line${__LINE__}"
StrCpy ${RESULT} 0
System::Call '*(&i1 0,&i4 0,&i1 5)i.r0'
System::Call 'advapi32::AllocateAndInitializeSid(i r0,i 2,i 32,i 544,i 0,i 0,i 0,i 0,i 0, \
i 0,*i .R0)i.r5'
System::Free $0
System::Call 'advapi32::CheckTokenMembership(i n,i R0,*i .R1)i.r5'
StrCmp $5 0 ${Index}_Error
StrCpy ${RESULT} $R1
Goto ${Index}_End
${Index}_Error:
StrCpy ${RESULT} -1
${Index}_End:
System::Call 'advapi32::FreeSid(i R0)i.r5'
!undef Index
!macroend
Function IsUserAdmin
!insertmacro IsUserAdmin_Macro $0
FunctionEnd
;----------------------------------------------------------------------------
!verbose pop

View File

@ -1,59 +1,59 @@
;----------------------------------------------------------------------------
; 64-bit (WOW64) Detection
;----------------------------------------------------------------------------
!define IsWow64Process "Kernel32::IsWow64Process(i, i) i"
!macro IsWow64_Common UN
Function ${UN}IsWow64
; Save $0, $1
Push $0
Push $1
; Set $0 --> Kernel32.IsWow64Process
System::Get '${IsWow64Process}'
Pop $0
StrCmp $0 'error' pushzero
; Set $R1 --> DWORD
StrCpy $1 ""
System::Call "*(i) i (0) .r1"
; Call IsWow64Process(GetCurrentProcess(), $1)
System::Call "kernel32::GetCurrentProcess() i .s"
System::Call "${IsWow64Process}(s, r1)"
; Set $0 = *(int *)$1
System::Call "*$1(&i4 .r0)"
IntCmp $0 0 pushzero
; Restore $0, $1 and return with positive result
Pop $1
Pop $0
Push "Y"
Return
pushzero:
; Restore $0, $1 and return with negative result
Pop $1
Pop $0
Push "N"
Return
FunctionEnd
!macroend
!insertmacro IsWow64_Common ""
; !insertmacro IsWow64_Common "un."
;----------------------------------------------------------------------------
; 64-bit (WOW64) Detection
;----------------------------------------------------------------------------
!define IsWow64Process "Kernel32::IsWow64Process(i, i) i"
!macro IsWow64_Common UN
Function ${UN}IsWow64
; Save $0, $1
Push $0
Push $1
; Set $0 --> Kernel32.IsWow64Process
System::Get '${IsWow64Process}'
Pop $0
StrCmp $0 'error' pushzero
; Set $R1 --> DWORD
StrCpy $1 ""
System::Call "*(i) i (0) .r1"
; Call IsWow64Process(GetCurrentProcess(), $1)
System::Call "kernel32::GetCurrentProcess() i .s"
System::Call "${IsWow64Process}(s, r1)"
; Set $0 = *(int *)$1
System::Call "*$1(&i4 .r0)"
IntCmp $0 0 pushzero
; Restore $0, $1 and return with positive result
Pop $1
Pop $0
Push "Y"
Return
pushzero:
; Restore $0, $1 and return with negative result
Pop $1
Pop $0
Push "N"
Return
FunctionEnd
!macroend
!insertmacro IsWow64_Common ""
; !insertmacro IsWow64_Common "un."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="Sandboxie" type="win32"/>
<description>Sandboxie Installer</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
</application>
</compatibility>
</assembly>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="Sandboxie" type="win32"/>
<description>Sandboxie Installer</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
</application>
</compatibility>
</assembly>

View File

@ -1 +1 @@
LIBRARY SbieMsg
LIBRARY SbieMsg

View File

@ -1,165 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

View File

@ -1,61 +1,61 @@
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Tools.
# ------------------------------------------------------
HEADERS += ./MiscHelpers.h \
./mischelpers_global.h \
./stdafx.h \
./Common/Common.h \
./Common/OtherFunctions.h \
./Common/DebugHelpers.h \
./Common/ExitDialog.h \
./Common/FlexError.h \
./Common/FlowLayout.h \
./Common/HistoryGraph.h \
./Common/IconExtreactor.h \
./Common/qRC4.h \
./Common/Xml.h \
./Common/CheckableMessageBox.h \
./Common/ComboInputDialog.h \
./Common/Finder.h \
./Common/ItemChooser.h \
./Common/KeyValueInputDialog.h \
./Common/ListItemModel.h \
./Common/MultiLineInputDialog.h \
./Common/PanelView.h \
./Common/ProgressDialog.h \
./Common/Settings.h \
./Common/SettingsWidgets.h \
./Common/SmartGridWidget.h \
./Common/SortFilterProxyModel.h \
./Common/SplitTreeView.h \
./Common/TabPanel.h \
./Common/TreeItemModel.h \
./Common/TreeViewEx.h \
./Common/TreeWidgetEx.h \
./Common/NetworkAccessManager.h
SOURCES += ./MiscHelpers.cpp \
./stdafx.cpp \
./Common/CheckableMessageBox.cpp \
./Common/ComboInputDialog.cpp \
./Common/Common.cpp \
./Common/OtherFunctions.cpp \
./Common/DebugHelpers.cpp \
./Common/Finder.cpp \
./Common/FlowLayout.cpp \
./Common/IconExtreactor.cpp \
./Common/ItemChooser.cpp \
./Common/KeyValueInputDialog.cpp \
./Common/ListItemModel.cpp \
./Common/MultiLineInputDialog.cpp \
./Common/PanelView.cpp \
./Common/qRC4.cpp \
./Common/NetworkAccessManager.cpp \
./Common/Settings.cpp \
./Common/SettingsWidgets.cpp \
./Common/SmartGridWidget.cpp \
./Common/SplitTreeView.cpp \
./Common/TabPanel.cpp \
./Common/TreeItemModel.cpp \
./Common/Xml.cpp
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Tools.
# ------------------------------------------------------
HEADERS += ./MiscHelpers.h \
./mischelpers_global.h \
./stdafx.h \
./Common/Common.h \
./Common/OtherFunctions.h \
./Common/DebugHelpers.h \
./Common/ExitDialog.h \
./Common/FlexError.h \
./Common/FlowLayout.h \
./Common/HistoryGraph.h \
./Common/IconExtreactor.h \
./Common/qRC4.h \
./Common/Xml.h \
./Common/CheckableMessageBox.h \
./Common/ComboInputDialog.h \
./Common/Finder.h \
./Common/ItemChooser.h \
./Common/KeyValueInputDialog.h \
./Common/ListItemModel.h \
./Common/MultiLineInputDialog.h \
./Common/PanelView.h \
./Common/ProgressDialog.h \
./Common/Settings.h \
./Common/SettingsWidgets.h \
./Common/SmartGridWidget.h \
./Common/SortFilterProxyModel.h \
./Common/SplitTreeView.h \
./Common/TabPanel.h \
./Common/TreeItemModel.h \
./Common/TreeViewEx.h \
./Common/TreeWidgetEx.h \
./Common/NetworkAccessManager.h
SOURCES += ./MiscHelpers.cpp \
./stdafx.cpp \
./Common/CheckableMessageBox.cpp \
./Common/ComboInputDialog.cpp \
./Common/Common.cpp \
./Common/OtherFunctions.cpp \
./Common/DebugHelpers.cpp \
./Common/Finder.cpp \
./Common/FlowLayout.cpp \
./Common/IconExtreactor.cpp \
./Common/ItemChooser.cpp \
./Common/KeyValueInputDialog.cpp \
./Common/ListItemModel.cpp \
./Common/MultiLineInputDialog.cpp \
./Common/PanelView.cpp \
./Common/qRC4.cpp \
./Common/NetworkAccessManager.cpp \
./Common/Settings.cpp \
./Common/SettingsWidgets.cpp \
./Common/SmartGridWidget.cpp \
./Common/SplitTreeView.cpp \
./Common/TabPanel.cpp \
./Common/TreeItemModel.cpp \
./Common/Xml.cpp

View File

@ -1,40 +1,40 @@
TEMPLATE = lib
TARGET = MiscHelpers
QT += core network widgets winextras
#CONFIG += debug
# DEFINES += QT_LARGEFILE_SUPPORT QTSERVICE_LIB QT_WIDGETS_LIB QT_QTSINGLEAPPLICATION_EXPORT
DEFINES += MISCHELPERS_LIB
#LIBS += -L"."
PRECOMPILED_HEADER = stdafx.h
#DEPENDPATH += .
#MOC_DIR += ./GeneratedFiles/$(ConfigurationName)
#OBJECTS_DIR += debug
#UI_DIR += ./GeneratedFiles
#RCC_DIR += ./GeneratedFiles
win32:LIBS += -lUser32 -lShell32
!mac:unix:QMAKE_LFLAGS += -Wl,-rpath,'\$\$ORIGIN'
mac:QMAKE_CXXFLAGS += -std=c++11
!win32:QMAKE_LFLAGS +=-rdynamic
CONFIG(release, debug|release):{
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
}
CONFIG(debug, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Debug
CONFIG(release, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Release
CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Debug
CONFIG(release, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Release
INCLUDEPATH += .
DEPENDPATH += .
#MOC_DIR += ./GeneratedFiles
#OBJECTS_DIR += ./ObjectFiles
#UI_DIR += ./GeneratedFiles
#RCC_DIR += ./GeneratedFiles
include(MiscHelpers.pri)
TEMPLATE = lib
TARGET = MiscHelpers
QT += core network widgets winextras
#CONFIG += debug
# DEFINES += QT_LARGEFILE_SUPPORT QTSERVICE_LIB QT_WIDGETS_LIB QT_QTSINGLEAPPLICATION_EXPORT
DEFINES += MISCHELPERS_LIB
#LIBS += -L"."
PRECOMPILED_HEADER = stdafx.h
#DEPENDPATH += .
#MOC_DIR += ./GeneratedFiles/$(ConfigurationName)
#OBJECTS_DIR += debug
#UI_DIR += ./GeneratedFiles
#RCC_DIR += ./GeneratedFiles
win32:LIBS += -lUser32 -lShell32
!mac:unix:QMAKE_LFLAGS += -Wl,-rpath,'\$\$ORIGIN'
mac:QMAKE_CXXFLAGS += -std=c++11
!win32:QMAKE_LFLAGS +=-rdynamic
CONFIG(release, debug|release):{
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
}
CONFIG(debug, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Debug
CONFIG(release, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Release
CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Debug
CONFIG(release, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Release
INCLUDEPATH += .
DEPENDPATH += .
#MOC_DIR += ./GeneratedFiles
#OBJECTS_DIR += ./ObjectFiles
#UI_DIR += ./GeneratedFiles
#RCC_DIR += ./GeneratedFiles
include(MiscHelpers.pri)

View File

@ -1,165 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

View File

@ -1,30 +1,30 @@
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Tools.
# ------------------------------------------------------
HEADERS += ./qsbieapi_global.h \
./stdafx.h \
../../Sandboxie/common/win32_ntddk.h \
./SbieDefs.h \
./SbieUtils.h \
./SbieAPI.h \
./SbieTrace.h \
./SbieStatus.h \
./Sandboxie/BoxedProcess.h \
./Sandboxie/SandBox.h \
./Sandboxie/SbieIni.h \
./Sandboxie/BoxBorder.h \
./Sandboxie/SbieTemplates.h \
./Helpers/NtIO.h
SOURCES += ./stdafx.cpp \
./SbieAPI.cpp \
./SbieTrace.cpp \
./SbieUtils.cpp \
./Sandboxie/BoxBorder.cpp \
./Sandboxie/BoxedProcess.cpp \
./Sandboxie/SandBox.cpp \
./Sandboxie/SbieIni.cpp \
./Sandboxie/SbieTemplates.cpp \
./Helpers/NtIO.cpp
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Tools.
# ------------------------------------------------------
HEADERS += ./qsbieapi_global.h \
./stdafx.h \
../../Sandboxie/common/win32_ntddk.h \
./SbieDefs.h \
./SbieUtils.h \
./SbieAPI.h \
./SbieTrace.h \
./SbieStatus.h \
./Sandboxie/BoxedProcess.h \
./Sandboxie/SandBox.h \
./Sandboxie/SbieIni.h \
./Sandboxie/BoxBorder.h \
./Sandboxie/SbieTemplates.h \
./Helpers/NtIO.h
SOURCES += ./stdafx.cpp \
./SbieAPI.cpp \
./SbieTrace.cpp \
./SbieUtils.cpp \
./Sandboxie/BoxBorder.cpp \
./Sandboxie/BoxedProcess.cpp \
./Sandboxie/SandBox.cpp \
./Sandboxie/SbieIni.cpp \
./Sandboxie/SbieTemplates.cpp \
./Helpers/NtIO.cpp

View File

@ -1,40 +1,40 @@
TEMPLATE = lib
TARGET = QSbieAPI
QT += core concurrent
#CONFIG += debug
# DEFINES += QT_LARGEFILE_SUPPORT QTSERVICE_LIB QT_WIDGETS_LIB QT_QTSINGLEAPPLICATION_EXPORT
DEFINES += QSBIEAPI_LIB
#LIBS += -L"."
PRECOMPILED_HEADER = stdafx.h
#DEPENDPATH += .
#MOC_DIR += ./GeneratedFiles/$(ConfigurationName)
#OBJECTS_DIR += debug
#UI_DIR += ./GeneratedFiles
#RCC_DIR += ./GeneratedFiles
LIBS += -lNtdll -lAdvapi32 -lOle32 -lUser32 -lShell32 -lGdi32
CONFIG(release, debug|release):{
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
}
QMAKE_CXXFLAGS_RELEASE -= -O2
CONFIG(debug, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Debug
CONFIG(release, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Release
CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Debug
CONFIG(release, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Release
INCLUDEPATH += .
DEPENDPATH += .
#MOC_DIR += ./GeneratedFiles
#OBJECTS_DIR += ./ObjectFiles
#UI_DIR += ./GeneratedFiles
#RCC_DIR += ./GeneratedFiles
include(QSbieAPI.pri)
win32:RC_FILE = QSbieAPI.rc
TEMPLATE = lib
TARGET = QSbieAPI
QT += core concurrent
#CONFIG += debug
# DEFINES += QT_LARGEFILE_SUPPORT QTSERVICE_LIB QT_WIDGETS_LIB QT_QTSINGLEAPPLICATION_EXPORT
DEFINES += QSBIEAPI_LIB
#LIBS += -L"."
PRECOMPILED_HEADER = stdafx.h
#DEPENDPATH += .
#MOC_DIR += ./GeneratedFiles/$(ConfigurationName)
#OBJECTS_DIR += debug
#UI_DIR += ./GeneratedFiles
#RCC_DIR += ./GeneratedFiles
LIBS += -lNtdll -lAdvapi32 -lOle32 -lUser32 -lShell32 -lGdi32
CONFIG(release, debug|release):{
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
}
QMAKE_CXXFLAGS_RELEASE -= -O2
CONFIG(debug, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Debug
CONFIG(release, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Release
CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Debug
CONFIG(release, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Release
INCLUDEPATH += .
DEPENDPATH += .
#MOC_DIR += ./GeneratedFiles
#OBJECTS_DIR += ./ObjectFiles
#UI_DIR += ./GeneratedFiles
#RCC_DIR += ./GeneratedFiles
include(QSbieAPI.pri)
win32:RC_FILE = QSbieAPI.rc

View File

@ -1,11 +1,11 @@
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Add-in.
# ------------------------------------------------------
HEADERS += ../../src/qtlockedfile.h \
../../src/qtlocalpeer.h \
../../src/qtsingleapplication.h \
../../src/qtsinglecoreapplication.h
SOURCES += ../../src/qtlocalpeer.cpp \
../../src/qtsingleapplication.cpp \
../../src/qtsinglecoreapplication.cpp
HEADERS += ../../src/qtlockedfile.h \
../../src/qtlocalpeer.h \
../../src/qtsingleapplication.h \
../../src/qtsinglecoreapplication.h
SOURCES += ../../src/qtlocalpeer.cpp \
../../src/qtsingleapplication.cpp \
../../src/qtsinglecoreapplication.cpp

View File

@ -1,46 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FileBrowserWindow</class>
<widget class="QWidget" name="FileBrowserWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>573</width>
<height>451</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus - Snapshots</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QTreeView" name="treeFiles"/>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FileBrowserWindow</class>
<widget class="QWidget" name="FileBrowserWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>573</width>
<height>451</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus - Snapshots</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QTreeView" name="treeFiles"/>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -1,169 +1,169 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>NewBoxWindow</class>
<widget class="QWidget" name="NewBoxWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>333</width>
<height>263</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>500</width>
<height>263</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus new box</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="5" column="1" colspan="4">
<widget class="QRadioButton" name="radTemplate">
<property name="text">
<string>Select restriction/isolation template:</string>
</property>
</widget>
</item>
<item row="4" column="0" colspan="4">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Initial sandbox configuration:</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="5">
<widget class="QLineEdit" name="txtName">
<property name="maxLength">
<number>32</number>
</property>
</widget>
</item>
<item row="6" column="2" colspan="4">
<widget class="QComboBox" name="cmbTemplates"/>
</item>
<item row="0" column="5" colspan="2">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="5" colspan="2">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="7" column="1" colspan="4">
<widget class="QRadioButton" name="radCopy">
<property name="text">
<string>Copy options from an existing box:</string>
</property>
</widget>
</item>
<item row="9" column="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="3">
<widget class="QLabel" name="label">
<property name="text">
<string>Sandbox Name:</string>
</property>
</widget>
</item>
<item row="8" column="2" colspan="4">
<widget class="QComboBox" name="cmbBoxes"/>
</item>
<item row="10" column="0" colspan="7">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item row="6" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="6" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>txtName</tabstop>
<tabstop>radTemplate</tabstop>
<tabstop>cmbTemplates</tabstop>
<tabstop>radCopy</tabstop>
<tabstop>cmbBoxes</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>NewBoxWindow</class>
<widget class="QWidget" name="NewBoxWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>333</width>
<height>263</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>500</width>
<height>263</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus new box</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="5" column="1" colspan="4">
<widget class="QRadioButton" name="radTemplate">
<property name="text">
<string>Select restriction/isolation template:</string>
</property>
</widget>
</item>
<item row="4" column="0" colspan="4">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Initial sandbox configuration:</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="5">
<widget class="QLineEdit" name="txtName">
<property name="maxLength">
<number>32</number>
</property>
</widget>
</item>
<item row="6" column="2" colspan="4">
<widget class="QComboBox" name="cmbTemplates"/>
</item>
<item row="0" column="5" colspan="2">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="5" colspan="2">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="7" column="1" colspan="4">
<widget class="QRadioButton" name="radCopy">
<property name="text">
<string>Copy options from an existing box:</string>
</property>
</widget>
</item>
<item row="9" column="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="3">
<widget class="QLabel" name="label">
<property name="text">
<string>Sandbox Name:</string>
</property>
</widget>
</item>
<item row="8" column="2" colspan="4">
<widget class="QComboBox" name="cmbBoxes"/>
</item>
<item row="10" column="0" colspan="7">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item row="6" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="6" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>txtName</tabstop>
<tabstop>radTemplate</tabstop>
<tabstop>cmbTemplates</tabstop>
<tabstop>radCopy</tabstop>
<tabstop>cmbBoxes</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

File diff suppressed because it is too large Load Diff

View File

@ -1,46 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PopUpWindow</class>
<widget class="QWidget" name="PopUpWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>573</width>
<height>179</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus Notifications</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTableWidget" name="table"/>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PopUpWindow</class>
<widget class="QWidget" name="PopUpWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>573</width>
<height>179</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus Notifications</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTableWidget" name="table"/>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -1,170 +1,170 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>RecoveryWindow</class>
<widget class="QWidget" name="RecoveryWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>512</width>
<height>360</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus - Recovery</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" rowspan="3" colspan="5">
<widget class="QTreeView" name="treeFiles"/>
</item>
<item row="3" column="0">
<widget class="QWidget" name="finder" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>1</height>
</size>
</property>
</widget>
</item>
<item row="5" column="1" colspan="3">
<widget class="QComboBox" name="cmbRecover"/>
</item>
<item row="6" column="4">
<widget class="QToolButton" name="btnClose">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
<item row="6" column="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="1" colspan="4">
<widget class="QLabel" name="lblInfo">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="6" column="3">
<widget class="QPushButton" name="btnDeleteAll">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Delete all</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="chkShowAll">
<property name="text">
<string>Show All Files</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Recover target:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="4">
<widget class="QToolButton" name="btnRecover">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>75</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Recover</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QPushButton" name="btnAddFolder">
<property name="text">
<string>Add Folder</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QPushButton" name="btnRefresh">
<property name="text">
<string>Refresh</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>treeFiles</tabstop>
<tabstop>chkShowAll</tabstop>
<tabstop>btnDeleteAll</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>RecoveryWindow</class>
<widget class="QWidget" name="RecoveryWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>512</width>
<height>360</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus - Recovery</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" rowspan="3" colspan="5">
<widget class="QTreeView" name="treeFiles"/>
</item>
<item row="3" column="0">
<widget class="QWidget" name="finder" native="true">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>1</height>
</size>
</property>
</widget>
</item>
<item row="5" column="1" colspan="3">
<widget class="QComboBox" name="cmbRecover"/>
</item>
<item row="6" column="4">
<widget class="QToolButton" name="btnClose">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
<item row="6" column="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="1" colspan="4">
<widget class="QLabel" name="lblInfo">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="6" column="3">
<widget class="QPushButton" name="btnDeleteAll">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Delete all</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="chkShowAll">
<property name="text">
<string>Show All Files</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Recover target:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="4">
<widget class="QToolButton" name="btnRecover">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>75</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Recover</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QPushButton" name="btnAddFolder">
<property name="text">
<string>Add Folder</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QPushButton" name="btnRefresh">
<property name="text">
<string>Refresh</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>treeFiles</tabstop>
<tabstop>chkShowAll</tabstop>
<tabstop>btnDeleteAll</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

View File

@ -1,107 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SelectBoxWindow</class>
<widget class="QWidget" name="SelectBoxWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>280</width>
<height>400</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus select box</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Select the sandbox in which to start the program, installer or document.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QTreeWidget" name="treeBoxes">
<column>
<property name="text">
<string notr="true">Sandbox</string>
</property>
</column>
</widget>
</item>
<item row="7" column="0">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="chkAdmin">
<property name="text">
<string>Run As UAC Administrator</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radBoxed">
<property name="text">
<string>Run Sandboxed</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QRadioButton" name="radUnBoxed">
<property name="text">
<string>Run Outside the Sandbox</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SelectBoxWindow</class>
<widget class="QWidget" name="SelectBoxWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>280</width>
<height>400</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus select box</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Select the sandbox in which to start the program, installer or document.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QTreeWidget" name="treeBoxes">
<column>
<property name="text">
<string notr="true">Sandbox</string>
</property>
</column>
</widget>
</item>
<item row="7" column="0">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="chkAdmin">
<property name="text">
<string>Run As UAC Administrator</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="radBoxed">
<property name="text">
<string>Run Sandboxed</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QRadioButton" name="radUnBoxed">
<property name="text">
<string>Run Outside the Sandbox</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

File diff suppressed because it is too large Load Diff

View File

@ -1,157 +1,157 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SnapshotsWindow</class>
<widget class="QWidget" name="SnapshotsWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>573</width>
<height>451</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus - Snapshots</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Ignored">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="title">
<string>Selected Snapshot Details</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Name:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Description:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="1" column="1" rowspan="2">
<widget class="QPlainTextEdit" name="txtInfo"/>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtName"/>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QGroupBox" name="groupBox_2">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>125</height>
</size>
</property>
<property name="title">
<string>Snapshot Actions</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="3" column="0">
<widget class="QPushButton" name="btnRemove">
<property name="text">
<string>Remove Snapshot</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="btnSelect">
<property name="text">
<string>Go to Snapshot</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="btnTake">
<property name="text">
<string>Take Snapshot</string>
</property>
</widget>
</item>
<item row="1" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QTreeView" name="treeSnapshots"/>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>btnTake</tabstop>
<tabstop>treeSnapshots</tabstop>
<tabstop>btnSelect</tabstop>
<tabstop>btnRemove</tabstop>
<tabstop>txtName</tabstop>
<tabstop>txtInfo</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SnapshotsWindow</class>
<widget class="QWidget" name="SnapshotsWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>573</width>
<height>451</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="windowTitle">
<string>SandboxiePlus - Snapshots</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Ignored">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="title">
<string>Selected Snapshot Details</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Name:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Description:</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="1" column="1" rowspan="2">
<widget class="QPlainTextEdit" name="txtInfo"/>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="txtName"/>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QGroupBox" name="groupBox_2">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>125</height>
</size>
</property>
<property name="title">
<string>Snapshot Actions</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="3" column="0">
<widget class="QPushButton" name="btnRemove">
<property name="text">
<string>Remove Snapshot</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="btnSelect">
<property name="text">
<string>Go to Snapshot</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="btnTake">
<property name="text">
<string>Take Snapshot</string>
</property>
</widget>
</item>
<item row="1" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QTreeView" name="treeSnapshots"/>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>btnTake</tabstop>
<tabstop>treeSnapshots</tabstop>
<tabstop>btnSelect</tabstop>
<tabstop>btnRemove</tabstop>
<tabstop>txtName</tabstop>
<tabstop>txtInfo</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

View File

@ -1,11 +1,11 @@
Copyright 2020 - 2021 David Xanatos (xanasoft.com)
This software is provided under the Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International Public License
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
Copyright 2020 - 2021 David Xanatos (xanasoft.com)
This software is provided under the Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International Public License
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,79 +1,79 @@
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Tools.
# ------------------------------------------------------
HEADERS += ./stdafx.h \
./SandMan.h \
./SbiePlusAPI.h \
./Models/SbieModel.h \
./Models/TraceModel.h \
./Views/SbieView.h \
./Views/TraceView.h \
./Dialogs/MultiErrorDialog.h \
./Helpers/FindTool.h \
./Helpers/WinAdmin.h \
./Windows/NewBoxWindow.h \
./Windows/RecoveryWindow.h \
./Windows/PopUpWindow.h \
./Windows/SnapshotsWindow.h \
./Windows/SettingsWindow.h \
./Windows/OptionsWindow.h \
./Windows/SelectBoxWindow.h \
./Windows/FileBrowserWindow.h
SOURCES += ./main.cpp \
./stdafx.cpp \
./SandMan.cpp \
./SbiePlusAPI.cpp \
./Models/TraceModel.cpp \
./Models/SbieModel.cpp \
./Views/SbieView.cpp \
./Views/TraceView.cpp \
./Dialogs/MultiErrorDialog.cpp \
./Helpers/FindTool.cpp \
./Helpers/WinAdmin.cpp \
./Helpers/WindowFromPointEx.cpp \
./Windows/NewBoxWindow.cpp \
./Windows/OptionsWindow.cpp \
./Windows/OptionsAccess.cpp \
./Windows/OptionsAdvanced.cpp \
./Windows/OptionsForce.cpp \
./Windows/OptionsGeneral.cpp \
./Windows/OptionsGrouping.cpp \
./Windows/OptionsNetwork.cpp \
./Windows/OptionsRecovery.cpp \
./Windows/OptionsStart.cpp \
./Windows/OptionsStop.cpp \
./Windows/OptionsTemplates.cpp \
./Windows/PopUpWindow.cpp \
./Windows/RecoveryWindow.cpp \
./Windows/SettingsWindow.cpp \
./Windows/SnapshotsWindow.cpp \
./Windows/SelectBoxWindow.cpp \
./Windows/FileBrowserWindow.cpp
FORMS += ./Forms/NewBoxWindow.ui \
./Forms/OptionsWindow.ui \
./Forms/PopUpWindow.ui \
./Forms/RecoveryWindow.ui \
./Forms/SettingsWindow.ui \
./Forms/SnapshotsWindow.ui \
./Forms/SelectBoxWindow.ui \
./Forms/FileBrowserWindow.ui
TRANSLATIONS += sandman_de.ts \
sandman_en.ts \
sandman_es.ts \
sandman_fr.ts \
sandman_it.ts \
sandman_nl.ts \
sandman_pl.ts \
sandman_pt.ts \
sandman_ru.ts \
sandman_zh-CN.ts \
sandman_zh-TW.ts
# sandman_tr.ts (unmaintained)
RESOURCES += Resources/SandMan.qrc
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Tools.
# ------------------------------------------------------
HEADERS += ./stdafx.h \
./SandMan.h \
./SbiePlusAPI.h \
./Models/SbieModel.h \
./Models/TraceModel.h \
./Views/SbieView.h \
./Views/TraceView.h \
./Dialogs/MultiErrorDialog.h \
./Helpers/FindTool.h \
./Helpers/WinAdmin.h \
./Windows/NewBoxWindow.h \
./Windows/RecoveryWindow.h \
./Windows/PopUpWindow.h \
./Windows/SnapshotsWindow.h \
./Windows/SettingsWindow.h \
./Windows/OptionsWindow.h \
./Windows/SelectBoxWindow.h \
./Windows/FileBrowserWindow.h
SOURCES += ./main.cpp \
./stdafx.cpp \
./SandMan.cpp \
./SbiePlusAPI.cpp \
./Models/TraceModel.cpp \
./Models/SbieModel.cpp \
./Views/SbieView.cpp \
./Views/TraceView.cpp \
./Dialogs/MultiErrorDialog.cpp \
./Helpers/FindTool.cpp \
./Helpers/WinAdmin.cpp \
./Helpers/WindowFromPointEx.cpp \
./Windows/NewBoxWindow.cpp \
./Windows/OptionsWindow.cpp \
./Windows/OptionsAccess.cpp \
./Windows/OptionsAdvanced.cpp \
./Windows/OptionsForce.cpp \
./Windows/OptionsGeneral.cpp \
./Windows/OptionsGrouping.cpp \
./Windows/OptionsNetwork.cpp \
./Windows/OptionsRecovery.cpp \
./Windows/OptionsStart.cpp \
./Windows/OptionsStop.cpp \
./Windows/OptionsTemplates.cpp \
./Windows/PopUpWindow.cpp \
./Windows/RecoveryWindow.cpp \
./Windows/SettingsWindow.cpp \
./Windows/SnapshotsWindow.cpp \
./Windows/SelectBoxWindow.cpp \
./Windows/FileBrowserWindow.cpp
FORMS += ./Forms/NewBoxWindow.ui \
./Forms/OptionsWindow.ui \
./Forms/PopUpWindow.ui \
./Forms/RecoveryWindow.ui \
./Forms/SettingsWindow.ui \
./Forms/SnapshotsWindow.ui \
./Forms/SelectBoxWindow.ui \
./Forms/FileBrowserWindow.ui
TRANSLATIONS += sandman_de.ts \
sandman_en.ts \
sandman_es.ts \
sandman_fr.ts \
sandman_it.ts \
sandman_nl.ts \
sandman_pl.ts \
sandman_pt.ts \
sandman_ru.ts \
sandman_zh-CN.ts \
sandman_zh-TW.ts
# sandman_tr.ts (unmaintained)
RESOURCES += Resources/SandMan.qrc

View File

@ -1,40 +1,40 @@
TEMPLATE = app
TARGET = SandMan
PRECOMPILED_HEADER = stdafx.h
QT += core gui network widgets winextras concurrent
CONFIG += lrelease
CONFIG(debug, debug|release):contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/x64/Debug
CONFIG(release, debug|release):contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/x64/Release
CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/Win32/Debug
CONFIG(release, debug|release):!contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/Win32/Release
LIBS += -lNtdll -lAdvapi32 -lOle32 -lUser32 -lShell32 -lGdi32 -lQSbieAPI -lMiscHelpers -lqtsingleapp -lUGlobalHotkey
CONFIG(release, debug|release):{
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
}
CONFIG(debug, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Debug
CONFIG(release, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Release
CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Debug
CONFIG(release, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Release
INCLUDEPATH += .
DEPENDPATH += .
MOC_DIR += .
OBJECTS_DIR += debug
UI_DIR += .
RCC_DIR += .
include(SandMan.pri)
win32:RC_FILE = SandMan.rc
TEMPLATE = app
TARGET = SandMan
PRECOMPILED_HEADER = stdafx.h
QT += core gui network widgets winextras concurrent
CONFIG += lrelease
CONFIG(debug, debug|release):contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/x64/Debug
CONFIG(release, debug|release):contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/x64/Release
CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/Win32/Debug
CONFIG(release, debug|release):!contains(QMAKE_HOST.arch, x86_64):LIBS += -L../Bin/Win32/Release
LIBS += -lNtdll -lAdvapi32 -lOle32 -lUser32 -lShell32 -lGdi32 -lQSbieAPI -lMiscHelpers -lqtsingleapp -lUGlobalHotkey
CONFIG(release, debug|release):{
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
}
CONFIG(debug, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Debug
CONFIG(release, debug|release):contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/x64/Release
CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Debug
CONFIG(release, debug|release):!contains(QMAKE_HOST.arch, x86_64):DESTDIR = ../Bin/Win32/Release
INCLUDEPATH += .
DEPENDPATH += .
MOC_DIR += .
OBJECTS_DIR += debug
UI_DIR += .
RCC_DIR += .
include(SandMan.pri)
win32:RC_FILE = SandMan.rc

View File

@ -1,14 +1,14 @@
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Tools.
# ------------------------------------------------------
# This is a reminder that you are using a generated .pro file.
# Remove it when you are finished editing this file.
message("You are running qmake on a generated .pro file. This may not work!")
TEMPLATE = subdirs
SUBDIRS += SandMan/SandMan.qc.pro \
QSbieAPI/QSbieAPI.qc.pro \
MiscHelpers/MiscHelpers.qc.pro \
QtSingleApp/qtsingleapp/qtsingleapp/qtsingleapp.qc.pro
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Tools.
# ------------------------------------------------------
# This is a reminder that you are using a generated .pro file.
# Remove it when you are finished editing this file.
message("You are running qmake on a generated .pro file. This may not work!")
TEMPLATE = subdirs
SUBDIRS += SandMan/SandMan.qc.pro \
QSbieAPI/QSbieAPI.qc.pro \
MiscHelpers/MiscHelpers.qc.pro \
QtSingleApp/qtsingleapp/qtsingleapp/qtsingleapp.qc.pro

View File

@ -1,22 +1,22 @@
QMAKE_CXX.INCDIRS = \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.15.26726\\ATLMFC\\include" \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.15.26726\\include" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\include\\um" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.17134.0\\ucrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.17134.0\\shared" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.17134.0\\um" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.17134.0\\winrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.17134.0\\cppwinrt"
QMAKE_CXX.LIBDIRS = \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.15.26726\\ATLMFC\\lib\\x86" \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.15.26726\\lib\\x86" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\lib\\um\\x86" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.17134.0\\ucrt\\x86" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.17134.0\\um\\x86"
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
QMAKE_CXX.QMAKE_MSC_VER = 1915
QMAKE_CXX.QMAKE_MSC_FULL_VER = 191526730
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_MSC_VER \
QMAKE_MSC_FULL_VER
QMAKE_CXX.INCDIRS = \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.15.26726\\ATLMFC\\include" \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.15.26726\\include" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\include\\um" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.17134.0\\ucrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.17134.0\\shared" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.17134.0\\um" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.17134.0\\winrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.17134.0\\cppwinrt"
QMAKE_CXX.LIBDIRS = \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.15.26726\\ATLMFC\\lib\\x86" \
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.15.26726\\lib\\x86" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6.1\\lib\\um\\x86" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.17134.0\\ucrt\\x86" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.17134.0\\um\\x86"
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
QMAKE_CXX.QMAKE_MSC_VER = 1915
QMAKE_CXX.QMAKE_MSC_FULL_VER = 191526730
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_MSC_VER \
QMAKE_MSC_FULL_VER