티스토리 뷰
level06의 힌트를 보시면 OEP와 시리얼을 원하네요. 정답을 입력할 때 주의할 것이 OEP값 맨 앞에 00을 빼먹는 분들이 많더라구요. 유의해서 입력하시길 바랍니다.
실행을 해보면 시리얼을 원하는 크랙미 입니다. 어느정도 몇 개 풀어보다보면 시리얼 구하는 크랙미는 프로그램 안에 들어가서 비교하는 루틴에 있으니 너무 겁먹지는 마세요. 답은 안에 있습니다.
OEP를 구하라 해서 뭔가 했더니, UPX로 패킹이 되어있네요. UPX 툴로 풀어서 하는게 더욱 깔끔합니다. 하지만 정석으로 풀어보겠습니다.
level05에서도 봤듯이 똑같은 루틴이네요. 맨 맡의 JMP문에 BP를 찍고 OEP로 넘어가봅시다.
이 주소 부분이 OEP입니다. Original Entry Point라고 합니다. 분석을 해보겠습니다.
메시지 박스에 TRUE/FALSE를 호출하는 것을 생각해보면 근처에 비교하는 루틴이 있겠죠? 그렇기 때문에 함수호출 부분에 MessageBoxA 부분에 BP를 걸어서 실행을 해보겠습니다. 아니면 더블 클릭을 하셔서 호출 루틴으로 가셔서 프로시저 부분에 BP를 걸어도 됩니다. 저는 후자를 선택했습니다.
시리얼 키 비교 루틴입니다. 중요 루틴만 보고 가겠습니다.
GetDlgItemTextA 라는 API 함수는 EditText에 입력했던 문자열을 긁어 옵니다. 긁어온 값(1234(제가 입력했던))과 아래 박스의 값과 비교를 합니다. 감춤없이 패스워드가 드러납니다. 수준이 좀 높은 크랙미는 비교 루틴 함수안에서 문자 하나와 시리얼 키 값 하나를 비교하기 때문에 집중이 조금 필요하지만, 이 문제는 너무 야하네요. 답을 드러내고 있습니다.
둘과 비교해서 맞으면 TRUE/FALSE 루틴으로 나눠지는 곳입니다.
시리얼 키를 입력했더니 성공을 합니다.
'Wargame > codeengn' 카테고리의 다른 글
[codeEngn] Basic RCE level08 (0) | 2015.07.28 |
---|---|
[codeEngn] Basic RCE level07 (0) | 2015.07.28 |
[codeEngn] Basic RCE level05 (0) | 2015.07.28 |
[codeEngn] Basic RCE level04 (0) | 2015.07.28 |
[codeEngn] Basic RCE level03 (0) | 2015.07.28 |
- Total
- Today
- Yesterday
- cuckoo-sandbox
- Yara
- infostealer
- VirusBulletin
- vuln
- 위협정보공유
- 멋쟁이사자처럼 4기
- .wll
- 악성코드
- 출처 : Do it 안드로이드 프로그래밍
- AMSI
- 스피어피싱
- CVE-2018-0798
- Cisco Talos
- idapython
- us-cert
- 해킹메일
- MS-Office
- CVE-2018-9375
- Servey
- Flybits
- malware
- koodous
- 비트코인
- Bisonal
- keylogger
- Static Analysis Engine
- Kimsuky
- Decoding
- 한글악성코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |