정답이 안나와요 ㅠㅠ
enc = [0x4960677463674266, 0x807869697B996D8868, 0x949F8D4DA59D45]
for num in enc:
    bytes_list = []
    while num:
        byte = num & 0xFF
        bytes_list.append(byte)
        
        num >>= 8

    i=0
    for b in reversed(bytes_list):
        
        x = ((b-(2*i)) ^ i)
        print(chr(x), end='')
        i+=1

왜 정답이 안나올까요??

#reversing
작성자 정보
답변 1
avatar
사용자
CTF Second Place

음~ 이 방식으로 문제를 해결하시려면 변수 i 초기화를 반복문 밖으로 빼셔야 합니다! ^^

i = 0
enc = [0x4960677463674266, 0x807869697B996D8868, 0x949F8D4DA59D45]
for num in enc:
    bytes_list = []
    while num:
        byte = num & 0xFF
        bytes_list.append(byte)
        
        num >>= 8

    for b in reversed(bytes_list):
        
        x = ((b-(2*i)) ^ i)
        print(chr(x), end='')
        i+=1
2023.09.27. 09:14
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기