From 638929a39d27c37d75509002f63d90e3b5daa210 Mon Sep 17 00:00:00 2001 From: 17ms <79069176+17ms@users.noreply.github.com> Date: Fri, 30 Jun 2023 16:14:19 +0300 Subject: [PATCH] 6403ac2a33c5d447bc76179f --- .gitignore | 7 ++++ .../rainerzimmerman-keygen.py | 40 +++++++++++++++++++ .../yariza-keygen.py | 0 3 files changed, 47 insertions(+) create mode 100755 rainerzimmerman-keygen/rainerzimmerman-keygen.py rename yariza-keygen.py => yariza-keygen/yariza-keygen.py (100%) diff --git a/.gitignore b/.gitignore index 2211df6..c0d242d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,8 @@ *.txt +*.out +*.zip +*.so + +.vscode/ +*.dSYM/ + diff --git a/rainerzimmerman-keygen/rainerzimmerman-keygen.py b/rainerzimmerman-keygen/rainerzimmerman-keygen.py new file mode 100755 index 0000000..0dac94a --- /dev/null +++ b/rainerzimmerman-keygen/rainerzimmerman-keygen.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 + +# Link: https://crackmes.one/crackme/6403ac2a33c5d447bc76179f + +# Conditions that must be fulfilled for the key to be valid: +# 1. len(key) == 13 && key[3] == "-" +# (2. sum1 = sum(key[0:3]))) +# 3. (key[0] ^ sum1 % 3) == sum(key[4:7]) +# 4. (key[1] ^ sum1 % 3) == sum(key[7:10]) +# 5. (key[2] ^ sum1 % 3) == sum(key[10:13]) + +import random + + +def complete(base): + s = ["", "", ""] + base_sum = sum(base) + + for i in range(3): + c = base[i] ^ base_sum % 3 + s[i] = "".join(str(n) for n in find_sum(c)) + + return f"{''.join(str(n) for n in base)}-{s[0]}{s[1]}{s[2]}" + + +def find_sum(total): + while True: + x = random.randint(0, 9) + y = random.randint(0, 9) + z = random.randint(0, 9) + + if x + y + z == total: + break + + return x, y, z + + +while True: + base = [random.randint(0, 9) for _ in range(3)] + print(complete(base)) diff --git a/yariza-keygen.py b/yariza-keygen/yariza-keygen.py similarity index 100% rename from yariza-keygen.py rename to yariza-keygen/yariza-keygen.py