1. [7FF662833000] 주소에 마지막 위치에 저장된 값은 23번째(0x4C), 24번째(0x00)2. 23번째 문자열+24번째 문자열=0x4C 이므로 FLAG의 23번째 문자열은 0x4C3. 23번째 문자열에서 22번째 문자열을 뺀 나머지가 FLAG의 22번째 문자열4. 뒤에서부터 차례로 연산하여 값을 리스트에 저장5. 리스트를 뒤집어서 FLAG를 출력
str = 'AD','D8','CB','CB','9D','97','CB','C4','92','A1','D2','D7','D2','D6','A8','A5','DC','C7','AD','A3','A1','98','4C','00'
res=[]
tmp=76
for i in range(2,24):
tmp=int(str[23-i],16)-tmp
res.append(chr(tmp))
res.reverse()
flag=''.join(res)
print(flag)
[
위 코드를 수행하면 결과가 다음과 같이 출력된다.
위 코드에서 23번째 문자열 0x4C='L'가 리스트에 저장되지 않았으므로 마지막에 'L'을 추가하여