All files / src/templates/custom-nodes/debug-protection-nodes/debug-protection-function-node DebugProtectionFunctionTemplate.ts

66.67% Statements 2/3
100% Branches 0/0
0% Functions 0/1
66.67% Lines 2/3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 251x         1x                                      
import { Utils } from '../../../../Utils';
 
/**
 * @returns {string}
 */
export function DebugProtectionFunctionTemplate (): string {
    return `
        var {debugProtectionFunctionName} = function () {
            function debuggerProtection (counter) {
                if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) {
                    (function () {}.constructor('debugger')());
                } else {
                    [].filter.constructor(${Utils.stringToJSFuck('debugger')})();
                }
                
                debuggerProtection(++counter);
            }
            
            try {
                debuggerProtection(0);
            } catch (y) {}
        };
    `;
}