Bypass DevTools Detection, Unlock Functionality, and Auto Check-in

Bỏ qua phát hiện DevTools, mở khóa các chức năng và tự động điểm danh trên https://loulxgame.com/

As of 2024-10-11. See the latest version.

  1. // ==UserScript==
  2. // @name Bypass DevTools Detection, Unlock Functionality, and Auto Check-in
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0
  5. // @description Bỏ qua phát hiện DevTools, mở khóa các chức năng và tự động điểm danh trên https://loulxgame.com/
  6. // @author hieuck
  7. // @match https://loulxgame.com/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. // Mở khóa chuột phải
  15. document.addEventListener('contextmenu', function(event) {
  16. event.stopPropagation(); // Ngăn chặn hành động mặc định
  17. }, true);
  18.  
  19. // Mở khóa phím tắt
  20. document.addEventListener('keydown', function(event) {
  21. const allowedKeys = [123, 73, 74, 67, 85, 83, 80, 65, 67, 86]; // F12, Ctrl+Shift+I, Ctrl+Shift+J, ...
  22. if (allowedKeys.includes(event.keyCode)) {
  23. event.stopPropagation(); // Ngăn chặn hành động mặc định
  24. }
  25. }, true);
  26.  
  27. // Ghi đè hàm debugger
  28. window.debugger = function() {
  29. // Không làm gì khi gọi debugger
  30. };
  31.  
  32. // Ngăn chặn phát hiện DevTools
  33. (function() {
  34. let callbacks = [];
  35. let timeLimit = 50;
  36. let open = false;
  37.  
  38. function loop() {
  39. const startTime = new Date();
  40. // Ghi đè hàm debugger
  41. if (window._debugger === undefined) {
  42. window._debugger = function() {};
  43. }
  44.  
  45. window._debugger(); // Gọi hàm giả mạo
  46.  
  47. if (new Date() - startTime > timeLimit) {
  48. if (!open) {
  49. callbacks.forEach(function(fn) {
  50. fn.call(null);
  51. });
  52. }
  53. open = true;
  54. console.log('Phát hiện DevTools, nhưng đã được xử lý.');
  55. // Ngăn chặn việc xóa nội dung
  56. // document.body.innerHTML = ""; // Không xóa nội dung trang
  57. // window.stop(); // Không dừng trang
  58. } else {
  59. open = false;
  60. }
  61. }
  62.  
  63. setInterval(loop, 100); // Kiểm tra mỗi 100ms
  64.  
  65. // Phương thức thêm listener
  66. window.addListener = function(fn) {
  67. callbacks.push(fn);
  68. };
  69.  
  70. // Phương thức xóa listener
  71. window.cancelListener = function(fn) {
  72. callbacks = callbacks.filter(function(v) {
  73. return v !== fn;
  74. });
  75. };
  76.  
  77. })();
  78.  
  79. // Hàm tự động điểm danh
  80. function autoCheckIn() {
  81. const checkInButton = document.querySelector('.checkin-details-link');
  82.  
  83. // Nếu nút có chứa "Đã điểm danh"
  84. if (checkInButton && checkInButton.innerHTML.includes("Đã điểm danh")) {
  85. console.log('Đã điểm danh hôm nay. Dừng lại.');
  86. return; // Dừng lại nếu đã điểm danh
  87. }
  88.  
  89. // Tìm nút điểm danh
  90. if (checkInButton) {
  91. // Tạo sự kiện click cho nút điểm danh
  92. checkInButton.click();
  93. console.log('Đã điểm danh tự động!');
  94. } else {
  95. console.log('Nút điểm danh không tìm thấy.');
  96. }
  97. }
  98.  
  99. // Chờ trang tải xong trước khi điểm danh
  100. window.addEventListener('load', function() {
  101. if (window.location.href === 'https://loulxgame.com/') {
  102. setTimeout(autoCheckIn, 1000); // Tự động điểm danh sau 1 giây
  103. }
  104. });
  105. })();