Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
监视器/钩子javascript API_Javascript_Api_Hook_Obfuscation_Monitor - Fatal编程技术网

监视器/钩子javascript API

监视器/钩子javascript API,javascript,api,hook,obfuscation,monitor,Javascript,Api,Hook,Obfuscation,Monitor,想象一下,js代码非常混乱。我希望能够执行快速分析,例如检查它是否使用HTML5地理定位API(或其他API)。监视API调用的最佳方法是什么?如果浏览器的断点列表中没有事件,则可以在那里的函数调用上手动绑定调试器。对于这样的地理定位: navigator.geolocation.getCurrentPosition = function() { debugger } 或者干脆 var originalGeolocation = navigator.geolocation.getCurrent

想象一下,js代码非常混乱。我希望能够执行快速分析,例如检查它是否使用HTML5地理定位API(或其他API)。监视API调用的最佳方法是什么?

如果浏览器的断点列表中没有事件,则可以在那里的函数调用上手动绑定调试器。对于这样的地理定位:

navigator.geolocation.getCurrentPosition = function() { debugger }
或者干脆

var originalGeolocation = navigator.geolocation.getCurrentPosition;

navigator.geolocation.getCurrentPosition = function() {
  console.log('getCurrentPosition() was called');
  originalGeolocation.apply(this, arguments);
}
请注意,最后一行将调用原始函数来维护
this
,并将所有传递给forked函数的参数传递给它