
입력 값과 비교하는 함수로 들어가보면, byte_14003020[a[i]] 가 byte_14003000[i]와 같아야 함을 알 수 있다. (byte_14003020에서 byte_14003000[i]에 해당하는 값을 찾으면 됨) byte3000 = [0x00, 0x4D, 0x51, 0x50, 0xEF, 0xFB, 0xC3, 0xCF, 0x92, 0x45, 0x4D, 0xCF, 0xF5, 0x04, 0x40, 0x50, 0x43, 0x63] byte3020 = [0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0..

입력 값과 비교하는 함수를 들어가보면, a[i+1] + a[i] = byte_7FF6B0813000[i]와 같아야 함을 확인할 수 있다. byte = [0xAD, 0xD8, 0xCB, 0xCB, 0x9D, 0x97, 0xCB, 0xC4, 0x92, 0xA1, 0xD2, 0xD7, 0xD2, 0xD6, 0xA8, 0xA5, 0xDC, 0xC7, 0xAD, 0xA3, 0xA1, 0x98, 0x4C, 0x00] s = '' for i in reversed(range(23)): byte[i] = byte[i] - byte[i + 1] for i in range(0, 24): s += chr(byte[i]) print (s) 반복문으로 암호를 알아낸다. DH{All_l1fe_3nds_w1th_NULL}

입력 값을 비교하는 함수로 들어간다. a(97)을 입력했을 때 97 >> 4 ==> 110 0001 >> 4 ==> 110 (16 * 97) = 610 = 0110 0001 0010 0000 0110 | 0001 0000 ==> 0001 0110 a의 2진수의 값과 위 식의 값이 서로 앞뒤가 바뀌어 있다. (원래는 0110 0001 임) 따라서, 값의 앞 뒤를 바꿔야 한다. byte=[0x24,0x27,0x13,0xC6,0xC6,0x13,0x16,0xE6,0x47,0xF5,0x26,0x96,0x47,0xF5,0x46,0x27,0x13,0x26,0x26,0xC6,0x56,0xF5,0xC3,0xC3,0xF5,0xE3,0xE3,0x00,0x00,0x00,0x00,0x00] s = '' for i in rang..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
- Total
- Today
- Yesterday
- MISC
- AssaultCube
- md5
- Android
- Fiesta
- cheatengine
- forensics
- SQLi
- mongodb
- 인시큐어뱅크
- forensic
- reversing
- rev
- FTKImager
- Steganography
- CTF
- web
- Cookie
- 포렌식
- 드림핵
- networking
- sqlinjection
- 해킹
- dreamhack
- 취약점
- 리버싱
- 모바일
- 스테가노그래피
- 안드로이드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |