일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 서브넷 마스크
- 서브넷
- BPDU
- 링크 대역폭
- TCP/IP
- 시스템해킹
- 치트엔진 풀이
- 스패닝 트리 알고리즘
- 루핑
- 콜리젼 도메인
- 루트 브리지
- 해커스쿨 FTZ
- 서브넷팅
- Non Root Bridge
- FTZ level3
- 코드엔진 basic 5
- 브리지 ID
- code enigne
- 루트 포트
- code engine
- 네트워크
- 네트워크 장비
- 코드엔진 풀이
- 코드엔진
- 데지그네이티드 포트
- ip주소
- Path Cost
- 브리지 우선순위
- Root Bridge
- 세그먼트
- Today
- Total
IT 블로그 !!
OEP를 구하는 게 이번 문제입니다. OEP는 정상적인 파일을 디버거로 제대로 디버깅했을 때 시작하는 위치를 이야기합니다. 파일을 실행시켜봅시다. 계산기가 나옵니다. 우선 올리디버거로 실행 시켜 봅시다. 코드 처음이 PUSHAD로 시작하는 걸로 봐서는 UPX로 패킹되어있을 가능성이 높습니다. PEID로 확인해봅시다. 언 패킹을 진행 후 올리디버거로 열면 실제 프로그램 시작 주소인 OEP를 확인할 수 있습니다. 01012475가 OEP인 것을 확인 할 수 있습니다.
C드라이브의 볼륨 명을 참조 해, 최종적으로 변경되는 시리얼 킷값을 구하는 것이 목표이다. 우선 C드라이브의 이름을 CodeEngn으로 바꾼 후 프로그램을 실행시켜 봅시다. 입력한 시리얼값이 옳지 않다고 뜹니다.파일을 열어보겠습니다. 일단 오류메세지박스가 뜨는 부분을 먼저 살펴봅시다.004010FC를 보게 되면 EAX – 0의 값이 0이 나올 경우 JE를 실행하고 성공 창이 뜨게 되도록 설정되어있습니다. 즉 EAX – 0 = 0이 되어야 참이 된다는 소리입니다. 참이 됐을 경우 JE를 통해 00401117로 JMUP를 하게 됩니다. 00401117은 성공박스가 뜨는 곳이지요. 즉 EAX가 0이 되게 만들어 주어야합니다. 일단 CMP함수에 break를 걸고 실행시켜 봅시다. 보면 EAX의 값이 1이 되어있..
언팩 후, OEP와 시리얼을 찾으라고 합니다. 프로그램을 실행시켜보겠습니다. 아무 키나 입력 후 Check Serial을 눌러봅시다. 이렇게 잘못된 등록키라고 Error창이 뜹니다 우선 OEP의 개념에 대해서 알아봅시다. OEP란 Original Entry Point로 실제 프로그램의 시작 위치를 이야기합니다. 그렇다면 먼저 PEID로 프로그램의 정보를 얻어봅시다. UPX패킹 돼 있음을 확인 할 수 있습니다언패킹 한 후 올리디버그를 통해 파일을 열어봅시다. 성공적으로 언팩이 되었습니다. 프로그램의 시작은 00401360으로 시작합니다. 그러면 이 00401360이 이 프로그램의 OEP가 됩니다. Wrong 메시지를 찾기 위해 5번에서 했던 것처럼 문자열을 찾아봅시다오른쪽 마우스 -> Search For ..