티스토리 뷰
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
반응형
'Wargame > Reversing' 카테고리의 다른 글
[Dreamhack.io] Small Counter (1) | 2023.08.04 |
---|---|
Jreversing2 (0) | 2022.11.16 |
[Dreamhack.io] Rev-basic-7 (0) | 2022.11.14 |
[Dreamhack.io] Rev-basic-6 (0) | 2022.11.09 |
[Dreamhack.io] Rev-basic-5 (0) | 2022.11.09 |
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- md5
- CTF
- 해킹
- FTKImager
- forensics
- 드림핵
- sqlinjection
- forensic
- reversing
- Fiesta
- cheatengine
- 인시큐어뱅크
- Cookie
- rev
- SQLi
- 포렌식
- 모바일
- AssaultCube
- dreamhack
- mongodb
- 리버싱
- Android
- 안드로이드
- Steganography
- MISC
- networking
- 스테가노그래피
- web
- 취약점
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함