From 85106b98def9224b1c5baa4aa339edbe637695f4 Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Sat, 30 Jan 2016 14:14:05 +0000 Subject: [PATCH] Add Odyssey logo --- core/main/models/browserdetails.rb | 1 + core/main/models/hookedbrowser.rb | 2 ++ extensions/admin_ui/constants/agents.rb | 2 ++ .../admin_ui/media/images/icons/odyssey.png | Bin 0 -> 19931 bytes 4 files changed, 5 insertions(+) create mode 100644 extensions/admin_ui/media/images/icons/odyssey.png diff --git a/core/main/models/browserdetails.rb b/core/main/models/browserdetails.rb index 18ae0d087..43d9d720a 100644 --- a/core/main/models/browserdetails.rb +++ b/core/main/models/browserdetails.rb @@ -66,6 +66,7 @@ module Models return BeEF::Extension::AdminUI::Constants::Agents::AGENT_SAFARI_IMG if browser.eql? 'S' # Safari return BeEF::Extension::AdminUI::Constants::Agents::AGENT_CHROME_IMG if browser.eql? 'C' # Chrome return BeEF::Extension::AdminUI::Constants::Agents::AGENT_OPERA_IMG if browser.eql? 'O' # Opera + return BeEF::Extension::AdminUI::Constants::Agents::AGENT_ODYSSEY_IMG if browser.eql? 'OD' # Odyssey BeEF::Extension::AdminUI::Constants::Agents::AGENT_UNKNOWN_IMG end diff --git a/core/main/models/hookedbrowser.rb b/core/main/models/hookedbrowser.rb index 720ecb0cd..ebc5692b4 100644 --- a/core/main/models/hookedbrowser.rb +++ b/core/main/models/hookedbrowser.rb @@ -43,6 +43,7 @@ module Models # @return [String] String constant containing browser icon path def browser_icon agent = JSON.parse(self.httpheaders)['user-agent'].to_s || nil +puts 'A'*100 return BeEF::Extension::AdminUI::Constants::Agents::AGENT_UNKNOWN_IMG if agent.nil? return BeEF::Extension::AdminUI::Constants::Agents::AGENT_IE_IMG if agent.include? BeEF::Extension::AdminUI::Constants::Agents::AGENT_IE_UA_STR @@ -52,6 +53,7 @@ module Models return BeEF::Extension::AdminUI::Constants::Agents::AGENT_KONQ_IMG if agent.include? BeEF::Extension::AdminUI::Constants::Agents::AGENT_KONQ_UA_STR return BeEF::Extension::AdminUI::Constants::Agents::AGENT_CHROME_IMG if agent.include? BeEF::Extension::AdminUI::Constants::Agents::AGENT_CHROME_UA_STR return BeEF::Extension::AdminUI::Constants::Agents::AGENT_OPERA_IMG if agent.include? BeEF::Extension::AdminUI::Constants::Agents::AGENT_OPERA_UA_STR + return BeEF::Extension::AdminUI::Constants::Agents::AGENT_ODYSSEY_IMG if agent.include? BeEF::Extension::AdminUI::Constants::Agents::AGENT_ODYSSEY_UA_STR BeEF::Extension::AdminUI::Constants::Agents::AGENT_UNKNOWN_IMG end diff --git a/extensions/admin_ui/constants/agents.rb b/extensions/admin_ui/constants/agents.rb index 126d4040f..b00da4abb 100644 --- a/extensions/admin_ui/constants/agents.rb +++ b/extensions/admin_ui/constants/agents.rb @@ -26,6 +26,8 @@ module Constants AGENT_CHROME_IMG = 'chrome.png' AGENT_OPERA_UA_STR = 'Opera' AGENT_OPERA_IMG = 'opera.ico' + AGENT_ODYSSEY_UA_STR = 'Odyssey Web Browser' + AGENT_ODYSSEY_IMG = 'odyssey.png' end diff --git a/extensions/admin_ui/media/images/icons/odyssey.png b/extensions/admin_ui/media/images/icons/odyssey.png new file mode 100644 index 0000000000000000000000000000000000000000..5f9ffd73932233c556f233524f9ad1773a105b08 GIT binary patch literal 19931 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 egKhs`fB^u_OX*uFXtIF-0000