Python - Unpackme 1/10

Bu kullanıcıyla herhangi bir iş veya ticaret yapmak istiyorsanız, forumdan uzaklaştırıldığını sakın unutmayın.


Konunun hedefi hariç her boku yaptım amk öğrenmede çok yardımcı oluyor bu arada kaynak kodu çıkarmaya çalışıcam şimdi
 
Protector - custom basic obfuscator
Compiler - Nuitka
Python Version - 3.14





Amaç: Temiz çalışan ve bire bir kaynak kod elde etmek.

Python üstadları yine çoğalmış bi açalım dedik.


Python kodunuzu koruma ihtiyacı duyuyorsanız RikaPY tercih edebilirsiniz.

uğraşıcam sonuca göre yazarım ama 10/1 olmadığı kesin
 
Bu kullanıcıyla herhangi bir iş veya ticaret yapmak istiyorsanız, forumdan uzaklaştırıldığını sakın unutmayın.
disassembly tamamen çıktı ama kaynak kodu hala çıkaramadım glkjfdslkşjglşdsfjşlgfdsg
 
temiz çalışan deobfuscated
Kod:
import hashlib


MASK32 = 0xFFFFFFFF
MASK64 = 0xFFFFFFFFFFFFFFFF
INITIAL_STATE = 0xC0FFEE1234ABCDEF
ALPHABET = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"


def rotl32(value, shift):
    shift %= 32
    return ((value << shift) | (value >> (32 - shift))) & MASK32


def rotl64(value, shift):
    shift %= 64
    return ((value << shift) | (value >> (64 - shift))) & MASK64


def generated_mix(value):
    result = value
    for i in range(40):
        result ^= (i * 1234567) & MASK32
        result = rotl32(result, i % 11)
        result = (result * 5 + 17) & MASK32
    return result


def mix_input_byte(value):
    result = value
    for _ in range(120):
        result = ((result * 7 + 3) ^ (result >> 1))
    return result


def mix_low_byte(value):
    result = value
    for i in range(80):
        result ^= i * 99991
        result = rotl32(result, 3)
    return result


def mix_low_word(value):
    result = value
    for i in range(100):
        result ^= i * 17
        result = (result * 13 + 19) & MASK32
    return result


def compute_digest(username):
    state = INITIAL_STATE
    for index, byte in enumerate(username.encode()):
        state ^= byte << (index % 13)
        state = (state * 25214903917 + 11) & MASK64
        state = rotl64(state, 11)
        state ^= mix_input_byte(byte)
        state &= MASK64
        state ^= mix_low_byte(state & 0xFF)
        state &= MASK64
        state ^= mix_low_word(state & 0xFFFF)
        state &= MASK64

        # The original payload dynamically generated 60 functions with the same
        # body. The first 10 were called here with the same byte input, so their
        # XOR effect cancels out completely.

    message = username[::-1].encode() + state.to_bytes(8, "little")
    return hashlib.sha256(message).digest()


def encode_key(digest):
    output = []
    for index in range(16):
        value = digest[index] ^ digest[index + 16]
        value = ((value << 5) | (value >> 3)) & 0xFF
        value ^= index * 17
        value = (value * 3) & 0xFF
        value ^= value >> 2
        for _ in range(10):
            value ^= generated_mix(value) & 0xFF
        output.append(ALPHABET[value % len(ALPHABET)])
    return "".join(output)


def generate_key(username):
    return encode_key(compute_digest(username))


def dummy_delay():
    total = 0
    for i in range(300):
        for j in range(5):
            total ^= i * j + 123
    return total


def main():
    username = input("username: ")
    key = input("key: ")
    dummy_delay()
    if key == generate_key(username):
        print("workkkkk")
        return
    print("nope nope nope")


if __name__ == "__main__":
    main()

Elinize sağlık solve confidence olarak bence rahat 9/10 ' u vardır .
 
temiz çalışan deobfuscated
Kod:
import hashlib


MASK32 = 0xFFFFFFFF
MASK64 = 0xFFFFFFFFFFFFFFFF
INITIAL_STATE = 0xC0FFEE1234ABCDEF
ALPHABET = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"


def rotl32(value, shift):
    shift %= 32
    return ((value << shift) | (value >> (32 - shift))) & MASK32


def rotl64(value, shift):
    shift %= 64
    return ((value << shift) | (value >> (64 - shift))) & MASK64


def generated_mix(value):
    result = value
    for i in range(40):
        result ^= (i * 1234567) & MASK32
        result = rotl32(result, i % 11)
        result = (result * 5 + 17) & MASK32
    return result


def mix_input_byte(value):
    result = value
    for _ in range(120):
        result = ((result * 7 + 3) ^ (result >> 1))
    return result


def mix_low_byte(value):
    result = value
    for i in range(80):
        result ^= i * 99991
        result = rotl32(result, 3)
    return result


def mix_low_word(value):
    result = value
    for i in range(100):
        result ^= i * 17
        result = (result * 13 + 19) & MASK32
    return result


def compute_digest(username):
    state = INITIAL_STATE
    for index, byte in enumerate(username.encode()):
        state ^= byte << (index % 13)
        state = (state * 25214903917 + 11) & MASK64
        state = rotl64(state, 11)
        state ^= mix_input_byte(byte)
        state &= MASK64
        state ^= mix_low_byte(state & 0xFF)
        state &= MASK64
        state ^= mix_low_word(state & 0xFFFF)
        state &= MASK64

        # The original payload dynamically generated 60 functions with the same
        # body. The first 10 were called here with the same byte input, so their
        # XOR effect cancels out completely.

    message = username[::-1].encode() + state.to_bytes(8, "little")
    return hashlib.sha256(message).digest()


def encode_key(digest):
    output = []
    for index in range(16):
        value = digest[index] ^ digest[index + 16]
        value = ((value << 5) | (value >> 3)) & 0xFF
        value ^= index * 17
        value = (value * 3) & 0xFF
        value ^= value >> 2
        for _ in range(10):
            value ^= generated_mix(value) & 0xFF
        output.append(ALPHABET[value % len(ALPHABET)])
    return "".join(output)


def generate_key(username):
    return encode_key(compute_digest(username))


def dummy_delay():
    total = 0
    for i in range(300):
        for j in range(5):
            total ^= i * j + 123
    return total


def main():
    username = input("username: ")
    key = input("key: ")
    dummy_delay()
    if key == generate_key(username):
        print("workkkkk")
        return
    print("nope nope nope")


if __name__ == "__main__":
    main()

Elinize sağlık solve confidence olarak bence rahat 9/10 ' u vardır .
hocam su 250 dolar diyen elemanin konua bi goz atabilirmisin ya
 

Şuanda konuyu görüntüleyen kullanıcılar

Geri
Üst Alt