Advertisement
Doki23_

quizlet

Sep 30th, 2019
2,959
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.45 KB | None | 0 0
  1. // ==UserScript==
  2.  
  3. // @name Gravity and match hack by Krew
  4.  
  5. // @namespace Krew E.
  6.  
  7. // @version 1.4
  8.  
  9. // @description YOU CAN NOT USE THIS WITH TAMPERMONKEY! You have to copy the code. Use google and go to quizlet, press inspect and go to console. Then paste the code in there. Hold the spacebar to automatically get the correct answers on gravity.
  10.  
  11. // @author You
  12.  
  13. // @match https://quizlet.com/*/gravity
  14.  
  15. // @grant none
  16.  
  17. // @license MIT
  18.  
  19. // ==/UserScript==
  20.  
  21. var gravityScore,
  22.  
  23. href = window.location.href;
  24.  
  25. (function() {
  26.  
  27. initLoad();
  28.  
  29. function initLoad() {
  30.  
  31. if (href.includes("quizlet.com")) {
  32.  
  33. if (href.includes("/learn")) {
  34.  
  35. cAlert('<h2>Game Mode: Learn</h2>Thank you for using Krew.E. Quizlet Gravity Hacker - INSANE EDITION<br>Without you, this exploit wouldnt be possible.<br><h4>Instructions:</h4>Just wait for this script to finish!<br><br><button class="UIButton" id="learnButton" type="button"><span class="UIButton-wrapper"><span>Inject</span></span></button>');
  36.  
  37. getId("learnButton")
  38.  
  39. .addEventListener("click", function() {
  40.  
  41. document.getElementById("customMessageContainer")
  42.  
  43. .remove();
  44.  
  45. learn();
  46.  
  47. });
  48.  
  49. } else if (href.includes("/flashcards")) {
  50.  
  51. cAlert('<h2>Game Mode: Flashcards</h2>Thank you for using Krew.E. Quizlet Gravity Hacker - INSANE EDITION<br>Without you, this exploit wouldnt be possible.<br><h4>Changelog:</h4>+ Added Match time freeze for regular match and diagrams<br>+ Added Gravity score exploit to get ANY score you want!<br>+ Added custom alert box<br>+ Fixed graphics<br>- Removed useless alert boxes.<h4>Instructions:</h4>Umm why are you here? Go cheat somewhere else...<br><br><button class="UIButton" id="flashcardsButton" type="button"><span class="UIButton-wrapper"><span>Inject</span></span></button>');
  52.  
  53. getId("flashcardsButton")
  54.  
  55. .addEventListener("click", function() {
  56.  
  57. document.getElementById("customMessageContainer")
  58.  
  59. .remove();
  60.  
  61. });
  62.  
  63. } else if (href.includes("/write")) {
  64.  
  65. cAlert('<h2>Game Mode: Write</h2>Thank you for using Krew.E. Quizlet Gravity Hacker - INSANE EDITION<br>Without you, this exploit wouldnt be possible.<br><h4>Instructions:</h4>You dont even have to wait,<br> this is my favorite one to watch!<br><br><button class="UIButton" id="writeButton" type="button"><span class="UIButton-wrapper"><span>Inject</span></span></button>');
  66.  
  67. getId("writeButton")
  68.  
  69. .addEventListener("click", function() {
  70.  
  71. document.getElementById("customMessageContainer")
  72.  
  73. .remove();
  74.  
  75. write();
  76.  
  77. });
  78.  
  79. } else if (href.includes("/spell")) {
  80.  
  81. cAlert('<h2>Game Mode: Spell</h2>Thank you for using Krew.E. Quizlet Gravity Hacker - INSANE EDITION<br>Without you, this exploit wouldnt be possible.<br><h4>Instructions:</h4>Nothing! Bypassed having to press enter!<br><br><button class="UIButton" id="spellButton" type="button"><span class="UIButton-wrapper"><span>Inject</span></span></button>');
  82.  
  83. getId("spellButton")
  84.  
  85. .addEventListener("click", function() {
  86.  
  87. document.getElementById("customMessageContainer")
  88.  
  89. .remove();
  90.  
  91. spell();
  92.  
  93. });
  94.  
  95. } else if (href.includes("/test")) {
  96.  
  97. cAlert('<h2>Game Mode: Test</h2>Thank you for using Krew.E. Quizlet Gravity Hacker - INSANE EDITION<br>Without you, this exploit wouldnt be possible.<br><br><h4>Instructions:</h4>Right click to toggle answers.<br>(Be subtle when using)<br><br><button class="UIButton" id="testButton" type="button"><span class="UIButton-wrapper"><span>Inject</span></span></button>');
  98.  
  99. getId("testButton")
  100.  
  101. .addEventListener("click", function() {
  102.  
  103. document.getElementById("customMessageContainer")
  104.  
  105. .remove();
  106.  
  107. testMode();
  108.  
  109. });
  110.  
  111. } else if (href.includes("/micromatch")) {
  112.  
  113. cAlert('<h2>Game Mode: Micromatch</h2>Thank you for using Krew.E. Quizlet Gravity Hacker - INSANE EDITION<br>Without you, this exploit wouldnt be possible.<br><h4>Instructions:</h4>The timer will be paused when at choosen time.<br>The answers will also be highlighted for you.<br>At your leisure, solve the questions.<br><h4>Match Time: </h4><input type="text" id="matchTimeInput" value="0"></input><br><br><button class="UIButton" id="micromatchButton" type="button"><span class="UIButton-wrapper"><span>Inject</span></span></button>');
  114.  
  115. getId("micromatchButton")
  116.  
  117. .addEventListener("click", function() {
  118.  
  119. document.getElementById("customMessageContainer")
  120.  
  121. .remove();
  122.  
  123. insaneWin("match");
  124.  
  125. micromatch();
  126.  
  127. });
  128.  
  129. } else if (href.includes("/match")) {
  130.  
  131. cAlert('<h2>Game Mode: Match</h2>Thank you for using Krew.E. Quizlet Gravity Hacker - INSANE EDITION<br>Without you, this exploit wouldnt be possible.<br><h4>Instructions:</h4>The timer will be paused when at choosen time.<br>The answers will also be highlighted for you.<br>At your leisure, solve the questions.<br><h4>Match Time: </h4><input type="text" id="matchTimeInput" value="0"></input><br><br><button class="UIButton" id="matchButton" type="button"><span class="UIButton-wrapper"><span>Inject</span></span></button>');
  132.  
  133. getId("matchButton")
  134.  
  135. .addEventListener("click", function() {
  136.  
  137. document.getElementById("customMessageContainer")
  138.  
  139. .remove();
  140.  
  141. insaneWin("match");
  142.  
  143. match();
  144.  
  145. });
  146.  
  147. } else if (href.includes("/gravity")) {
  148.  
  149. cAlert('<h2>Game Mode: Gravity</h2>Thank you for using Krew.E. Quizlet Gravity Hacker - INSANE EDITION<br>Without you, this hack wouldnt be possible.<br><h4>Instructions:</h4>Press space when the answer appears in the input area. If you get an answer wrong, press space in the input to continue quickly.<br></h4><br><button class="UIButton" id="gravityButton" type="button"><span class="UIButton-wrapper"><span>Inject</span></span></button>');
  150.  
  151. getId("gravityButton")
  152.  
  153. .addEventListener("click", function() {
  154.  
  155. document.getElementById("customMessageContainer")
  156.  
  157. .remove();
  158.  
  159. insaneWin("gravity");
  160.  
  161. gravity();
  162.  
  163. });
  164.  
  165. } else {}
  166.  
  167. }
  168.  
  169. function testMode() {
  170.  
  171. var question = getClass("TermText notranslate lang-en");
  172.  
  173. for (var i = 0; i < question.length; i++) {
  174.  
  175. question[i].innerHTML += '<br><small style="font-weight: bold; display: block;" class="answers">' + findAnswerGlobal(question[i].innerHTML) + "</small>";
  176.  
  177. }
  178.  
  179. window.oncontextmenu = function(e) {
  180.  
  181. e.preventDefault();
  182.  
  183. var answer = getClass("answers");
  184.  
  185. if (answer[0].style.display == "block") {
  186.  
  187. for (var i = 0; i < answer.length; i++) {
  188.  
  189. answer[i].style.display = "none";
  190.  
  191. }
  192.  
  193. } else {
  194.  
  195. for (var i = 0; i < answer.length; i++) {
  196.  
  197. answer[i].style.display = "block"
  198.  
  199. }
  200.  
  201. }
  202.  
  203. }
  204.  
  205. }
  206.  
  207. function gravity() {
  208.  
  209. var createListener = true;
  210.  
  211. var input = getClass("GravityTypingPrompt-input js-keymaster-allow")[0];
  212.  
  213. if (input) {
  214.  
  215. input.addEventListener("keypress", function(e) {
  216.  
  217. if (e.which == "32" && getClass("GravityTerm-content")[0]) {
  218.  
  219. setTimeout(function() {
  220.  
  221. submit();
  222.  
  223. }, 10);
  224.  
  225. }
  226.  
  227. });
  228.  
  229. }
  230.  
  231. setInterval(function() {
  232.  
  233. input = getClass("GravityTypingPrompt-input js-keymaster-allow")[0];
  234.  
  235. if (createListener && input) {
  236.  
  237. createListener = false;
  238.  
  239. input.addEventListener("keypress", function(e) {
  240.  
  241. if (e.which == "32" && getClass("GravityTerm-content")[0]) {
  242.  
  243. setTimeout(function() {
  244.  
  245. submit();
  246.  
  247. }, 10);
  248.  
  249. }
  250.  
  251. });
  252.  
  253. }
  254.  
  255. if (input && getClass("GravityTerm-content")[0]) {
  256.  
  257. input.focus();
  258.  
  259. input.value = findAnswerGlobal(getClass("GravityTerm-content")[0].innerText.trim());
  260.  
  261. } else {
  262.  
  263. createListener = true;
  264.  
  265. if (getClass("GravityCopyTermView-input")[0]) {
  266.  
  267. getClass("GravityCopyTermView-input")[0].value = getClass("TermText notranslate lang-en")[1].innerHTML;
  268.  
  269. }
  270.  
  271. }
  272.  
  273. }, 100);
  274.  
  275. function submit() {
  276.  
  277. input = getClass("GravityTypingPrompt-input js-keymaster-allow")[0];
  278.  
  279. if (input) {
  280.  
  281. input.focus();
  282.  
  283. var keyEvent = new KeyboardEvent("keydown", {
  284.  
  285. bubbles: true,
  286.  
  287. cancelable: true,
  288.  
  289. char: "Enter",
  290.  
  291. key: "Enter",
  292.  
  293. shiftKey: false,
  294.  
  295. keyCode: 13,
  296.  
  297. which: 13
  298.  
  299. });
  300.  
  301. input.dispatchEvent(keyEvent);
  302.  
  303. }
  304.  
  305. }
  306.  
  307. /* VARIABLES CHANGE IN UNKNOWN WAY
  308.  
  309. window.QJP[3][1].tfdH(
  310.  
  311.  
  312.  
  313. window.Quizlet.gravityModeData,
  314.  
  315.  
  316.  
  317. {},
  318.  
  319.  
  320.  
  321. function n(a) {
  322.  
  323. if (t[a])
  324.  
  325. return t[a].exports;
  326.  
  327. var o = t[a] = {
  328.  
  329. i: a,
  330.  
  331. l: !1,
  332.  
  333. exports: {}
  334.  
  335. };
  336.  
  337. return e[a].call(o.exports, o, o.exports, n),
  338.  
  339. o.l = !0,
  340.  
  341. o.exports
  342.  
  343. }
  344.  
  345. );
  346.  
  347. */
  348.  
  349. /* PATCHED
  350.  
  351. var t = window.QJP([], [], ["hyek"]).a,
  352.  
  353. n = t.grader.grade.bind(t.grader);
  354.  
  355. t._startGame(), t.dataMap = t.dataMap.update("points", function(t) {
  356.  
  357. return gravityScore;
  358.  
  359. });
  360.  
  361. for (var o = 0; o < 99; o++) t._advanceLevel();
  362.  
  363. function s(e) {
  364.  
  365. t.grader.grade = function(e, t, n) {
  366.  
  367. return !0;
  368.  
  369. }, e(), t.grader.grade = n
  370.  
  371. }
  372.  
  373. s(function() {
  374.  
  375. console.log(null);
  376.  
  377. });
  378.  
  379. var a = t._promptCopyAnswer.bind(t);
  380.  
  381. t._promptCopyAnswer = function(e) {
  382.  
  383. a(e), setTimeout(function() {
  384.  
  385. s(function() {
  386.  
  387. t._checkCopiedAnswer({
  388.  
  389. liveTermId: e,
  390.  
  391. answer: ""
  392.  
  393. });
  394.  
  395. });
  396.  
  397. }, 0);
  398.  
  399. };
  400.  
  401. */
  402.  
  403. }
  404.  
  405. function write() {
  406.  
  407. //This is sad... but works better...
  408.  
  409. var remaining = parseInt(document.getElementsByClassName("LearnModeProgressBar-value")[0].innerHTML);
  410.  
  411. for (var i = 0; i < remaining; i++) {
  412.  
  413. getId("user-answer")
  414.  
  415. .value = Math.random();
  416.  
  417. getId("js-learnModeAnswerButton")
  418.  
  419. .click();
  420.  
  421. getClass("js-learnModeOverrideIncorrect")[0].click();
  422.  
  423. }
  424.  
  425. /*
  426.  
  427. var buttons = document.querySelectorAll("button"),
  428.  
  429. span = document.querySelectorAll("span");
  430.  
  431. if (getId("user-answer")) {
  432.  
  433. getId("user-answer").disabled = true;
  434.  
  435. getId("user-answer").value = findAnswerGlobal(getClass("qDef lang-en TermText")[0].innerHTML);
  436.  
  437. for (var i = 0; i < buttons.length; i++) {
  438.  
  439. if (buttons[i].childNodes[0].innerHTML == "Answer") {
  440.  
  441. buttons[i].click();
  442.  
  443. }
  444.  
  445. }
  446.  
  447. try {
  448.  
  449. for (var i = 0; i < span.length; i++) {
  450.  
  451. if (span[i].childNodes[0].childNodes[0].innerHTML == "Override: I was right") {
  452.  
  453. span[i].click;
  454.  
  455. }
  456.  
  457. }
  458.  
  459. } catch (e) {}
  460.  
  461. write();
  462.  
  463. } else {
  464.  
  465. for (var i = 0; i < buttons.length; i++) {
  466.  
  467. if (buttons[i].innerHTML == "Press any key to continue") {
  468.  
  469. buttons[i].click();
  470.  
  471. } else if (buttons[i].innerHTML == "Start Over") {
  472.  
  473. return 1;
  474.  
  475. }
  476.  
  477. }
  478.  
  479. setTimeout(write, 0);
  480.  
  481. }
  482.  
  483. */
  484.  
  485. }
  486.  
  487. function spell() {
  488.  
  489. if (getClass("SpellModeControls-progressValue")[0].innerHTML == "100%") {
  490.  
  491. return 1;
  492.  
  493. }
  494.  
  495. try {
  496.  
  497. if (getId("js-spellInput")
  498.  
  499. .style.visibility == "visible") {
  500.  
  501. getId("js-spellInput")
  502.  
  503. .value = findAnswerGlobal(getClass("qDef lang-en TermText")[0].innerHTML);
  504.  
  505. submit();
  506.  
  507. setTimeout(spell, 10);
  508.  
  509. }
  510.  
  511. } catch (e) {
  512.  
  513. console.log(e);
  514.  
  515. setTimeout(spell, 500);
  516.  
  517. }
  518.  
  519. function submit() {
  520.  
  521. input = getId("js-spellInput");
  522.  
  523. if (input) {
  524.  
  525. input.focus();
  526.  
  527. var keyEvent = new KeyboardEvent("keydown", {
  528.  
  529. bubbles: true,
  530.  
  531. cancelable: true,
  532.  
  533. char: "Enter",
  534.  
  535. key: "Enter",
  536.  
  537. shiftKey: false,
  538.  
  539. keyCode: 13,
  540.  
  541. which: 13
  542.  
  543. });
  544.  
  545. input.dispatchEvent(keyEvent);
  546.  
  547. }
  548.  
  549. }
  550.  
  551. }
  552.  
  553. function match() {
  554.  
  555. button = getClass("UIButton UIButton--hero")[0], button && button.click();
  556.  
  557. setTimeout(function() {
  558.  
  559. if (getClass("UIModalBody")
  560.  
  561. .length) {
  562.  
  563. setInterval = console.log;
  564.  
  565. } else {
  566.  
  567. for (let x = setTimeout(";"), i = 0; i < x; i++) {
  568.  
  569. clearTimeout(i);
  570.  
  571. }
  572.  
  573. }
  574.  
  575. function waitForMatch() {
  576.  
  577. if (getClass("MatchModeQuestionScatterTile") || getClass("MatchModeQuestionGridBoard-tile")) {
  578.  
  579. for (var F = setTimeout(";"), i = 0; i < F; i++) clearTimeout(i);
  580.  
  581. var tiles = getClass("MatchModeQuestionScatterTile");
  582.  
  583. var colors = ["#FF0000", "#FF0000", "#FF6600", "#FF6600", "#FFFF00", "#FFFF00", "#00FF00", "#00FF00", "#00FFFF", "#00FFFF", "#0033FF", "#0033FF", "#FF00FF", "#FF00FF", "#CC00FF", "#CC00FF", "#6E0DD0", "#6E0DD0", "#C0C0C0", "#C0C0C0", "#FFFFFF", "#FFFFFF", "#A52A2A", "#A52A2A", "#F6CFFF", "#F6CFFF", "#CFD9FF", "#CFD9FF", "#FBFFA3", "#FBFFA3", "#FFD1A3", "#FFD1A3", "#710000", "#710000"];
  584.  
  585. for (var i = 0; i < tiles.length; i++) {
  586.  
  587. tiles[i].style.backgroundColor = colors[i];
  588.  
  589. for (var j = 0; j < tiles.length; j++) {
  590.  
  591. if (tiles[j].childNodes[0].innerHTML == findAnswerGlobal(tiles[j].childNodes[0].innerHTML)) {
  592.  
  593. tiles[j].style.backgroundColor = colors[i];
  594.  
  595. }
  596.  
  597. }
  598.  
  599. }
  600.  
  601. clearTimeout(matchLoop);
  602.  
  603. }
  604.  
  605. }
  606.  
  607. }, 500);
  608.  
  609. }
  610.  
  611. function micromatch() {
  612.  
  613. button = getClass("UIButton UIButton--hero")[0], button && button.click();
  614.  
  615. setTimeout(function() {
  616.  
  617. if (getClass("UIModalBody")
  618.  
  619. .length) {
  620.  
  621. setInterval = console.log;
  622.  
  623. } else {
  624.  
  625. for (let x = setTimeout(";"), i = 0; i < x; i++) {
  626.  
  627. clearTimeout(i);
  628.  
  629. }
  630.  
  631. }
  632.  
  633. var tiles = getClass("MatchModeQuestionGridTile-text"); //[0].childNodes[0].innerHTML
  634.  
  635. for (var i = 0; i < tiles.length; i++) {
  636.  
  637. if (getClass("MatchModeQuestionGridTile")[i].classList[1] != "is-selected") {
  638.  
  639. click(getClass("MatchModeQuestionGridBoard-tile")[i].childNodes[0], "pointerdown");
  640.  
  641. }
  642.  
  643. for (var j = 0; j < tiles.length; j++) {
  644.  
  645. if (tiles[j].childNodes[0].innerHTML == findAnswerGlobal(tiles[i].childNodes[0].innerHTML)) {
  646.  
  647. if (getClass("MatchModeQuestionGridTile")[j].classList[1] != "is-selected") {
  648.  
  649. click(getClass("MatchModeQuestionGridBoard-tile")[j].childNodes[0], "pointerdown");
  650.  
  651. j = tiles.length;
  652.  
  653. }
  654.  
  655. }
  656.  
  657. }
  658.  
  659. }
  660.  
  661. function click(e, t) {
  662.  
  663. if (e.fireEvent) e.fireEvent("on" + t);
  664.  
  665. else {
  666.  
  667. var n = document.createEvent("Events");
  668.  
  669. n.initEvent(t, !0, !1), e.dispatchEvent(n);
  670.  
  671. }
  672.  
  673. }
  674.  
  675. }, 500);
  676.  
  677. }
  678.  
  679. function learn() {
  680.  
  681. if (getClass("ProgressSegmentedSemicircle-percent")[0].innerHTML = "100%") {
  682.  
  683. return 1;
  684.  
  685. }
  686.  
  687. checkCheckbox();
  688.  
  689. if (getClass("AssistantMultipleChoiceQuestionPromptView-inner")[0] !== undefined) {
  690.  
  691. var answer = findAnswerGlobal(getClass("FormattedText notranslate TermText lang-en")[0].innerHTML);
  692.  
  693. var q1 = getClass("FormattedText notranslate TermText lang-en")[1];
  694.  
  695. var q2 = getClass("FormattedText notranslate TermText lang-en")[2];
  696.  
  697. var q3 = getClass("FormattedText notranslate TermText lang-en")[3];
  698.  
  699. var q4 = getClass("FormattedText notranslate TermText lang-en")[4];
  700.  
  701. if (answer == q1.innerHTML) {
  702.  
  703. q1.click();
  704.  
  705. } else if (answer == q2.innerHTML) {
  706.  
  707. q2.click();
  708.  
  709. } else if (answer == q3.innerHTML) {
  710.  
  711. q3.click();
  712.  
  713. } else if (answer == q4.innerHTML) {
  714.  
  715. q4.click();
  716.  
  717. } else {
  718.  
  719. console.error("ERROR: Unable to find / click answer");
  720.  
  721. return 0;
  722.  
  723. }
  724.  
  725. getClass("UIButton")[4].click();
  726.  
  727. setTimeout(learn, 10);
  728.  
  729. } else {
  730.  
  731. setTimeout(learn, 100);
  732.  
  733. }
  734.  
  735. }
  736.  
  737. function checkCheckbox() {
  738.  
  739. document.getElementsByClassName("UIButton UIButton--whiteBorder UIButton--fill")[0].click();
  740.  
  741. if (document.getElementsByClassName("UICheckbox-input")[3].checked && document.getElementsByClassName("UICheckbox-input")[2].checked !== true && document.getElementsByClassName("UICheckbox-input")[4].checked !== true) {
  742.  
  743. document.getElementsByClassName("UIButton UIButton--inverted")[0].click();
  744.  
  745. return 1;
  746.  
  747. }
  748.  
  749. if (document.getElementsByClassName("UICheckbox-input")[4].checked === true) {
  750.  
  751. document.getElementsByClassName("UICheckbox-input")[4].click();
  752.  
  753. }
  754.  
  755. if (document.getElementsByClassName("UICheckbox-input")[2].checked === true) {
  756.  
  757. document.getElementsByClassName("UICheckbox-input")[2].click();
  758.  
  759. }
  760.  
  761. if (document.getElementsByClassName("UICheckbox-input")[3].checked === false) {
  762.  
  763. document.getElementsByClassName("UICheckbox-input")[3].click();
  764.  
  765. }
  766.  
  767. document.getElementsByClassName("UIButton UIButton--inverted")[0].click();
  768.  
  769. }
  770.  
  771. function findAnswerGlobal(question) {
  772.  
  773. if (Quizlet.assistantModeData !== undefined) { //Quizlet.assistantModeData.terms
  774.  
  775. return getAnswer(Quizlet.assistantModeData.terms, question);
  776.  
  777. } else if (Quizlet.learnGameData !== undefined) { //Quizlet.learnGameData.allTerms
  778.  
  779. return getAnswer(Quizlet.learnGameData.allTerms, question);
  780.  
  781. } else if (Quizlet.testModeData !== undefined) { //Quizlet.testModeData.terms
  782.  
  783. return getAnswer(Quizlet.testModeData.terms, question);
  784.  
  785. } else if (Quizlet.spellModeData !== undefined) { //Quizlet.spellModeData.spellGameData.termsById
  786.  
  787. return getAnswer(Quizlet.spellModeData.spellGameData.termsById, question);
  788.  
  789. } else if (Quizlet.matchModeData !== undefined) { //Quizlet.matchModeData.terms
  790.  
  791. return getAnswer(Quizlet.matchModeData.terms, question);
  792.  
  793. } else if (Quizlet.gravityModeData !== undefined) { //Quizlet.gravityModeData.terms
  794.  
  795. return getAnswer(Quizlet.gravityModeData.terms, question);
  796.  
  797. } else {
  798.  
  799. return 0;
  800.  
  801. }
  802.  
  803. function getAnswer(s, t) {
  804.  
  805. var e = s;
  806.  
  807. if (t.indexOf("_") != "-1") {
  808.  
  809. if (t.slice(-1) == "_") { //Underscore at end
  810.  
  811. for (var i = 0; i < e.length; i++) {
  812.  
  813. if (e[i].definition.indexOf(getClass("qDef lang-en TermText")[0].innerHTML.split("_")[0]) != "-1") {
  814.  
  815. return e[i].word;
  816.  
  817. } else if (e[i].word.indexOf(getClass("qDef lang-en TermText")[0].innerHTML.split("_")[0]) != "-1") {
  818.  
  819. return e[i].definition;
  820.  
  821. }
  822.  
  823. }
  824.  
  825. } else if (t[0] == "_") {
  826.  
  827. for (var i = 0; i < e.length; i++) { //Underscore at start
  828.  
  829. if (e[i].definition.indexOf(getClass("qDef lang-en TermText")[0].innerHTML.split("_")
  830.  
  831. .slice(-1)[0]) != "-1") {
  832.  
  833. return e[i].word;
  834.  
  835. } else if (e[i].word.indexOf(getClass("qDef lang-en TermText")[0].innerHTML.split("_")
  836.  
  837. .slice(-1)[0]) != "-1") {
  838.  
  839. return e[i].definition;
  840.  
  841. }
  842.  
  843. }
  844.  
  845. } else {
  846.  
  847. for (var i = 0; i < e.length; i++) { //Underscore in middle
  848.  
  849. if (e[i].definition.indexOf(getClass("qDef lang-en TermText")[0].innerHTML.split("_")
  850.  
  851. .slice(-1)[0]) != "-1" && e[i].definition.indexOf(getClass("qDef lang-en TermText")[0].innerHTML.split("_")[0]) != "-1") {
  852.  
  853. return e[i].word;
  854.  
  855. } else if (e[i].word.indexOf(getClass("qDef lang-en TermText")[0].innerHTML.split("_")
  856.  
  857. .slice(-1)[0]) != "-1" && e[i].word.indexOf(getClass("qDef lang-en TermText")[0].innerHTML.split("_")[0]) != "-1") {
  858.  
  859. return e[i].definition;
  860.  
  861. }
  862.  
  863. }
  864.  
  865. }
  866.  
  867. }
  868.  
  869. var answers = [];
  870.  
  871. for (var i = 0; i < e.length; i++) {
  872.  
  873. e[i].definition = e[i].definition.replace("\n", "<br>");
  874.  
  875. e[i].word = e[i].word.replace("\n", "<br>");
  876.  
  877. if (t == e[i].word) {
  878.  
  879. answers.push(e[i].definition);
  880.  
  881. } else if (t == e[i].definition) {
  882.  
  883. answers.push(e[i].word);
  884.  
  885. }
  886.  
  887. }
  888.  
  889. return answers[Math.floor(Math.random() * answers.length)];
  890.  
  891. }
  892.  
  893. }
  894.  
  895. }
  896.  
  897. function cAlert(message) {
  898.  
  899. var html = '<div class="UIModal is-white is-open" id="customMessageContainer" role="document" tabindex="-1"> <div class="UIModal-box"> <div class="UIModalHeader"> <div class="UIModalHeader-wrapper"> <span class="UIModalHeader-close"> <div class="UIModalHeader-closeIconButton"> <span class="UIIconButton"> <button class="UIButton UIButton--inverted" type="button" id="customCloseButton" onclick="document.getElementById(&quot;customMessageContainer&quot;).remove();"> <span class="UIButton-wrapper"> <svg class="UIIcon UIIcon--x-thin"> <noscript></noscript> <use xlink:href="#x-thin"></use> <noscript></noscript> </svg> </span> </button> </span> </div> </span> <div class="UIModalHeader-childrenWrapper"> <h3 class="UIHeading UIHeading--three"><span id="customTitle">Krews Quizlet Hacker</span></h3> </div> </div> </div> <div class="UIModalBody"> <div class="UIDiv SetPageEmbedModal-content"> <div> <p class="UIParagraph"><span id="customMessage">' + message + '</span></p></div></div></div></div></div>';
  900.  
  901. var j = document.createElement('div');
  902.  
  903. j.innerHTML = html;
  904.  
  905. document.body.appendChild(j);
  906.  
  907. }
  908.  
  909. function insaneWin(game) {
  910.  
  911. var data = {}
  912.  
  913. if (game == "gravity") {
  914.  
  915. data = {
  916.  
  917. sessionId: undefined,
  918.  
  919. score: prompt("Highest possible score is 4294967295.\nScore: ", 4294967295),
  920.  
  921. previous_record: Quizlet.highscoresModalData.previousRecord,
  922.  
  923. time_started: Date.now() - 63641,
  924.  
  925. selectedOnly: false
  926.  
  927. }
  928.  
  929. }
  930.  
  931. if (game == "match") {
  932.  
  933. data = {
  934.  
  935. score: prompt("Anything lower than 5 won't work.\nTime: ", 5),
  936.  
  937. previous_record: Quizlet.matchModeData.recordTime,
  938.  
  939. too_small: 0,
  940.  
  941. time_started: Quizlet.SERVER_TIME,
  942.  
  943. selectedOnly: false
  944.  
  945. }
  946.  
  947. }
  948.  
  949. var message = {
  950.  
  951. data: obfuscate(JSON.stringify(data), 77)
  952.  
  953. };
  954.  
  955. var send = new XMLHttpRequest;
  956.  
  957. send.open("POST", document.location.href + "/highscores");
  958.  
  959. send.setRequestHeader("CS-Token", getCookie("qtkn"));
  960.  
  961. send.setRequestHeader("Accept", "application/json");
  962.  
  963. send.setRequestHeader("Content-Type", "application/json");
  964.  
  965. send.send(JSON.stringify(message));
  966.  
  967. }
  968.  
  969. })();
  970.  
  971. function getId(id) {
  972.  
  973. return document.getElementById(id);
  974.  
  975. }
  976.  
  977. function getClass(id) {
  978.  
  979. return document.getElementsByClassName(id);
  980.  
  981. }
  982.  
  983. function getCookie(cname) {
  984.  
  985. var name = cname + "=";
  986.  
  987. var decodedCookie = decodeURIComponent(document.cookie);
  988.  
  989. var ca = decodedCookie.split(';');
  990.  
  991. for (var i = 0; i < ca.length; i++) {
  992.  
  993. var c = ca[i];
  994.  
  995. while (c.charAt(0) == ' ') {
  996.  
  997. c = c.substring(1);
  998.  
  999. }
  1000.  
  1001. if (c.indexOf(name) == 0) {
  1002.  
  1003. return c.substring(name.length, c.length);
  1004.  
  1005. }
  1006.  
  1007. }
  1008.  
  1009. return "";
  1010.  
  1011. }
  1012.  
  1013. //var learnInsertJs = "function figure(match) {termsWord = window.Quizlet.assistantModeData.terms.filter(function z(x) {return x.word == match}); termsDefinition = window.Quizlet.assistantModeData.terms.filter(function z(x) {return x.definition === match}); if (termsWord.length > 0) {return termsWord[0].definition;}; if (termsDefinition.length > 0) {return termsDefinition[0].word;}}; function solve() {input = document.querySelector('#AssistantModeTarget > div > div > div > div.ModeLayout-content > div > span:nth-child(2) > div > div > div.AssistantScrollableViewLayout-content > div > div.AssistantMultipleChoiceQuestionPromptView-promptArea > div > div > div > span').innerHTML; output = figure(input); outs = document.querySelectorAll('.AssistantMultipleChoiceQuestionPromptView-termOptionInner > div > span'); for (var i = 0; i < outs.length; i++) {if (outs[i].innerText === output) {outs[i].click();}}; document.querySelector('#AssistantModeTarget > div > div > div > div.ModeLayout-content > div > span:nth-child(3) > div > div.AssistantFixedActionLayout-action > div > button').click(); if (document.querySelector('#AssistantModeTarget > div > div > div > div.ModeLayout-controls > div > div > div > div.ModeControls-main > div.ModeControls-progress > div > div > div > svg > text.ProgressSegmentedSemicircle-text.ProgressSegmentedSemicircle-progressText > tspan').innerHTML.slice(0, -1) !== '100') {setTimeout(solve, 10);};}; solve();"
  1014.  
  1015. //backupOptionsSet = "/*document.querySelector('#AssistantModeTarget > div > div > div > div.ModeLayout-controls > div > div > div > div.ModeControls-main > div.ModeControls-actions > div > button > span > span').click(); if (document.querySelector('body > div:nth-child(4) > div.UIModal.is-white.is-open > div > div.UIModalBody > div > div:nth-child(3) > div > div > div > div > div > div:nth-child(3) > label > input').checked) {document.querySelector('body > div:nth-child(4) > div.UIModal.is-white.is-open > div > div.UIModalBody > div > div:nth-child(3) > div > div > div > div > div > div:nth-child(3) > label > input').click();}; if (document.querySelector('body > div:nth-child(4) > div.UIModal.is-white.is-open > div > div.UIModalBody > div > div:nth-child(3) > div > div > div > div > div > div:nth-child(1) > label > input').checked) {document.querySelector('body > div:nth-child(4) > div.UIModal.is-white.is-open > div > div.UIModalBody > div > div:nth-child(3) > div > div > div > div > div > div:nth-child(1) > label > input').click();}; document.querySelector('body > div:nth-child(4) > div.UIModal.is-white.is-open > div > div.UIModalHeader > div > span > div > span > button > span').click();*/"
  1016.  
  1017. /*
  1018.  
  1019. function solveLearn() {
  1020.  
  1021. script = document.createElement('script');
  1022.  
  1023. script.textContent = learnInsertJs;
  1024.  
  1025. (document.head||document.documentElement).appendChild(script);
  1026.  
  1027. script.remove();
  1028.  
  1029. }
  1030.  
  1031. chrome.runtime.onMessage.addListener(
  1032.  
  1033. function(request, sender, sendResponse) {
  1034.  
  1035. if (request.run == "write") {
  1036.  
  1037. iters = parseInt($(".LearnModeProgressBar-value").html())
  1038.  
  1039. for (var i = 0; i < iters; i++) {
  1040.  
  1041.  
  1042.  
  1043. $("#user-answer")[0].value = "*";
  1044.  
  1045. $("#js-learnModeAnswerButton")[0].click();
  1046.  
  1047. document.evaluate('//*[@id="js-learnModeInner"]/div[1]/div/div[2]/div/div[2]/span/a', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.click();
  1048.  
  1049. }
  1050.  
  1051. sendResponse({out: 0});
  1052.  
  1053. }
  1054.  
  1055. else if (request.run === "learn") {
  1056.  
  1057. solveLearn();
  1058.  
  1059. sendResponse({out: 0});
  1060.  
  1061. }
  1062.  
  1063. else {
  1064.  
  1065. sendResponse({out: 1});
  1066.  
  1067. }
  1068.  
  1069. });
  1070.  
  1071. */
  1072.  
  1073. /* Enter Spoof - Works
  1074.  
  1075. document.getElementById("user-answer").focus();
  1076.  
  1077. var keyEvent = new KeyboardEvent("keydown", {
  1078.  
  1079. bubbles: true,
  1080.  
  1081. cancelable: true,
  1082.  
  1083. char: "Enter",
  1084.  
  1085. key: "Enter",
  1086.  
  1087. shiftKey: false,
  1088.  
  1089. keyCode: 13,
  1090.  
  1091. which: 13
  1092.  
  1093. });
  1094.  
  1095. document.getElementById("user-answer").dispatchEvent(keyEvent);
  1096.  
  1097. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement