From 334abf15d31def80e2d8325f465e47d2d6a862dd Mon Sep 17 00:00:00 2001 From: justuswolff Date: Tue, 28 May 2024 20:11:23 +0200 Subject: [PATCH] hacking in hashengine is easy. --- games/pong/build/player.py | 21 +++++++++++++++++++-- games/pong/build/requirements.txt | 1 + injector/main.py | 15 +++++++++++++++ main.py | 1 + 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 games/pong/build/requirements.txt create mode 100644 injector/main.py diff --git a/games/pong/build/player.py b/games/pong/build/player.py index 4a9ba3b..09e64c2 100644 --- a/games/pong/build/player.py +++ b/games/pong/build/player.py @@ -1,6 +1,24 @@ import sys # Justus Jan Nico Wolff sys.dont_write_bytecode = True +import subprocess +import pkg_resources +import ast + +required = open("requirements.txt", 'r') +required = ast.literal_eval(required.read()) +installed = {pkg.key for pkg in pkg_resources.working_set} +missing = required - installed + +if missing: + while True: + ans = input(f"Einige benötigte Module sind nicht installiert ({missing}), installieren per pip? Y/N ") + if ans == "y": + python = sys.executable + subprocess.check_call([python, '-m', 'pip', 'install', *missing], stdout=subprocess.DEVNULL) + break + elif ans == "n": + exit() import mtTkinter as tk from tkinter import ttk as tkk from tkinter import messagebox @@ -34,8 +52,6 @@ else: if len(sys.argv) == 2: if sys.argv[1] == "NOLANG": replacelh() -import ast -import subprocess import time import shutil import os @@ -765,6 +781,7 @@ def build(): print(f"copying {i}...") shutil.copyfile(i, target+"/"+i) shutil.copyfile(__file__, target+"/"+"player.py") + shutil.copyfile("requirements.txt", target+"/"+"requirements.txt") file = open(target+"/main.py", 'w') file.write(""" import player diff --git a/games/pong/build/requirements.txt b/games/pong/build/requirements.txt new file mode 100644 index 0000000..2cbc963 --- /dev/null +++ b/games/pong/build/requirements.txt @@ -0,0 +1 @@ +{"easygui", "simpleaudio"} \ No newline at end of file diff --git a/injector/main.py b/injector/main.py new file mode 100644 index 0000000..5743660 --- /dev/null +++ b/injector/main.py @@ -0,0 +1,15 @@ +#written as proof that hacking in hashengine is easy. +from tkinter import filedialog +from tkinter import messagebox +import ast +#{'id': 'script', 'name': 'mainhack', 'SID': 'TPaPheoLAzSDfjYwRXCQawPUJbCLghRFwUdSuUbBtkNStsUsjzYjUpDzKTpjlJAUAVFJNmrpFEgmBckKiHaRpkeZPamYgOmdsgIAZTTanbrujQUsOstXltiTwTigfKUbbFmjfHRhaKqCpEyahwgAeYjOedngzPiZySvbrBpFtfSImXRzQYyhbYkkpCzOEMhFiqTnpuUkJTAwwdKBXXWehrzVfbeUwNcBzqGSxniKEdxfJAFUjPxuYLTpZpgwibI', 'args': {'code': 'import tkinter as tk\ncontainer = tk.Tk()\nentry = tk.Entry(container)\nentry.grid()\ndef inject(entry, runningdir):\n\ttarget = entry.get()\n\texec(target, runningdir)\ninjectb = tk.Button(container, text="Inject!", command=lambda: inject(entry, globals()))\ninjectb.grid()\ncontainer.mainloop()\n'}} +messagebox.showinfo("pls", "select hashengine 2.2 game.") +file = filedialog.askopenfilename() +if not file: exit() +handler = open(file, 'r').read() +handler = ast.literal_eval(handler) +handler[0].append({'id': 'script', 'name': 'mainhack', 'SID': 'TPaPheoLAzSDfjYwRXCQawPUJbCLghRFwUdSuUbBtkNStsUsjzYjUpDzKTpjlJAUAVFJNmrpFEgmBckKiHaRpkeZPamYgOmdsgIAZTTanbrujQUsOstXltiTwTigfKUbbFmjfHRhaKqCpEyahwgAeYjOedngzPiZySvbrBpFtfSImXRzQYyhbYkkpCzOEMhFiqTnpuUkJTAwwdKBXXWehrzVfbeUwNcBzqGSxniKEdxfJAFUjPxuYLTpZpgwibI', 'args': {'code': 'import tkinter as tk\ncontainer = tk.Tk()\nentry = tk.Entry(container)\nentry.grid()\ndef inject(entry, runningdir):\n\ttarget = entry.get()\n\texec(target, runningdir)\ninjectb = tk.Button(container, text="Inject!", command=lambda: inject(entry, globals()))\ninjectb.grid()\ncontainer.mainloop()\n'}}) +file = open(file, 'w') +file.write(str(handler)) +file.close() +messagebox.showinfo("yes", "success") diff --git a/main.py b/main.py index 2b2cb03..09e64c2 100644 --- a/main.py +++ b/main.py @@ -781,6 +781,7 @@ def build(): print(f"copying {i}...") shutil.copyfile(i, target+"/"+i) shutil.copyfile(__file__, target+"/"+"player.py") + shutil.copyfile("requirements.txt", target+"/"+"requirements.txt") file = open(target+"/main.py", 'w') file.write(""" import player