Quizizz infinite points
Update
Unfortunately it seems that Quizzes has fixed the bug, and this no longer works. If I can find the time I will attempt to fix it.
Original
This is a short program that will give you as many points as you want per question in Quizizz, whether your answer is right or wrong.
Here is a demo:
The demonstration is a solo match but I have tested it and it also works for live games. Just run this code while on the page before the game and enter the amount of points you want.
How it works
In Quizizz, you answer questions and if you get them right you get points. Pretty simple. The faster you answer them, the more points you get for a right answer. The vulnerability is that when you answer a question, the request to the server contains all of the points you should get for the question. Example request (simplified):
{ correct: { base: 1000, (this is the amount of points you get based on speed, max is 1000) streak: 0, (this is the amount of points you get based on answer streaks, will increase with more correct answers in a row) total: 1000, (all the points added up) }, incorrect: { base: 0, (this is the amount of points you get for a wrong question, it is always 0) streak: 0, (i have no idea why they put this here) total: 0, (all the points added up) }, }
As you may have noticed, you can tell the server how many points to give you not only if you answer a question correctly, but if you also answer it incorrectly. Therefore, you simply intercept all of the fetch
requests, filter through them to find the right ones, and make the points how ever much you want.
How to use
Copy all of the code here:
(() => { const pointsPerQuestion = parseInt(prompt("Points per question:")); const nativeFetch = fetch; window.fetch = function (resource, init) { if ( [ "https://game.quizizz.com/play-api/v4/soloProceed", "https://game.quizizz.com/play-api/v4/proceedGame", ].includes(resource) ) { const data = JSON.parse(init.body); data.response.provisional.scores = { correct: pointsPerQuestion, incorrect: pointsPerQuestion, }; data.response.provisional.scoreBreakups = { correct: { base: pointsPerQuestion, timer: 0, streak: 0, powerups: [], total: pointsPerQuestion }, incorrect: { base: pointsPerQuestion, timer: 0, streak: 0, powerups: [], total: pointsPerQuestion }, }; init.body = JSON.stringify(data); } return nativeFetch(resource, init); }; })();
Create a new bookmark in your browser. In the section where you would normally type the URL of the website, type "javascript:" without the quotes. After, paste to code you copied earlier. Now when you click the bookmark the code will be executed on the current webpage. Right after you start a game, click the bookmark. A pop-up box shoud appear. If it doesn't then the previous steps were done wrong. In the pop-up box, type the amount of points you want per question. For solo games you will get points whether you are right or wrong, but in multiplayer games you may need to get the questions correct to get the points, but you will still get whatever amount you entered.
Straight up not working, it tells me to exit or re-try
@AndrewKimmel I have added extra instructions in the post.
Could you please create a video on how to do it as I don't know-how
@AnishChilakanti I have added extra instructions in the post.
@repl-account But wait after copy pasting it and doing everything right it doesen't work
@AnishChilakanti I'll check it out.
@AnishChilakanti I have updated my post.
it works but can you update this to where you can see the correct answer plzz??
Thanks for sharing
https://redball.onl
I need to validate it. It says validation error. Hopefully you can fix this.
how to make do you have a github or discord of it
@cli64154 Have you created the bookmark containing the code?
yes
@repl-account btw do you have discord
@cli64154 I have updated my post.
@cli64154 I put more words in my post relating to the investigation of your problem.
i just joined repl and can you help me out on instructions for it to work?
@RVEek Copy all of the code here: (() => { const pointsPerQuestion = parseInt(prompt("Points per question:")); const nativeFetch = fetch; window.fetch = function (resource, init) { if ( [ "https://game.quizizz.com/play-api/v4/soloProceed", "https://game.quizizz.com/play-api/v4/proceedGame", ].includes(resource) ) { const data = JSON.parse(init.body); data.response.provisional.scores = { correct: pointsPerQuestion, incorrect: pointsPerQuestion, }; data.response.provisional.scoreBreakups = { correct: { base: pointsPerQuestion, timer: 0, streak: 0, powerups: [], total: pointsPerQuestion }, incorrect: { base: pointsPerQuestion, timer: 0, streak: 0, powerups: [], total: pointsPerQuestion }, }; init.body = JSON.stringify(data); } return nativeFetch(resource, init); }; })();
.
Create a new bookmark in your browser. In the section where you would normally type the URL of the website, type "javascript:" without the quotes. After, paste to code you copied earlier. Now when you click the bookmark the code will be executed on the current webpage. Right after you start a game, click the bookmark. A pop-up box shoud appear. If it doesn't then the previous steps were done wrong. In the pop-up box, type the amount of points you want per question. For solo games you will get points whether you are right or wrong, but in multiplayer games you will need to get the questions correct to get the points, but you will still get whatever amount you entered. Tell me if you have any questions.
It keeps saying your response could not be saved.
@repl-account
@rylanrogers12 Where is it saying this?
@repl-account So I'm doing the script and pressing the bookmark, and when I try to pick an answer it says it
@rylanrogers12 I'll look into it.
@rylanrogers12 I have updated my post.
so uh does it work? right now it dosent [email protected]
@glowy-thethe Quizziz fixed the vulnerability and it no longer works in its current state.
it says not found?
@LukeWright There is no website to run. You just go to quizizz and execute the code in the repl.