-
Notifications
You must be signed in to change notification settings - Fork 12
/
exploits.html
221 lines (218 loc) · 13.6 KB
/
exploits.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bromine35 - Releases</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap">
<link rel="stylesheet" href="exploits.css">
<link href="prism.css" rel="stylesheet" />
<meta property="og:type" content="website">
<meta property="og:title" content="Bromine35" />
<meta property="og:description" content="releases listing for bromin exploits :3" />
<meta property="og:url" content="https://bromine35.netlify.app/exploits" />
<meta property="og:image" content="/favicon_io/favicon-32x32.png"/>
<link rel="icon" type="image/x-icon" href="/favicon_io/favicon.ico">
</head>
<body>
<header class="header">
<div id="navbar-container"></div>
</header>
<main class="d-flex flex-column min-vh-100">
<section id="exploits" class="section py-5 flex-grow-1">
<div class="container">
<h1 class="text-center mb-4">Releases</h1>
<div id="draggable-cards-container" class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4">
<div class="col">
<div class="card exploit-card tilt-card">
<div class="card-body">
<h5 class="card-title">CodeHS-Tool</h5>
<p class="card-text">Immediately submit a CodeHS lesson, regardless of the code, or grab the teacher's answer key.</p>
<button class="btn btn-outline-light btn-curved" data-bs-toggle="modal" data-bs-target="#codehstool">View Details</button>
</div>
</div>
</div>
<div class="col">
<div class="card exploit-card tilt-card">
<div class="card-body">
<h5 class="card-title">BrTube</h5>
<p class="card-text">open source youtube instance to use youtube on devices that have it blocked.</p>
<button class="btn btn-outline-light btn-curved" data-bs-toggle="modal" data-bs-target="#brtube">View Details</button>
</div>
</div>
</div>
<div class="col">
<div class="card exploit-card tilt-card">
<div class="card-body">
<h5 class="card-title">Classkick answer tool</h5>
<p class="card-text">A tool to get Classkick Answers, if you have a homework assignment that allows you to get the answer to your problem immediately.</p>
<button class="btn btn-outline-light btn-curved" data-bs-toggle="modal" data-bs-target="#classkickanswer">View Details</button>
</div>
</div>
</div>
<!-- add exploit card :3 -->
</div>
</div>
</section>
</main>
<!-- modal shitters putting here so i dont forget -->
<div class="modal fade" id="codehstool" tabindex="-1" aria-labelledby="codehstoolLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="codehstoolLabel">CodeHS Submit</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<a href="https://github.com/Bromine35/CodeHS-Tool" target="_blank">github repo for this exploit</a>
<br>
<b style="font-size: large;" id="codehs-tool">CodeHS-Tool</b>
<p>Immediately submit or get the answer key for a CodeHS lesson.</p> <!-- dude I litrerally used a md to html thing -->
<blockquote>
<p>Yes, this could look suspicious, <a href="https://help.codehs.com/en/articles/990684-preventing-student-cheating">see anti-cheating measures</a>. Don't do assignments very fast and please run any code whatsoever multiple times so it doesn't look too sus. Use copyjail when copy-pasting code.</p>
</blockquote>
<b id="codehs-answer-key-grabber">CodeHS Answer Key Grabber</b>
<p><strong>Yes</strong>, create aother <em>bookmark</em>(let), make this the URL:</p>
<pre><code>javascript:(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{fetch(<span class="hljs-string">'https://cdn.jsdelivr.net/gh/Bromine35/CodeHS-Tool@main/answers.js'</span>).then(<span class="hljs-function"><span class="hljs-params">r</span>=></span>r.text()).then(<span class="hljs-function"><span class="hljs-params">t</span>=></span><span class="hljs-built_in">eval</span>(t)).catch(<span class="hljs-function"><span class="hljs-params">e</span>=></span><span class="hljs-built_in">console</span>.error(<span class="hljs-string">'Error executing script:'</span>, e))})()
</code></pre><p>and click it while on a lesson. The teacher's answer key will pop up.</p>
<blockquote>
<p>Remember to run the copyjail bookmarklet before copy-pasting. We also highly recommend that you rewrite that code.</p>
</blockquote>
<b id="turn-in-immediately">Turn-in Immediately</b>
<p>Create a <em>bookmark</em>(let), make this the URL:</p>
<pre><code>javascript:(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>)</span>{fetch(<span class="hljs-string">'https://cdn.jsdelivr.net/gh/Bromine35/CodeHS-Tool@main/main.js'</span>).then(<span class="hljs-function"><span class="hljs-params">r</span>=></span>r.text()).then(<span class="hljs-function"><span class="hljs-params">t</span>=></span><span class="hljs-built_in">eval</span>(t)).catch(<span class="hljs-function"><span class="hljs-params">e</span>=></span><span class="hljs-built_in">console</span>.error(<span class="hljs-string">'Error executing script:'</span>, e))})()
</code></pre><p>Then, click on it, and the script will refresh and go to the next assignment. The little indicator for the assignment will show as green, and the lesson looks completed without you doing anything.</p>
<p>**This is only for submitting lessons, and while your quiz may look complete, the questions actually aren't done. Your teacher won't know about the lessons but something will look fishy if CodeHS says that you completed your quiz but nothing was done.</p>
<b id="copyjail">CopyJail</b>
<p>Stop the teacher from seeing that you copy-pasted code.</p>
<p>First, copy all of the code from <code>copyjailbookmarklet.js</code>, create a <em>bookmark</em>(let) and make that code the URL.</p>
<p>Then, click on it. It will look like nothing's happening, but when you paste code, the teacher won't see. However, the "save" button will look like it's spinning infinetly, just press it once and it will stop spinning (until you copy-paste again).</p>
<blockquote>
<p><code>extrabookmarklet.js</code> does CopyJail and the answer key grabber at the same time, use that instead of <code>copyjailbookmarklet.js</code> if you want.</p>
</blockquote>
<b id="tampermonkey-script">Tampermonkey Script</b>
<p><strong>If you want to turn in a bunch of assignments fast</strong>, use the <strong><a href="https://www.tampermonkey.net/">TamperMonkey</a></strong> script. Copy all of the code from <code>monkey.js</code>, press on the TamperMonkey extension icon, "create a new script," paste in the code, press CTRL + S, and that's it. Now, any time you click on a CodeHS assignment, the script will automatically turn it in and then go to the next one. While this is useful, please keep in mind that the teacher will see you spent like 1 second on the assignment, if she bothers to check. Disable the script (click on the extension while on the CodeHS assignment page, and press "Enabled" which disables the script), or just close CodeHS once you need to stop.</p>
<p><strong>This way, you can do literal units in the background, incredibly fast.</strong></p>
<b id="what-if-bookmarklets-js-devtools-are-blocked-">What if Bookmarklets/JS/Devtools are blocked?</b>
<p>You'll need to use this with another personal device, or unenroll.</p>
<b id="credits">Credits</b>
<ul>
<li>Bromine35</li>
</ul>
<p>(doxr) - everything</p>
<p>Licensed under GNU GPL v3.</p>
</div>
</div>
</div>
</div>
<div class="modal fade" id="classkickanswer" tabindex="-1" aria-labelledby="classkickanswerLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="classkickanswerLabel">Classkick answer tool</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<a href="https://github.com/Bromine35/Classkick-Answers-Tool" target="_blank">github repo for this exploit</a>
<p>How do I use it?</p>
<p>
Create a bookmark(let), make this the URL:
</p>
<code class="langage-js">
javascript:(function(){fetch('https://cdn.jsdelivr.net/gh/Bromine35/Classkick-Answers-Tool@main/main.js').then(r=>r.text()).then(t=>eval(t)).catch(e=>console.error('Error executing script:', e))})()
</code>
<p> </p> <!--placeholder here-->
<p>
Then, click on it. There should be a popup. Type any random thing on any of the questions. In a second, the popup should contain the answer to that question.
</p>
<p>
If you have multiple pages, you'll need to click on the bookmarklet for every page.
</p>
<b style="font-size: large;">FAQ</b>
<p> </p>
<b>Is there another way to use it?</b>
<p><strong>Yes</strong>, copy all of the code in main.js and paste it in devtools console.</p>
<p> </p>
<b>What if bookmarklets/JS/devtools are blocked?</b>
<p>You'll need to use this with another personal device, or unenroll.(or a method that can allow you to use bookmarklets)</p>
<p> </p>
<p> </p>
<b style="font-size: large;">Credits</b>
<p>doxr: script development</p>
<p> </p>
<p>adigitalmoon: finding how the answers could be leaked</p>
<p></p>
<b style="font-size: medium;">original writeup made by doxr.<3</b>
</div>
</div>
</div>
</div>
<div class="modal fade" id="brtube" tabindex="-1" aria-labelledby="brtubeLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="brtubeLabel">BrTube</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p>BrTube is a instance of YouTube that can be rehosted on vercel, netlify. But, you can just access it on the main website too.</p>
<p>website is on:<br>
<a href="https://yt.bromine35.me" target="_blank">https://yt.bromine35.me</a>
</p>
<p>github repo:<br>
<a href="https://github.com/Bromine35/bromineyt" target="_blank">https://github.com/Bromine35/bromineyt</a>
</p>
<p>BrTube mainly depends on invidious for the trending video feed and search functions.<br>
cobalt.tools is used for downloading of the youtube videos,<br>
and youtube-nocookie for the video player.
</p>
<b style="font-size: large;">credits</b>
<p>doxr: gave the idea for this whole project ;3<br>
appleflyer: developed brtube entirely :></p>
</div>
</div>
</div>
</div>
<!---
<div class="modal fade" id="codehsanswer" tabindex="-1" aria-labelledby="codehsanswerLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="codehsanswerLabel">uhh wip but almost done </h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p>keep this for later :p</p>
</div>
</div>
</div>
</div> --->
<canvas id="sparkleCanvas" style="position: fixed; top: 0; left: 0; z-index: -1;"></canvas>
<script src="sparkles.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<script src="tilt-card.js"></script>
<script src="prism.js"></script>
<script src="drag_cards.js"></script>
<script src="draggable.bundle.legacy.js"></script>
<script>
fetch('navbar.html')
.then(response => response.text())
.then(data => {
document.getElementById('navbar-container').innerHTML = data;
})
.catch(error => console.error('Error loading navbar:', error));
window.addEventListener('load', () => {
document.body.classList.add('loaded');
document.querySelector('header').classList.add('visible');
document.querySelectorAll('.exploit-card').forEach(card => {
card.style.opacity = 1;
});
document.querySelectorAll('.modal-content').forEach(modal => {
modal.style.opacity = 1;
});
window.scrollTo(0, 0);
});
</script>
</body>
</html>