Wargame/Reversing
[Dreamhack.io] Rev-basic-8
youung
2022. 11. 14. 14:15
728x90
반응형
입력 값과 비교하는 함수를 들어가서 확인한다.
(a[i] * 0xFB & 0xFF == byte_140003000[i])
* 0xFB는 251로 곱하는 것.
&0xFF는 256으로 나누었을 때 나머지와 같다
(즉, &0xFF는 %256과 같음)
51 * 251 * X = b * 51(mod 256)
51을 곱한 이유는 51 * 251을 256으로 나눈 나머지가 1이되기 때문
즉, X = b * 51 % 256으로 구할 수 있다
byte=[0xAC, 0xF3, 0x0C, 0x25, 0xA3, 0x10, 0xB7, 0x25, 0x16, 0xC6, 0xB7, 0xBC, 0x07, 0x25, 0x02, 0xD5, 0xC6, 0x11, 0x07, 0xC5]
s=''
for i in range(len(byte)):
s += chr((byte[i] * 51) % 256)
print(s)
반복문으로 암호를 알아낸다.
DH{Did_y0u_brute_force?}
728x90
반응형