또 뭐하지
[Dreamhack] darimchal-001 본문
728x90
풀이
제공된 파일에는 chall1.c 파일과 chall1 바이너리 파일이 있다.
chall1.c의 코드를 보면 적절한 비밀번호를 입력을 하면 복호화가 되는 것을 알 수 있다.
위 코드를 보면 입력된 비밀번호와 KEY를 XOR한 값을 JOKER와 대조하여 일치하면 올바른 비밀번호로 인식되는 것을 알 수 있다. 따라서 JOKER와 KEY를 XOR 연산하여 원하는 비밀번호 값을 얻을 수 있다는 것을 알 수 있다. (∵ a = b^c 이면 a^b = c)
jocker = "\x40\x53\x06\x03\x43\x52\x54\x3b"
key = "023661dd4"
tmp = ""
for i in range(8):
tmp += chr(ord(key[i])^ord(jocker[i]))
print(tmp)
위와 같은 코드를 통해서 원하는 복호화 키를 얻을 수 있다.
'Write-up > Crypto' 카테고리의 다른 글
[Dreamhack] likeb64 (0) | 2024.04.03 |
---|---|
[Dreamhack] babycrypto3 (0) | 2024.03.29 |
[Dreamhack] SingleByteXor (0) | 2024.03.29 |
[Dreamhack] Basic-Crypto1 (0) | 2024.03.29 |
[Dreamhack] ROT128 (0) | 2024.03.29 |