допустим, надо отловить глобальную функцию func1.
делаем так:
(function() {
var win = typeof unsafeWindow == 'undefined' ? window : unsafeWindow;
...
var old_func1 = win.func1; // сохраняем оригинальную функцию
win.func1 = function() {
// тут действия перед вызовом
runActionsBefore(...);
// вызов функции
var result = old_func1.apply(this, arguments);
// действия после вызова
runActionsAfter(...);
return result;
};
})();