作家
登录

带你了解JavaScript反调试技巧

作者: 来源: 2018-03-12 10:55:06 阅读 我要评论

 
  •     }  
  •  
  • // We redefine now console.log as our fake function  
  • window['console']['log']= fake;  
  • //Then we call console.log with any argument  
  • console.log("Thisis unaltered");  
  • //Now we should see other text in console different to "Ka0labs"  
  • console.log("Ka0labs");  
  • //Aaaand everything still OK  
  • console.log("Byebye!"); 
  • 如不雅一切正常的话:

    1. Normal function  
    2. VM117:11 This is unaltered  
    3. VM117:9 Spoofed!  
    4. VM117:11 Bye bye! 

    实际上,为了控制代码的履行方法,我们还可以或许以加倍聪慧的方法来修改函数的功能。比如说,我们可以基于上述代率攀来构建一个代码段,并重定义eval函数。我们可以把JavaScript代码传递给eval函数,接下来代码将会被计算并履行。如不雅我们重定义了这个函数,我们就可以运行不合的代码了:

    1. //Just a normal eval  
    2. eval("console.log('1337')");  
    3. //Now we repat the process...  
    4. var original = eval;  
    5. var fake = function(argument) {  
    6.     // If the code to be evaluated contains1337...  
    7.     if (argument.indexOf("1337") !==-1) {  
    8.         // ... we just execute a different code  
    9.         original("for (i = 0; i < 10;i++) { console.log(i);}");  
    10.     }   
    11.     else {  
    12.         original(argument);  
    13.     }  
    14.  
    15.   
    16.  
    17. eval= fake;  
    18. eval("console.log('Weshould see this...')");  
    19. //Now we should see the execution of a for

        推荐阅读

        令程序员们夜不能寐的“噩梦”除了改需求,还有这些…...

      沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践! 有那么一群人他们生活在那山的那边海的那边,他们活泼又聪慧~他们油滑又聪颖~他们自由安闲的生活在那彩色的代率攀里~>>>详细阅读


      本文标题:带你了解JavaScript反调试技巧

      地址:http://www.17bianji.com/lsqh/40591.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)