From 264f9b3435bfcdd22a886551148085ac80e226e5 Mon Sep 17 00:00:00 2001 From: Ilya Bezrukov Date: Wed, 31 Jul 2024 15:30:45 +0300 Subject: [PATCH] fix webhack. refactor tap.py --- tap.py | 19 ++++++++++++------- webhack.js | 12 ++++++++---- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/tap.py b/tap.py index 7bee975..0e71399 100644 --- a/tap.py +++ b/tap.py @@ -12,13 +12,14 @@ URL = "https://api.hamsterkombatgame.io/clicker/tap" ONETAP_TIME = float(os.getenv("ONETAP_TIME", 0.1614)) GEN_PER_SEC = int(os.getenv("GEN_PER_SEC", 3)) -MAX_TAPS = int(os.getenv("MAX_TAPS", 1000)) -MIN_TAPS = int(os.getenv("MIN_TAPS", 0)) -RAND_DELTA = int(os.getenv("RAND_DELTA", 50)) -EXTRA_WAIT = int(os.getenv("EXTRA_WAIT", 5)) +ENERGY_MAX = int(os.getenv("ENERGY_MAX", 1000)) + +RAND_MIN = int(os.getenv("RAND_MIN", ENERGY_MAX // 2)) +RAND_MAX = int(os.getenv("RAND_MAX", ENERGY_MAX)) AUTH = os.getenv("AUTH") DRY_RUN = bool(int(os.getenv("DRY_RUN", False))) +EXTRA_WAIT = int(os.getenv("EXTRA_WAIT", 5)) @@ -46,12 +47,16 @@ class Tap: tap_available: int regen_wait: int + @staticmethod + def clamp(x): + return max(min(x, ENERGY_MAX), 0) + @classmethod def fake(cls): - tap_count = random.randint(MIN_TAPS + RAND_DELTA, MAX_TAPS - RAND_DELTA) + tap_count = random.randint(RAND_MIN, RAND_MAX) tap_regen = int(ONETAP_TIME * tap_count * GEN_PER_SEC) - tap_available = max(min(MAX_TAPS - tap_count + tap_regen, MAX_TAPS), MIN_TAPS) - regen_wait = (MAX_TAPS - tap_available) // GEN_PER_SEC + EXTRA_WAIT + tap_available = Tap.clamp(ENERGY_MAX - tap_count + tap_regen, ENERGY_MAX) + regen_wait = (ENERGY_MAX - tap_available) // GEN_PER_SEC + EXTRA_WAIT return cls(tap_count, tap_available, regen_wait) def to_json(self): diff --git a/webhack.js b/webhack.js index 64b7f6d..e7478ec 100644 --- a/webhack.js +++ b/webhack.js @@ -1,8 +1,12 @@ -window.hamster_hack = function () { - let frame = document.querySelector(".zA1w1IOq"); +function hack() { + let frame = document.querySelector("iframe"); if (frame) { - let orig = frame.getAttribute("src"); - frame.setAttribute("src", orig.replace("tgWebAppPlatform=weba", "tgWebAppPlatform=android")); + let src = frame.getAttribute("src"); + src = src.replace("tgWebAppPlatform=weba", "tgWebAppPlatform=android"); + src = src.replace("tgWebAppPlatform=web", "tgWebAppPlatform=android"); + frame.setAttribute("src", src); alert("hacked"); + } else { + alert("no iframe"); } }