diff --git a/AboutWindowController.m b/AboutWindowController.m
index 43b3d9f..337a2f0 100644
--- a/AboutWindowController.m
+++ b/AboutWindowController.m
@@ -7,8 +7,8 @@
// copyright (c) 2018 Objective-See. All rights reserved.
//
-#import "Consts.h"
-#import "Utilities.h"
+#import "consts.h"
+#import "utilities.h"
#import "AboutWindowController.h"
@implementation AboutWindowController
diff --git a/AppDelegate.m b/AppDelegate.m
index 1285836..5da804e 100755
--- a/AppDelegate.m
+++ b/AppDelegate.m
@@ -3,9 +3,9 @@
// KnockKnock
//
-#import "Consts.h"
+#import "consts.h"
#import "Update.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "PluginBase.h"
#import "AppDelegate.h"
diff --git a/Base.lproj/Welcome.xib b/Base.lproj/Welcome.xib
index ec3e6bb..b5543b0 100644
--- a/Base.lproj/Welcome.xib
+++ b/Base.lproj/Welcome.xib
@@ -10,15 +10,17 @@
-
-
-
+
+
-
+
+
+
+
@@ -38,7 +40,7 @@
-
+
@@ -54,7 +56,7 @@
-
+
@@ -74,12 +76,12 @@
-
+
-
+
@@ -87,21 +89,22 @@
-
- Malware often installs itself persistently so it runs each time your Mac starts. KnockKnock checks “who’s there” by scanning all persistent software to reveal anything suspicious.
+
+ Malware often installs itself persistently so it automatically runs each time your Mac starts.
+KnockKnock checks “who’s there” by scanning all persistent software to reveal anything suspicious.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
-
+
@@ -289,17 +301,8 @@
-
-
-
-
-
-
-
-
-
-
+
@@ -308,7 +311,7 @@
-
+
@@ -317,7 +320,7 @@
-
+
@@ -325,97 +328,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -442,7 +356,7 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CategoryTableController.m b/CategoryTableController.m
index 8e89fca..3068d99 100755
--- a/CategoryTableController.m
+++ b/CategoryTableController.m
@@ -6,7 +6,7 @@
//
-#import "Consts.h"
+#import "consts.h"
#import "PluginBase.h"
#import "AppDelegate.h"
#import "KKRow.h"
diff --git a/DiffWindowController.m b/DiffWindowController.m
index 6bc4489..bb648a5 100644
--- a/DiffWindowController.m
+++ b/DiffWindowController.m
@@ -6,7 +6,7 @@
// Copyright (c) 2024 Objective-See. All rights reserved.
//
-#import "Consts.h"
+#import "consts.h"
#import "DiffWindowController.h"
@implementation DiffWindowController
diff --git a/Filter.m b/Filter.m
index bf45b81..e316494 100755
--- a/Filter.m
+++ b/Filter.m
@@ -5,9 +5,9 @@
// Created by Patrick Wardle on 2/21/15.
// Copyright (c) 2015 Objective-See. All rights reserved.
//
-#import "Consts.h"
+#import "consts.h"
#import "Filter.h"
-#import "Utilities.h"
+#import "utilities.h"
@implementation Filter
diff --git a/InfoWindowController.m b/InfoWindowController.m
index f29e3a9..ce698ef 100755
--- a/InfoWindowController.m
+++ b/InfoWindowController.m
@@ -7,10 +7,10 @@
//
#import "File.h"
-#import "Consts.h"
+#import "consts.h"
#import "Command.h"
#import "Extension.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "InfoWindowController.h"
diff --git a/ItemEnumerator.m b/ItemEnumerator.m
index 7da6c60..d8cc548 100755
--- a/ItemEnumerator.m
+++ b/ItemEnumerator.m
@@ -6,8 +6,8 @@
// Copyright (c) 2015 Objective-See. All rights reserved.
//
-#import "Consts.h"
-#import "Utilities.h"
+#import "consts.h"
+#import "utilities.h"
#import "ItemEnumerator.h"
@implementation ItemEnumerator
diff --git a/ItemTableController.m b/ItemTableController.m
index 7b95d5e..82a8ce2 100755
--- a/ItemTableController.m
+++ b/ItemTableController.m
@@ -8,11 +8,11 @@
#import "File.h"
-#import "Consts.h"
+#import "consts.h"
#import "Command.h"
#import "VTButton.h"
#import "Extension.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "AppDelegate.h"
#import "Results/ItemBase.h"
#import "ItemTableController.h"
diff --git a/KKRow.m b/KKRow.m
index 96d30a4..a70271a 100755
--- a/KKRow.m
+++ b/KKRow.m
@@ -7,7 +7,7 @@
//
#import "KKRow.h"
-#import "Utilities.h"
+#import "utilities.h"
@implementation KKRow
diff --git a/KnockKnock.xcodeproj/project.pbxproj b/KnockKnock.xcodeproj/project.pbxproj
index a579ce9..997e841 100755
--- a/KnockKnock.xcodeproj/project.pbxproj
+++ b/KnockKnock.xcodeproj/project.pbxproj
@@ -68,7 +68,7 @@
CD890F4223778F7B00029D99 /* DirectoryServicesPlugins.m in Sources */ = {isa = PBXBuildFile; fileRef = CD890F4123778F7B00029D99 /* DirectoryServicesPlugins.m */; };
CD890F44237790D400029D99 /* directoryServicesIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CD890F43237790D400029D99 /* directoryServicesIcon.png */; };
CDA81D4F1A95B492009790E2 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA81D451A95B492009790E2 /* AppDelegate.m */; };
- CDA81D531A95B492009790E2 /* Utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA81D4E1A95B492009790E2 /* Utilities.m */; };
+ CDA81D531A95B492009790E2 /* utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA81D4E1A95B492009790E2 /* utilities.m */; };
CDA81D5E1A95B4B4009790E2 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA81D5A1A95B4B4009790E2 /* main.m */; };
CDA81D691A95B4E9009790E2 /* bug.png in Resources */ = {isa = PBXBuildFile; fileRef = CDA81D5F1A95B4E9009790E2 /* bug.png */; };
CDA81D6A1A95B4E9009790E2 /* mainIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CDA81D601A95B4E9009790E2 /* mainIcon.png */; };
@@ -253,9 +253,9 @@
CD890F43237790D400029D99 /* directoryServicesIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = directoryServicesIcon.png; path = images/directoryServicesIcon.png; sourceTree = SOURCE_ROOT; };
CDA81D441A95B492009790E2 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = SOURCE_ROOT; };
CDA81D451A95B492009790E2 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = SOURCE_ROOT; };
- CDA81D481A95B492009790E2 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = SOURCE_ROOT; };
- CDA81D4D1A95B492009790E2 /* Utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utilities.h; sourceTree = SOURCE_ROOT; };
- CDA81D4E1A95B492009790E2 /* Utilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utilities.m; sourceTree = SOURCE_ROOT; };
+ CDA81D481A95B492009790E2 /* consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = consts.h; sourceTree = SOURCE_ROOT; };
+ CDA81D4D1A95B492009790E2 /* utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utilities.h; sourceTree = SOURCE_ROOT; };
+ CDA81D4E1A95B492009790E2 /* utilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = utilities.m; sourceTree = SOURCE_ROOT; };
CDA81D581A95B4B4009790E2 /* KnockKnock-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "KnockKnock-Info.plist"; sourceTree = SOURCE_ROOT; };
CDA81D591A95B4B4009790E2 /* KnockKnock-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KnockKnock-Prefix.pch"; sourceTree = SOURCE_ROOT; };
CDA81D5A1A95B4B4009790E2 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = SOURCE_ROOT; };
@@ -441,7 +441,7 @@
CDA81D441A95B492009790E2 /* AppDelegate.h */,
CDA81D451A95B492009790E2 /* AppDelegate.m */,
CD585493219FE61D00A438B0 /* Assets.xcassets */,
- CDA81D481A95B492009790E2 /* Consts.h */,
+ CDA81D481A95B492009790E2 /* consts.h */,
CDE241A92C8556A40099F82B /* DiffWindowController.h */,
CDE241AA2C8556A40099F82B /* DiffWindowController.m */,
CD6095501A8329FA00E091CD /* images */,
@@ -455,8 +455,8 @@
1D21BC55172AF43D009D1CFD /* Supporting Files */,
CD2F219D21A8A73000F67A83 /* Update.h */,
CD2F219E21A8A73100F67A83 /* Update.m */,
- CDA81D4D1A95B492009790E2 /* Utilities.h */,
- CDA81D4E1A95B492009790E2 /* Utilities.m */,
+ CDA81D4D1A95B492009790E2 /* utilities.h */,
+ CDA81D4E1A95B492009790E2 /* utilities.m */,
CDF08CC41AC46E75009B3423 /* VTButton.h */,
CDF08CC51AC46E75009B3423 /* VTButton.m */,
);
@@ -887,7 +887,7 @@
CDAB989C1AEAC95500C75B4B /* ItemEnumerator.m in Sources */,
CDA81D771A95B7C1009790E2 /* CategoryTableController.m in Sources */,
CD7B9F531ACBAE2900DF3C71 /* SpotlightImporters.m in Sources */,
- CDA81D531A95B492009790E2 /* Utilities.m in Sources */,
+ CDA81D531A95B492009790E2 /* utilities.m in Sources */,
CD7B9FAB1AD08FA100DF3C71 /* KKRow.m in Sources */,
CDA81D8E1A96F557009790E2 /* Kexts.m in Sources */,
);
diff --git a/PlistWindowController.m b/PlistWindowController.m
index f57b5ca..fe4e50d 100644
--- a/PlistWindowController.m
+++ b/PlistWindowController.m
@@ -6,7 +6,7 @@
// Copyright (c) 2016 Objective-See. All rights reserved.
//
-#import "Consts.h"
+#import "consts.h"
#import "PlistWindowController.h"
diff --git a/Plugins/AuthorizationPlugins.m b/Plugins/AuthorizationPlugins.m
index a198272..72ac65f 100755
--- a/Plugins/AuthorizationPlugins.m
+++ b/Plugins/AuthorizationPlugins.m
@@ -6,7 +6,7 @@
// example app (for testing, etc): http://www.rohos.com/2015/10/installing-rohos-logon-in-mac-os-10-11-el-capitan/
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "AuthorizationPlugins.h"
//plugin name
diff --git a/Plugins/BTM.m b/Plugins/BTM.m
index 99fcd37..1aa1a3d 100755
--- a/Plugins/BTM.m
+++ b/Plugins/BTM.m
@@ -8,7 +8,7 @@
#import "BTM.h"
#import "File.h"
#import "dumpBTM.h"
-#import "Utilities.h"
+#import "utilities.h"
//plugin name
#define PLUGIN_NAME @"Background Managed Tasks"
diff --git a/Plugins/BrowserExtensions.m b/Plugins/BrowserExtensions.m
index cd10a61..a61c5cc 100755
--- a/Plugins/BrowserExtensions.m
+++ b/Plugins/BrowserExtensions.m
@@ -4,7 +4,7 @@
//
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "BrowserExtensions.h"
#import "../Results/Extension.h"
diff --git a/Plugins/Cronjobs.m b/Plugins/Cronjobs.m
index 45a6e98..418a0d3 100755
--- a/Plugins/Cronjobs.m
+++ b/Plugins/Cronjobs.m
@@ -7,7 +7,7 @@
#import "Command.h"
#import "Cronjobs.h"
-#import "Utilities.h"
+#import "utilities.h"
//plugin name
#define PLUGIN_NAME @"Cron Jobs"
diff --git a/Plugins/DirectoryServicesPlugins.m b/Plugins/DirectoryServicesPlugins.m
index b173171..29cb29a 100755
--- a/Plugins/DirectoryServicesPlugins.m
+++ b/Plugins/DirectoryServicesPlugins.m
@@ -7,7 +7,7 @@
//
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "DirectoryServicesPlugins.h"
//plugin name
diff --git a/Plugins/DockTiles.m b/Plugins/DockTiles.m
index 59c3230..1c52152 100755
--- a/Plugins/DockTiles.m
+++ b/Plugins/DockTiles.m
@@ -6,7 +6,7 @@
#import "File.h"
#import "DockTiles.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "AppDelegate.h"
//plugin name
diff --git a/Plugins/DylibInserts.m b/Plugins/DylibInserts.m
index e008988..9356792 100755
--- a/Plugins/DylibInserts.m
+++ b/Plugins/DylibInserts.m
@@ -4,7 +4,7 @@
//
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "AppDelegate.h"
#import "DylibInserts.h"
diff --git a/Plugins/DylibProxies.m b/Plugins/DylibProxies.m
index 2ddbbb4..663c492 100755
--- a/Plugins/DylibProxies.m
+++ b/Plugins/DylibProxies.m
@@ -5,7 +5,7 @@
#import "File.h"
#import "MachO/MachO.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "DylibProxies.h"
//plugin name
diff --git a/Plugins/EventRules.m b/Plugins/EventRules.m
index 9b61658..a56d59c 100755
--- a/Plugins/EventRules.m
+++ b/Plugins/EventRules.m
@@ -7,7 +7,7 @@
//
#import "Command.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "EventRules.h"
//plugin name
diff --git a/Plugins/Extensions.m b/Plugins/Extensions.m
index 3685be3..84d7f8b 100755
--- a/Plugins/Extensions.m
+++ b/Plugins/Extensions.m
@@ -6,7 +6,7 @@
// only for current user, since we utilized 'pluginkit' which is "for current user"
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "Extensions.h"
//plugin name
diff --git a/Plugins/Kexts.m b/Plugins/Kexts.m
index 43acf38..f974311 100755
--- a/Plugins/Kexts.m
+++ b/Plugins/Kexts.m
@@ -5,7 +5,7 @@
#import "File.h"
#import "Kexts.h"
-#import "Utilities.h"
+#import "utilities.h"
//plugin name
#define PLUGIN_NAME @"Kernel Extensions"
diff --git a/Plugins/LaunchItems.m b/Plugins/LaunchItems.m
index 18196e4..d409ea4 100755
--- a/Plugins/LaunchItems.m
+++ b/Plugins/LaunchItems.m
@@ -4,7 +4,7 @@
//
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "AppDelegate.h"
#import "LaunchItems.h"
diff --git a/Plugins/LogInOutHooks.m b/Plugins/LogInOutHooks.m
index ccaa8c3..9442257 100755
--- a/Plugins/LogInOutHooks.m
+++ b/Plugins/LogInOutHooks.m
@@ -7,7 +7,7 @@
#import "File.h"
#import "Command.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "LogInOutHooks.h"
//for some details/examples:
diff --git a/Plugins/LoginItems.m b/Plugins/LoginItems.m
index 7f593e3..3844293 100755
--- a/Plugins/LoginItems.m
+++ b/Plugins/LoginItems.m
@@ -4,7 +4,7 @@
//
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "LoginItems.h"
#import
diff --git a/Plugins/PeriodicScrips.m b/Plugins/PeriodicScrips.m
index 84ad896..2ce6fc8 100755
--- a/Plugins/PeriodicScrips.m
+++ b/Plugins/PeriodicScrips.m
@@ -6,7 +6,7 @@
// example app (for testing, etc): http://www.rohos.com/2015/10/installing-rohos-logon-in-mac-os-10-11-el-capitan/
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "PeriodicScrips.h"
//plugin name
diff --git a/Plugins/PluginBase.h b/Plugins/PluginBase.h
index 7d9ed7d..f239764 100755
--- a/Plugins/PluginBase.h
+++ b/Plugins/PluginBase.h
@@ -6,7 +6,7 @@
// Copyright (c) 2015 Objective-See, LLC. All rights reserved.
//
-#import "Consts.h"
+#import "consts.h"
#import "../Results/ItemBase.h"
#import
diff --git a/Plugins/QuicklookPlugins.m b/Plugins/QuicklookPlugins.m
index 37b4983..0e8a0d6 100755
--- a/Plugins/QuicklookPlugins.m
+++ b/Plugins/QuicklookPlugins.m
@@ -7,7 +7,7 @@
//
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "QuicklookPlugins.h"
//plugin name
diff --git a/Plugins/SpotlightImporters.m b/Plugins/SpotlightImporters.m
index 695329b..7565b5b 100755
--- a/Plugins/SpotlightImporters.m
+++ b/Plugins/SpotlightImporters.m
@@ -4,7 +4,7 @@
//
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "SpotlightImporters.h"
//plugin name
diff --git a/Plugins/StartupScripts.m b/Plugins/StartupScripts.m
index d540e12..23897f1 100755
--- a/Plugins/StartupScripts.m
+++ b/Plugins/StartupScripts.m
@@ -6,7 +6,7 @@
// normally these scripts shouldn't exist, or are whitelisted - so any deviations, just show file
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "StartupScripts.h"
//plugin name
diff --git a/Plugins/SystemExtensions.m b/Plugins/SystemExtensions.m
index a981b6d..dcb7906 100755
--- a/Plugins/SystemExtensions.m
+++ b/Plugins/SystemExtensions.m
@@ -6,7 +6,7 @@
// only for current user, since we utilized 'pluginkit' which is "for current user"
#import "File.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "SystemExtensions.h"
//plugin name
diff --git a/PrefsWindowController.m b/PrefsWindowController.m
index 78e7dd1..0c73693 100755
--- a/PrefsWindowController.m
+++ b/PrefsWindowController.m
@@ -7,7 +7,7 @@
//
-#import "Utilities.h"
+#import "utilities.h"
#import "AppDelegate.h"
#import "PrefsWindowController.h"
diff --git a/Results/Command.m b/Results/Command.m
index 9aa9e26..d425624 100755
--- a/Results/Command.m
+++ b/Results/Command.m
@@ -6,9 +6,9 @@
// Copyright (c) 2015 Objective-See. All rights reserved.
//
-#import "Consts.h"
+#import "consts.h"
#import "Command.h"
-#import "Utilities.h"
+#import "utilities.h"
@implementation Command
diff --git a/Results/Extension.m b/Results/Extension.m
index 72ea315..1fa0852 100755
--- a/Results/Extension.m
+++ b/Results/Extension.m
@@ -6,7 +6,7 @@
// Copyright (c) 2015 Objective-See. All rights reserved.
//
-#import "Consts.h"
+#import "consts.h"
#import "Extension.h"
#import "AppDelegate.h"
diff --git a/Results/File.m b/Results/File.m
index 3424954..9104e33 100755
--- a/Results/File.m
+++ b/Results/File.m
@@ -9,9 +9,9 @@
#import "File.h"
#import "MachO/MachO.h"
-#import "Consts.h"
+#import "consts.h"
#import "Signing.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "AppDelegate.h"
@implementation File
diff --git a/Results/ItemBase.m b/Results/ItemBase.m
index 1642eaa..8687443 100755
--- a/Results/ItemBase.m
+++ b/Results/ItemBase.m
@@ -2,7 +2,7 @@
// PluginBase.m
// KnockKnock
-#import "Consts.h"
+#import "consts.h"
#import "Command.h"
#import "ItemBase.h"
diff --git a/ResultsWindowController.m b/ResultsWindowController.m
index 2d1a8ed..9ad4fce 100755
--- a/ResultsWindowController.m
+++ b/ResultsWindowController.m
@@ -6,7 +6,7 @@
// Copyright (c) 2015 Objective-See, LLC. All rights reserved.
//
-#import "Utilities.h"
+#import "utilities.h"
#import "AppDelegate.h"
#import "ResultsWindowController.h"
diff --git a/Signing.m b/Signing.m
index fee4384..3ce7da4 100644
--- a/Signing.m
+++ b/Signing.m
@@ -7,9 +7,9 @@
// License: Creative Commons Attribution-NonCommercial 4.0 International License
//
-#import "Consts.h"
+#import "consts.h"
#import "Signing.h"
-#import "Utilities.h"
+#import "utilities.h"
#import
#import
diff --git a/UnknownItemsWindowController.m b/UnknownItemsWindowController.m
index 80c3337..0e12df8 100644
--- a/UnknownItemsWindowController.m
+++ b/UnknownItemsWindowController.m
@@ -9,8 +9,8 @@
#define COL_RESULT 0x1
#define COL_PATH 0x2
-#import "Consts.h"
-#import "Utilities.h"
+#import "consts.h"
+#import "utilities.h"
#import "AppDelegate.h"
#import "UnknownItemsWindowController.h"
diff --git a/Update.m b/Update.m
index 96f7a72..01d59d8 100644
--- a/Update.m
+++ b/Update.m
@@ -7,9 +7,9 @@
// copyright (c) 2017 Objective-See. All rights reserved.
//
-#import "Consts.h"
+#import "consts.h"
#import "Update.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "AppDelegate.h"
diff --git a/UpdateWindowController.m b/UpdateWindowController.m
index 057f233..918c258 100644
--- a/UpdateWindowController.m
+++ b/UpdateWindowController.m
@@ -7,8 +7,8 @@
// copyright (c) 2017 Objective-See. All rights reserved.
//
-#import "Consts.h"
-#import "Utilities.h"
+#import "consts.h"
+#import "utilities.h"
#import "AppDelegate.h"
#import "UpdateWindowController.h"
diff --git a/VTButton.m b/VTButton.m
index d45fedb..a24e9e9 100755
--- a/VTButton.m
+++ b/VTButton.m
@@ -6,9 +6,9 @@
// Copyright (c) 2015 Objective-See. All rights reserved.
//
-#import "Consts.h"
+#import "consts.h"
#import "VTButton.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "ItemTableController.h"
@implementation VTButton
diff --git a/VTInfoWindowController.m b/VTInfoWindowController.m
index e0ea9fa..f5bf51b 100755
--- a/VTInfoWindowController.m
+++ b/VTInfoWindowController.m
@@ -7,8 +7,8 @@
//
#import "File.h"
-#import "Consts.h"
-#import "Utilities.h"
+#import "consts.h"
+#import "utilities.h"
#import "VirusTotal.h"
#import "AppDelegate.h"
#import "VTInfoWindowController.h"
diff --git a/VirusTotal.m b/VirusTotal.m
index 3e1dcd5..8ea82ea 100755
--- a/VirusTotal.m
+++ b/VirusTotal.m
@@ -8,7 +8,7 @@
#import "File.h"
#import "ItemBase.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "PluginBase.h"
#import "VirusTotal.h"
#import "AppDelegate.h"
diff --git a/WelcomeWindowController.h b/WelcomeWindowController.h
index c13cdd3..fae5282 100644
--- a/WelcomeWindowController.h
+++ b/WelcomeWindowController.h
@@ -9,7 +9,6 @@
@import Cocoa;
@import OSLog;
-
@interface WelcomeWindowController : NSWindowController
/* PROPERTIES */
@@ -53,21 +52,21 @@
//config view
@property (strong) IBOutlet NSView *configureView;
-//allow apple bins/apps
-@property (weak) IBOutlet NSButton *allowApple;
+@property (strong) IBOutlet NSView *vtIntegrationView;
-//allow 3rd-party installed apps
-@property (weak) IBOutlet NSButton *allowInstalled;
+@property (weak) IBOutlet NSTextField *vtAPIKey;
-//allow dns traffic installed apps
-@property (weak) IBOutlet NSButton *allowDNS;
+//show apple items
+@property (weak) IBOutlet NSButton *showAppleItems;
+
+//disable update check
+@property (weak) IBOutlet NSButton *disableUpdateCheck;
+
+@property (weak) IBOutlet NSButton *disableVTQueries;
//support view
@property (strong) IBOutlet NSView *supportView;
-//preferences
-@property (nonatomic, retain)NSDictionary* preferences;
-
/* METHODS */
//show a view
diff --git a/WelcomeWindowController.m b/WelcomeWindowController.m
index 3950f8c..637ea48 100644
--- a/WelcomeWindowController.m
+++ b/WelcomeWindowController.m
@@ -21,13 +21,13 @@ extern os_log_t logHandle;
//buttons
#define REQUEST_FDA 1
#define SHOW_CONFIGURE 2
-#define SHOW_SUPPORT 3
-#define SUPPORT_NO 4
-#define SUPPORT_YES 5
+#define SHOW_VT_INTEGRATION 3
+#define SHOW_SUPPORT 4
+#define SUPPORT_NO 5
+#define SUPPORT_YES 6
@implementation WelcomeWindowController
-@synthesize preferences;
@synthesize welcomeViewController;
//welcome!
@@ -95,13 +95,35 @@ extern os_log_t logHandle;
// show next view, sometimes, with view specific logic
-(IBAction)buttonHandler:(id)sender {
- //leaving prefs view?
- // capture prefs
- if( (SHOW_CONFIGURE+1) == ((NSToolbarItem*)sender).tag)
- {
- //TODO:
- //capture
- //self.preferences = @{PREF_ALLOW_APPLE:[NSNumber numberWithBool:self.allowApple.state], PREF_ALLOW_INSTALLED: [NSNumber numberWithBool:self.allowInstalled.state], PREF_ALLOW_DNS: [NSNumber numberWithBool:self.allowDNS.state], PREF_ALLOW_SIMULATOR:@NO, PREF_PASSIVE_MODE:@NO, PREF_PASSIVE_MODE_ACTION:@0, PREF_BLOCK_MODE:@NO, PREF_NO_ICON_MODE:@NO, PREF_NO_VT_MODE:@NO, PREF_NO_UPDATE_MODE:@NO, PREF_INSTALL_TIMESTAMP:[NSDate date]};
+ //leaving configure view?
+ // capture the user's selections
+ if( (SHOW_CONFIGURE+1) == ((NSToolbarItem*)sender).tag) {
+
+ //user defaults
+ NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
+
+ //save 'show trusted items'
+ [defaults setBool:self.showAppleItems.state forKey:PREF_SHOW_TRUSTED_ITEMS];
+
+ //save 'show trusted items'
+ [defaults setBool:self.disableUpdateCheck.state forKey:PREF_DISABLE_UPDATE_CHECK];
+
+ }
+
+ //leaving vt integration view?
+ // capture the user's selections
+ if( (SHOW_VT_INTEGRATION+1) == ((NSToolbarItem*)sender).tag) {
+
+ //user defaults
+ NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
+
+ //save 'disable VT queries'
+ [defaults setBool:self.disableVTQueries.state forKey:PREF_DISABLE_VT_QUERIRES];
+
+ //save API key to keychain
+ if(0 != self.vtAPIKey.stringValue.length) {
+ saveAPIKeyToKeychain(self.vtAPIKey.stringValue);
+ }
}
//set next view
@@ -113,6 +135,7 @@ extern os_log_t logHandle;
//hide title
self.window.title = @"";
+ //rounded corners
self.fdaNote.wantsLayer = true;
self.fdaNote.layer.cornerRadius = 5;
@@ -128,7 +151,7 @@ extern os_log_t logHandle;
//in background
// wait unitl user grants us FDA
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
- ^{
+ ^{
//wait for FDA
do {
@@ -163,7 +186,18 @@ extern os_log_t logHandle;
self.window.title = @"";
//show
- [self showView:self.configureView firstResponder:SHOW_SUPPORT];
+ [self showView:self.configureView firstResponder:SHOW_VT_INTEGRATION];
+
+ break;
+
+ //show VT integration view
+ case SHOW_VT_INTEGRATION:
+
+ //hide title
+ self.window.title = @"";
+
+ //show
+ [self showView:self.vtIntegrationView firstResponder:SHOW_SUPPORT];
break;
diff --git a/Consts.h b/consts.h
similarity index 99%
rename from Consts.h
rename to consts.h
index 13bb1e5..9bffc52 100755
--- a/Consts.h
+++ b/consts.h
@@ -1,5 +1,5 @@
//
-// Consts.h
+// consts.h
// KnockKnock
//
// Created by Patrick Wardle on 2/4/15.
@@ -32,6 +32,7 @@ static NSString * const SUPPORTED_PLUGINS[] = {@"AuthorizationPlugins", @"Browse
// ->disable VT querires
#define PREF_DISABLE_VT_QUERIRES @"disableVTQueries"
+
//prefs
// ->no updates
#define PREF_DISABLE_UPDATE_CHECK @"noUpdateCheck"
diff --git a/main.h b/main.h
index 71ffc8e..ce19315 100644
--- a/main.h
+++ b/main.h
@@ -9,9 +9,9 @@
#ifndef main_h
#define main_h
-#import "Consts.h"
+#import "consts.h"
#import "Filter.h"
-#import "Utilities.h"
+#import "utilities.h"
#import "VirusTotal.h"
#import "AppDelegate.h"
#import "ItemEnumerator.h"
diff --git a/Utilities.h b/utilities.h
similarity index 99%
rename from Utilities.h
rename to utilities.h
index b01da0b..0700d33 100755
--- a/Utilities.h
+++ b/utilities.h
@@ -1,5 +1,5 @@
//
-// Utilities.h
+// utilities.h
// KnockKnock
//
// Created by Patrick Wardle on 2/7/15.
diff --git a/Utilities.m b/utilities.m
similarity index 99%
rename from Utilities.m
rename to utilities.m
index a0c3537..8131ba6 100755
--- a/Utilities.m
+++ b/utilities.m
@@ -6,8 +6,8 @@
// Copyright (c) 2015 Objective-See. All rights reserved.
//
-#import "Consts.h"
-#import "Utilities.h"
+#import "consts.h"
+#import "utilities.h"
#import
#import