如不雅一切正常的话:
- Normal function
- VM117:11 This is unaltered
- VM117:9 Spoofed!
- VM117:11 Bye bye!
实际上,为了控制代码的履行方法,我们还可以或许以加倍聪慧的方法来修改函数的功能。比如说,我们可以基于上述代率攀来构建一个代码段,并重定义eval函数。我们可以把JavaScript代码传递给eval函数,接下来代码将会被计算并履行。如不雅我们重定义了这个函数,我们就可以运行不合的代码了:
- //Just a normal eval
- eval("console.log('1337')");
- //Now we repat the process...
- var original = eval;
- var fake = function(argument) {
- // If the code to be evaluated contains1337...
- if (argument.indexOf("1337") !==-1) {
- // ... we just execute a different code
- original("for (i = 0; i < 10;i++) { console.log(i);}");
- }
- else {
- original(argument);
- }
- }
- eval= fake;
- eval("console.log('Weshould see this...')");
- //Now we should see the execution of a for
推荐阅读
沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践! 有那么一群人他们生活在那山的那边海的那边,他们活泼又聪慧~他们油滑又聪颖~他们自由安闲的生活在那彩色的代率攀里~>>>详细阅读
本文标题:带你了解JavaScript反调试技巧
地址:http://www.17bianji.com/lsqh/40591.html
1/2 1