- Статус
- Оффлайн
- Регистрация
- 16 Сен 2025
- Сообщения
- 183
- Реакции
- 16
Простой кейген для HTTPDebuggerPro
Нужен установленный HTTPDebugger. Если без подписки - запускаем скрипт от имени админа и за секунду все готово
(написан на коленке)
Нужен установленный HTTPDebugger. Если без подписки - запускаем скрипт от имени админа и за секунду все готово
(написан на коленке)
Python:
import ctypes
import random
import winreg
import subprocess
import sys
def isAdmin():
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
def elevate():
if not isAdmin():
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join([f'"{arg}"' for arg in sys.argv]), None, 1)
sys.exit()
def stopService():
print("[keygen] stopping httpdebugger service...")
subprocess.run(["net", "stop", "HTTPDebuggerPro"], capture_output=True)
subprocess.run(["taskkill", "/F", "/IM", "HTTPDebuggerSvc.exe"], capture_output=True)
subprocess.run(["taskkill", "/F", "/IM", "HTTPDebuggerUI.exe"], capture_output=True)
print("[keygen] service stopped")
def startService():
print("[keygen] starting httpdebugger service...")
subprocess.run(["net", "start", "HTTPDebuggerPro"], capture_output=True)
print("[keygen] service started")
def getSerialVolume(drive="C"):
serial = ctypes.c_uint32()
ctypes.windll.kernel32.GetVolumeInformationW(
f"{drive}:\\", None, 0, ctypes.byref(serial), None, None, None, 0
)
return serial.value
def appVersion():
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"Software\MadeForNet\HTTPDebuggerPro")
value, _ = winreg.QueryValueEx(key, "AppVer")
winreg.CloseKey(key)
return value
def parse(app_ver):
digits = []
for ch in reversed(app_ver):
if ch == ' ':
break
if ch != '.':
digits.append(ch)
digits.reverse()
return int(''.join(digits))
def u32(x):
return x & 0xFFFFFFFF
def to32(x):
x = u32(x)
if x >= 0x80000000:
return x - 0x100000000
return x
def genName():
app_ver = appVersion()
version_num = parse(app_ver)
vol_serial = getSerialVolume("C")
not_serial = u32(~vol_serial)
shifted = u32(not_serial >> 1)
added = u32(shifted + 736)
result = u32(version_num ^ added ^ 0x590D4)
signed_result = to32(result)
print(f"[keygen] app version: {app_ver}")
print(f"[keygen] version num: {version_num}")
print(f"[keygen] vol_serial: 0x{vol_serial:08X}")
print(f"[keygen] ~serial: 0x{not_serial:08X}")
print(f"[keygen] shifted: 0x{shifted:08X}")
print(f"[keygen] +736: 0x{added:08X}")
print(f"[debug] result (xor): 0x{result:08X} -> {signed_result}")
return f"SN{signed_result}"
def genKey():
while True:
v1 = random.randint(1, 254)
v2 = random.randint(1, 254)
v3 = random.randint(0, 32767)
key = "{:02X}{:02X}{:02X}7C{:02X}{:02X}{:02X}{:02X}".format(
v1,
v2 ^ 0x7C,
(~v1) & 0xFF,
v2,
v3 % 255,
(v3 % 255) ^ 7,
v1 ^ ((~(v3 % 255)) & 0xFF),
)
if len(key) == 16:
return key
def main():
elevate()
print("Httpdebugger keygen + patcher by aronpaul\n")
stopService()
name = genName()
key = genKey()
reg_key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, r"Software\MadeForNet\HTTPDebuggerPro")
winreg.SetValueEx(reg_key, name, 0, winreg.REG_SZ, key)
winreg.CloseKey(reg_key)
print(f"\nname: {name}")
print(f"generated key: {key}")
startService()
input("\npress enter to exit...")
if __name__ == "__main__":
main()
