DevTools
npm install devtools-detecter
<script src="https://unpkg.com/devtools-detecter/dist/DevtoolsDetecter.js"></script>
<script>
DevtoolsDetecter.debug()
DevtoolsDetecter.addListener(isOpen => {
if (isOpen) {
document.title = "DevTools detected";
document.body.style["backgroundColor"] = "red";
} else {
document.title = "DevTools NOT detected";
document.body.style["backgroundColor"] = "unset";
}
})
DevtoolsDetecter.launch()
</script>
<script type="module">
import DevtoolsDetecter from "https://unpkg.com/devtools-detecter/index.js"
DevtoolsDetecter.debug()
DevtoolsDetecter.addListener(isOpen => {
if (isOpen) {
document.title = "DevTools detected";
document.body.style["backgroundColor"] = "red";
} else {
document.title = "DevTools NOT detected";
document.body.style["backgroundColor"] = "unset";
}
})
DevtoolsDetecter.launch()
</script>
debug()
getStatus()
true
false
setBenchmarkMaxN(value: number)
N 7000000
setBenchmark(value: function)
setTimingSamplingMaxN(value: number)
N1000
setTimer(t: number)
500
addListener(callBack: (isOpen: boolean) => void)
launch()
stop()
Benchmark()
devtools
($CriticalLevel$)
ToDo
DevTools
console
ToDo
()
$n$
$X$
$$ X_1,X_2,X_3,...,X_n $$
$X$ $X$
$$ p(X_i)=\frac{1}{n} $$
$$ E(X)=X_1 \times p(X_1)+X_2 \times p(X_2)+...+X_n \times p(X_n)=\sum_{i=1}^{n}X_ip(X_i) $$
$$ E(X)=\frac{1}{n}\sum_{i=1}^{n}X_i $$
$$ D(X)=E((X-E(X))^2)=\sum_{i=1}^{n}p(X_i)(X_i-E(X))^2 $$
$$ D(X)=\frac{1}{n}\sum_{i=1}^{n}(X_i-\frac{1}{n}\sum_{i=1}^{n}X_i)^2 $$
$$ E(X) > AverageCriticalLevel $$
$$ E(X) > AverageCriticalLevel \times 0.85 $$
$$ D(X) > VarianceCriticalLevel $$
$m$ :
$$ S_i = \frac{1}{m}\sum_{j=1+i}^{m+i}X_j $$
$$ \begin{cases} S_1 > S_2 \\ S_2 > S_3 \\ .... \\ S_{n-m} > S_{n-m+1} \end{cases} $$
ToDo
$t$, $CriticalLevel$, $X$, $f(t)$:
$$ f(t)= min(Average(X) \times 5 ,CriticalLevel) $$
ToDo
eruda
~~
console hack
IE Benchmark()
hack
getter hack
.
div id div console.log(div) id console.log getter
let div = document.createElement('div');
let loop = setInterval(() => {
console.log(div);
console.clear();
});
Object.defineProperty(div,"id", {get: () => {
clearInterval(loop);
alert("Dev Tools detected!");
}});
getter hack
DevTools getter
getter hack
IE Edge
Bug Bug