// // Copyright (c) 2006-2015 Wade Alcorn - wade@bindshell.net // Browser Exploitation Framework (BeEF) - http://beefproject.com // See the file 'doc/COPYING' for copying permission // beef.hardware = { ua: navigator.userAgent, /* * @return: {String} CPU type **/ cpuType: function() { // IE if (typeof navigator.cpuClass != 'undefined') { cpu = navigator.cpuClass; if (cpu == "x86") return "32-bit"; if (cpu == "68K") return "Motorola 68K"; if (cpu == "PPC") return "Motorola PPC"; if (cpu == "Alpha") return "Digital"; if (this.ua.match('Win64; IA64')) return "64-bit (Intel)"; if (this.ua.match('Win64; x64')) return "64-bit (AMD)"; // Firefox } else if (typeof navigator.oscpu != 'undefined') { if (navigator.oscpu.match('(WOW64|x64|x86_64)')) return "64-bit"; } if (navigator.platform.toLowerCase() == "win64") return "64-bit"; return "32-bit"; }, /* * @return: {Boolean} true or false. **/ isTouchEnabled: function() { if ('ontouchstart' in document) return true; return false; }, /* * @return: {Boolean} true or false. **/ isVirtualMachine: function() { if (screen.width % 2 || screen.height % 2) return true; return false; }, /* * @return: {Boolean} true or false. **/ isLaptop: function() { // Most common laptop screen resolution if (screen.width == 1366 && screen.height == 768) return true; // Netbooks if (screen.width == 1024 && screen.height == 600) return true; return false; }, /* * @return: {Boolean} true or false. **/ isNokia: function() { return (this.ua.match('(Maemo Browser)|(Symbian)|(Nokia)')) ? true : false; }, /* * @return: {Boolean} true or false. **/ isZune: function() { return (this.ua.match('ZuneWP7')) ? true : false; }, /* * @return: {Boolean} true or false. **/ isHtc: function() { return (this.ua.match('HTC')) ? true : false; }, /* * @return: {Boolean} true or false. **/ isEricsson: function() { return (this.ua.match('Ericsson')) ? true : false; }, /* * @return: {Boolean} true or false. **/ isMotorola: function() { return (this.ua.match('Motorola')) ? true : false; }, /* * @return: {Boolean} true or false. **/ isGoogle: function() { return (this.ua.match('Nexus One')) ? true : false; }, /** * Returns true if the browser is on a Mobile Phone * @return: {Boolean} true or false * * @example: if(beef.hardware.isMobilePhone()) { ... } **/ isMobilePhone: function() { return DetectMobileQuick(); }, getName: function() { var ua = navigator.userAgent.toLowerCase(); if(DetectIphone()) { return "iPhone"}; if(DetectIpod()) { return "iPod Touch"}; if(DetectIpad()) { return "iPad"}; if (this.isHtc()) { return 'HTC'}; if (this.isMotorola()) { return 'Motorola'}; if (this.isZune()) { return 'Zune'}; if (this.isGoogle()) { return 'Google Nexus One'}; if (this.isEricsson()) { return 'Ericsson'}; if(DetectAndroidPhone()) { return "Android Phone"}; if(DetectAndroidTablet()) { return "Android Tablet"}; if(DetectS60OssBrowser()) { return "Nokia S60 Open Source"}; if(ua.search(deviceS60) > -1) { return "Nokia S60"}; if(ua.search(deviceS70) > -1) { return "Nokia S70"}; if(ua.search(deviceS80) > -1) { return "Nokia S80"}; if(ua.search(deviceS90) > -1) { return "Nokia S90"}; if(ua.search(deviceSymbian) > -1) { return "Nokia Symbian"}; if (this.isNokia()) { return 'Nokia'}; if(DetectWindowsPhone7()) { return "Windows Phone 7"}; if(DetectWindowsMobile()) { return "Windows Mobile"}; if(DetectBlackBerryTablet()) { return "BlackBerry Tablet"}; if(DetectBlackBerryWebKit()) { return "BlackBerry OS 6"}; if(DetectBlackBerryTouch()) { return "BlackBerry Touch"}; if(DetectBlackBerryHigh()) { return "BlackBerry OS 5"}; if(DetectBlackBerry()) { return "BlackBerry"}; if(DetectPalmOS()) { return "Palm OS"}; if(DetectPalmWebOS()) { return "Palm Web OS"}; if(DetectGarminNuvifone()) { return "Gamin Nuvifone"}; if(DetectArchos()) { return "Archos"} if(DetectBrewDevice()) { return "Brew"}; if(DetectDangerHiptop()) { return "Danger Hiptop"}; if(DetectMaemoTablet()) { return "Maemo Tablet"}; if(DetectSonyMylo()) { return "Sony Mylo"}; if(DetectAmazonSilk()) { return "Kindle Fire"}; if(DetectKindle()) { return "Kindle"}; if(DetectSonyPlaystation()) { return "Playstation"}; if(ua.search(deviceNintendoDs) > -1) { return "Nintendo DS"}; if(ua.search(deviceWii) > -1) { return "Nintendo Wii"}; if(ua.search(deviceNintendo) > -1) { return "Nintendo"}; if(DetectXbox()) { return "Xbox"}; if(this.isLaptop()) { return "Laptop"}; if(this.isVirtualMachine()) { return "Virtual Machine"}; return 'Unknown'; } }; beef.regCmp('beef.hardware');