swuforce

[워게임]single byte xor

범호야 2025. 11. 12. 13:04

54586b6458754f7b215c7c75424f21634f744275517d6d -> 이게 단일 바이트와 XOR해서 만들어진 암호라 하였으므로 얘를 이용하여 문제를 해결할 수 있다. 

import sys
sys.stdout.reconfigure(encoding='utf-8')

def xor_byte(data, byte):
    return data ^ byte

def main():
    hex_string = "54586b6458754f7b215c7c75424f21634f744275517d6d"
    hex_list = [int(hex_string[i:i+2], 16) for i in range(0, len(hex_string), 2)]

    for xor_value in range(256):
        result_data = [xor_byte(h, xor_value) for h in hex_list]
        result_string = ''.join([format(x, '02X') for x in result_data])

        # ASCII로 변환하되, 출력 가능한 문자만 표시
        ascii_result = ''.join([chr(x) if 32 <= x <= 126 else '.' for x in result_data])

        print(f"XOR 0x{xor_value:02X} Result: {result_string}, ASCII: {ascii_result}")

if __name__ == "__main__":
    main()

 

DH{tHe_k1LleR_1s_dReAm}