Sample details: 853f4e66730a4abb4cb26e77ad9bcf2f --

Hashes
MD5: 853f4e66730a4abb4cb26e77ad9bcf2f
SHA1: 05fbdfc8a3ffd46a6ec5ff76f2d06e329e790814
SHA256: 2b245f75566875ba37d54c5270f5b574decad66fc6490a89d007b8c12d0a0beb
SSDEEP: 96:8TN26cT41VGsi0MBPplUVf3YKPHs+hELI9K5:Q7R1VGstMBPplUVf3YKPHVhELc0
Details
File Type: UTF-8
Yara Hits
CuckooSandbox/embedded_pe | YRP/domain | YRP/url | YRP/contentis_base64 |
Parent Files
eae8b84e9121563341a0e4a268df0094
Strings
		/*******************************************************************************
    uBlock Origin - a browser extension to block requests.
    Copyright (C) 2017-present Raymond Hill
    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 {http://www.gnu.org/licenses/}.
    Home: https://github.com/gorhill/uBlock
/******************************************************************************/
'use strict';
/******************************************************************************/
Block.canUseShortcuts = vAPI.commands instanceof Object;
Block.canUpdateShortcuts = 
Block.canUseShortcuts &&
                            typeof vAPI.commands.update === 'function';
/******************************************************************************/
(( ) => {
// *****************************************************************************
// start of local namespace
Block.canUseShortcuts === false ) { return; }
const relaxBlockingMode = function(tab) {
    if ( tab instanceof Object === false || tab.id <= 0 ) { return; }
    const 
Block;
    const normalURL = 
b.normalizePageURL(tab.id, tab.url);
    if ( 
b.getNetFilteringSwitch(normalURL) === false ) { return; }
    const hn = 
b.URI.hostnameFromURI(normalURL);
    const curProfileBits = 
b.blockingModeFromHostname(hn);
    let newProfileBits;
    for ( const profile of 
b.liveBlockingProfiles ) {
        if ( (curProfileBits & profile.bits & ~1) !== curProfileBits ) {
            newProfileBits = profile.bits;
            break;
        }
    // TODO: Reset to original blocking profile?
    if ( newProfileBits === undefined ) { return; }
    if (
        (curProfileBits & 0b00000010) !== 0 &&
        (newProfileBits & 0b00000010) === 0
    ) {
        
b.toggleHostnameSwitch({
            name: 'no-scripting',
            hostname: hn,
            state: false,
        });
    if ( 
b.userSettings.advancedUserEnabled ) {
        if (
            (curProfileBits & 0b00000100) !== 0 &&
            (newProfileBits & 0b00000100) === 0
        ) {
            
b.toggleFirewallRule({
                srcHostname: hn,
                desHostname: '*',
                requestType: '3p',
                action: 3,
            });
        }
        if (
            (curProfileBits & 0b00001000) !== 0 &&
            (newProfileBits & 0b00001000) === 0
        ) {
            
b.toggleFirewallRule({
                srcHostname: hn,
                desHostname: '*',
                requestType: '3p-script',
                action: 3,
            });
        }
        if (
            (curProfileBits & 0b00010000) !== 0 &&
            (newProfileBits & 0b00010000) === 0
        ) {
            
b.toggleFirewallRule({
                srcHostname: hn,
                desHostname: '*',
                requestType: '3p-frame',
                action: 3,
            });
        }
    if ( newProfileBits & 0b00000001 ) {
        vAPI.tabs.reload(tab.id);
vAPI.commands.onCommand.addListener(command => {
    const 
Block;
    switch ( command ) {
    case 'launch-element-picker':
    case 'launch-element-zapper':
        vAPI.tabs.get(null, tab => {
            if ( tab instanceof Object === false ) { return; }
            
b.mouseEventRegister.x = 
b.mouseEventRegister.y = -1;
            
b.elementPickerExec(
                tab.id,
                undefined,
                command === 'launch-element-zapper'
            );
        });
        break;
    case 'launch-logger':
        vAPI.tabs.get(null, tab => {
            const hash = tab.url.startsWith(vAPI.getURL(''))
                ? ''
                : `#_+${tab.id}`;
            
b.openNewTab({
                url: `logger-ui.html${hash}`,
                select: true,
                index: -1
            });
        });
        break;
    case 'relax-blocking-mode':
        vAPI.tabs.get(null, relaxBlockingMode);
        break;
    default:
        break;
// end of local namespace
// *****************************************************************************
/******************************************************************************/