监视/钩子javascript API

时间:2014-03-13 12:40:39

标签: javascript api hook obfuscation monitor

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

1 个答案:

答案 0 :(得分:1)

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

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函数的所有参数。