JavaScript 实现阻碍调试(反调试)

先将鼠标改为禁用状态,第一步

body:hover{
        cursor:not-allowed;
    }

禁用掉键盘的全部按键(键盘报废)

$(document).ready(function () {
 document.body.onkeydown = function (event) {
 if (window.event) {
 //alert("不允许使用任何键盘按键");
 return false;
}
}
});

实现全屏爆炸:这段代码很简单,当按下调试键的时候,全屏都是乱码,所有标签里都会填充为乱码,轻则直接可以让浏览器崩溃,经测试有些系统则可能会蓝屏!(慎用)

<script type="text/javascript">
window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
    if(event.keyCode==123)
    {
        for( i=0;i<99999999999;i++){
        $("body div").append("TIHI!@#$%^&*()_+)()*&*^&TGYGJGYGuygT^&6746t78t78g785tgyuGGIUGOIUB&^Y(*^&^$$&*G*GUIGUOUIYUIT&*%$^%#^%ER^%RF&FGIY*G*&^T*(G*O");
        }
    }
}
</script>

禁用F12调试键

<script type="text/javascript">
// 临时性,禁用F12调试器
window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
    // 判断是否按下F12,F12键码为123
    if (event.keyCode === 123) {
        event.preventDefault(); // 阻止默认事件行为
        window.event.returnValue = false;
    }
}
</script>

禁用页面的ctrl功能,来禁止ctrl+S保存功能

<script type="text/javascript">
//禁用页面的ctrl功能,来禁止ctrl+S保存功能
window.addEventListener('keydown', function (e) {
    if(e.keyCode == 83 && (navigator.platform.match('Mac') ? e.metaKey : e.ctrlKey)){
        e.preventDefault();
    }
})
</script>

禁用页面的ctrl功能,来禁止ctrl+C保存功能

//禁用页面的ctrl功能,来禁止ctrl+C保存功能
window.addEventListener('keydown', function (e) {
    if(e.keyCode == 67 && (navigator.platform.match('Mac') ? e.metaKey : e.ctrlKey)){
        e.preventDefault();
    }
})

为右键添加自定义事件,禁用菜单右键!

// 为右键添加自定义事件,禁用菜单右键!
window.oncontextmenu = function() {
    event.preventDefault(); // 阻止默认事件行为
    return false;
}

当通过特殊途径打开浏览器调试窗口时,会无限刷新,导致无法调试

// 无限回写,阻碍调试
var x = document.createElement('div');
var isOpening = false;
Object.defineProperty(x, 'id', {
  get:function(){
     console.log("警告!控制台已被打开!");
      window.location.reload()
  }
});
console.info(x);

屏蔽Ctrl+Shift+I

//屏蔽Ctrl+Shift+I
window.addEventListener('keydown', function (e) {
    if((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)){
        e.preventDefault();
    }
})

通过HTML实现反调试

<body leftmargin=0 topmargin=0 oncontextmenu='return false' ondragstart='return false' onselectstart ='return false' onselect='document.selection.empty()' oncopy='document.selection.empty()' onbeforecopy='return false' onmouseup='document.selection.empty()'>

<noscript> 
<iframe src="*.htm"></iframe> 
</noscript>

<body onmousemove=/HideMenu()/ oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false" onmouseup="document.selection.empty()">

//网络素材仅限收藏 方便学习

posted @ 2021-06-05 18:41  New_HackerHK  阅读(240)  评论(0编辑  收藏  举报