일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 배열 정렬
- 네트워크 관리사 2급 필기
- 빅엔디언
- 오버워치
- UDP daytime
- 배열 탐색
- 프로그래밍 언어론
- 프론트엔드 개발자
- abex crack me 5번문제
- 배열
- sa 계정 비밀번호 변경
- 알고리즘
- 덧셈
- Reverse Me
- 메이플스토리 M 사전예약
- react native
- 레나 리버싱
- 재밌는 모바일게임
- 구조체 함수
- abex crack me 1번
- 1.9.2
- 안드로이드 백도어
- 마인크래프트
- c언어 알고리즘
- 리틀엔디언
- 암호화폐
- 구조체
- abex crack me 2번 문제풀이
- C언어
- 리버싱
- Today
- Total
목록Study/리버싱 (5)
Gyejoong's Information
7번 문제를 실행한 결과입니다. 평가 기간이 만료 되어서 새로운 라이선스를 구매하라는메시지입니다. 분석을 해보도록 하겠습니다.위 그림에서 첫 번째로 확인해야 할 것은 CMP 구문입니다. 이 구문에 breakpoint를 설정하고디버깅을 실행하겠습니다. EAX값과 -1을 비교하는 것을 확인 할 수 있습니다. EAX는 FFFFFFF입니다. 즉, -1이기 때문에같은 값이므로 0을 리턴 합니다. JNZ 구문은 0이 아니면 점프하라는 의미이기 때문에 점프하지 않고 다음구문인 실패 메시지창을 출력하는 구문으로 이동합니다. 위 그림에서 확인할 수 있는 점은 Keyfile.dat 파일을생성한다는 점입니다. Keyfile.dat을 생성하고 다시 디버깅을 실행해보도록 하겠습니다. Keyfile.dat을 생성하고 난뒤에는 E..
5번 문제는 그림 31과 같이 시리얼키가 일치하지 않으면 등록을 할 수 없습니다.Immunity Debugger로 분석을 해보도록 하겠습니다. 이 상태에서는 메인함수가 어디있는지 확인하기 어렵기 때문에 사용하는 함수를 호출하여찾아 보겠습니다. 이번 5번 문제같은 경우는 비주얼베이직으로 만들어진 프로그램이므로 string값으로 찾기 어렵기 때문에 사용하는 함수를 출력하여 찾는 것이 더 수월합니다. 위 그림을 보게 되면 ECX부분에 UNICODE로 2206425로 설정이 되어 있습니다.프로그램을 실행하고 2206425를 입력해보도록 하겠습니다. 성공적으로 인증에 성공하는 것을 확인할 수 있습니다. 하지만, 이 프로그램의 시리얼키는날짜, 시간에 따라 시리얼키값이 바뀝니다. 날짜시간시리얼키 20080520오후 ..
8번 문제 프로그램을 실행한 결과입니다. 왼쪽그림은 RegCode를 임의의 RegCode를 입력한 그림입니다. 오른쪽 그림은 잘못된 reg code라고 출력 한 그림입니다. 이 프로그램을 Immunity Debugger로 분석을 해봅니다. Immunity Debugger로 8번문제를 실행 한 결과입니다. 메인 함수가 어디에 존재하는지찾기가 어렵기 때문에 위 그림24처럼 Sorry! Wrong registration code!를 출력하는 string값을 찾아서 메인함수를 찾아보도록하겠습니다. 그림 27을 보게되면 아까 그림 24에서 보이던 Sorry ! wrong registration code 이부분을보입니다. 저부분을 더블클릭합니다. 그림28을 보면, UNICODE "I'mlena151" 이부분이 보입..
2번 문제입니다. 시리얼 키를입력하라는 메시지 창이 뜹니다. 임의의 값을 입력 한 결과 입력한 시리얼 값이 옳지 않다고 출력 됩니다.이제 Immunity Debugger로 분석을 해보겠습니다. Error 메시지와 성공 메시지가 출력되는 부분에 JE구문이 있는 것을 확인할 수 있습니다.JE부분에 breakpoint를 정하고 디버깅을 시작해보도록 합니다. 메인함수가 시작되면서 시리얼키 값을 입력 받는 메시지 창이 출력됩니다. 여기서 임의의 값을입력 합니다. JE 구문으로 바로 넘어옵니다. 그 윗부분을 보게되면 String값으로 L2C-5781과6784-ABEX값을 연결하는(concat)함수 가 실행되는걸 확인 할 수있습니다.그리고 strcmp을 사용하여 L2C-57816784-ABEX와 1234값을 비교를 ..
우선 abex - crack me 1번 프로그램을 실행 시켜보도록 하겠습니다. HD디스크를 CD-ROM처럼 만들라고 합니다. CD-ROM이 아니라고 하네요. Immunity Debugger로 이 프로그램을 분석 해보도록 하겠습니다. JE SHORT 부분에 breakpoint를 걸고 디버깅을 시작해보겠습니다. 메시지박스를 불러보는 부분에서 멈추게 됩니다. 확인을 누르고 다음 부분으로 진행 하겠습니다. C드라이브의 타입을 불러오는 과정입니다. EAX값이 3이 되었네요. ESI 값을 1증가 시키고 EAX값을 1감소 시킨 후에 ESI값을 2증가, EAX값을 1감소 시키도록 되어 있습니다. 모든 과정을 거친 후에, 레지스터값은 EAX값이 1이고, ESI값이 790077입니다. CMP로 비교한 후에, 값이 0이면 ..