또 뭐하지
[Dreamhack] SingleByteXor 본문
728x90
풀이
제공된 파일에는 DyingMessage 파일이 들어있다.
filepath = "D:/dreamhack/SingleByteXor/DyingMessage"
with open(filepath, 'r') as f:
Msg = f.read()
def XOR(msg, i):
l = len(msg)
p = ""
for j in range(0,l-2,2):
tmp = int('0x'+msg[j:j+2],16)^i
p = p+chr(tmp)
return p
for i in range(0,256):
print("i = ", i, " ", XOR(Msg, i))
단일 바이트와 XOR 했다는 힌트가 문제에 제공되어있다.
이를 바탕으로 다잉메시지를 바이트 단위로 떼어서 브루트포스 공격을 시행하는 코드를 작성하였다.
실행결과를 살펴보면 16과 xor했을 때 flag가 출력되는 것을 확인할 수 있다.
'Write-up > Crypto' 카테고리의 다른 글
[Dreamhack] likeb64 (0) | 2024.04.03 |
---|---|
[Dreamhack] babycrypto3 (0) | 2024.03.29 |
[Dreamhack] darimchal-001 (0) | 2024.03.29 |
[Dreamhack] Basic-Crypto1 (0) | 2024.03.29 |
[Dreamhack] ROT128 (0) | 2024.03.29 |