监视器/钩子javascript API
想象一下,js代码非常混乱。我希望能够执行快速分析,例如检查它是否使用HTML5地理定位API(或其他API)。监视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
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函数的参数传递给它