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}
