好吧其實標題黨了.
只不過是能監測到控制檯的每次操作, 但是獲取不到具體的操作內容.
直接上程式碼:
var old = Object.getOwnPropertyNames;
Object.getOwnPropertyNames = function() {
var stack = new Error().stack;
if(/Object.InjectedScript/.test(stack)) {
document.body.innerHTML = "你在控制檯中進行了操作.";
}
return old.apply(this, arguments);
};
靈感來源於 traceur 中對 getOwnPropertyNames
的劫持. (用於實現 Symbol
.)
Update:
又發現一個更狠的…
http://drops.wooyun.org/papers/974