Skip to content

Instantly share code, notes, and snippets.

@veygax
Created March 27, 2025 19:45
Show Gist options
  • Select an option

  • Save veygax/83fa31bee886f53dc26a3ad81e83f5fe to your computer and use it in GitHub Desktop.

Select an option

Save veygax/83fa31bee886f53dc26a3ad81e83f5fe to your computer and use it in GitHub Desktop.
JitBit Macro Recorder keygen
import base64
import hashlib
from datetime import datetime
from Crypto.PublicKey import DSA
from Crypto.Signature import DSS
from Crypto.Hash import SHA1
USERNAME = "VeygaX"
KEY_SIZE = 512
def b64_to_int(b64):
return int.from_bytes(base64.b64decode(b64), byteorder='big')
PRIVATE_KEY_PARAMS = {
'p': b64_to_int("3N35IcqKMJLdrg5HmSYa6duURBVDNZgj7BCnwcz/ufmuTgBqQSf3cxqHNTX31BTKJWBBdfF2LxA+uLRmTXZGzw=="),
'q': b64_to_int("hEN4EgQsu/HHDcZh9Qwxg43wkL8="),
'g': b64_to_int("gYixcJeFwqXYS9td15uvi1o5Ontd6U00qjtvo7aPo4ccNB7jt5SGLEBM9RPsYPKnmC8PRBze5gm2MBgZIm4YsQ=="),
'y': b64_to_int("RSijtNxu4sTZc50YrQLR19KX3PEsIGSrvcRYdAUKb1nWGJNY0aAdt/E5HtbMbSqIFPI3mLcOYdgxu9WyzGkRNw=="),
'x': b64_to_int("EaOoelpYoydZvGFMZHUobAPlfSY=")
}
def get_keypair():
key = DSA.construct( (
PRIVATE_KEY_PARAMS['y'],
PRIVATE_KEY_PARAMS['g'],
PRIVATE_KEY_PARAMS['p'],
PRIVATE_KEY_PARAMS['q'],
PRIVATE_KEY_PARAMS['x']
), consistency_check=False)
return key
def generate_signature(username, expiration_date):
months_since_2000 = (expiration_date.year - 2000) * 12 + expiration_date.month
months_since_2000 <<= 1 # shift left to leave room for `releaseLimited` bit
release_limited = 1
months_since_2000 |= release_limited
# convert to double byte
footer_bytes = [(months_since_2000 >> 8) & 0xFF, months_since_2000 & 0xFF]
# sign username
key = get_keypair()
signer = DSS.new(key, 'deterministic-rfc6979')
hashed = SHA1.new(username.encode('utf-8'))
signature = signer.sign(hashed)
# append expiration metadata
final = signature + bytes(footer_bytes)
return base64.b64encode(final).decode()
expiration = datetime(2999, 12, 1) # trial expires Dec 2999
serial = generate_signature(USERNAME, expiration)
print(f"[+] Serial for '{USERNAME}':\n{serial}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment