일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CodeEngn
- MySQL
- 리액트
- 리눅스
- 자바스크립트
- 백준
- 어셈블리어
- webhacking
- php
- 넘파이
- 인공지능
- 워게임
- C언어
- 보안
- 백준 알고리즘
- 머신러닝
- 웹해킹
- sql injection
- 해킹
- html
- 컴퓨터 구조
- 리버싱 문제
- 회귀 수식
- writeup
- 리버싱 워게임
- 리버싱
- 웹
- 알고리즘
- webhacking.kr
- abex crackme
- Today
- Total
목록분류 전체보기 (103)
인공지능 개발일지
4번 프로그램을 실행시키면 아래와 같이 뜬다. 위 입력 프롬프트에 아무거나 입력하고 Registered를 누를려니까 버튼이 활성화되지 않는다. 그래서 ollydbg로 열어봤다. 눈에 띄는 문자열들은 아래와 같이 시리얼 값이 맞을 때 출력할 문자들이 있다. 다음으로 눈에 띄는 것은 vbaStrCmp함수이다. Cmp니까 미리 정해진 시리얼 값이랑 비교하나 보다. 그리고 해당 라인에 중단점을 잡고 실행시키면 창이 다시 뜬다. 여기서 흥미로운 건 아래 창이 떴을 때 아무것도 입력하지 않았을 땐 활성화되지 않던 창이 한 글자만 입력해도 레지스터에서 아래와 같이 유니코드 값이 나타난다. 힌트로 보이는 위 숫자를 Serial칸에 입력하자 아래와 같이 Registered가 활성화되며 풀린다.
파일을 실행시키니 아래와 같이 파일을 찾을 수 없다는 창이 뜬다. 그럼 파일을 찾으면 풀리는 문제인가 보다. Ollybdg에 들어가서 확인해봤다. 그러자 아래 4 부분이 눈에 띈다. 1. 차례로 실행시키다 보면 제일 위의 빨간 박스에서 2,3,4 부분은 건너 띄고 바로 아래 Hmmm~으로 이동한다. 2. 그리고 Filename이 abex.l2c라는 게 눈에 띈다. 3. 이 부분이 우리가 띄어야 하는 부분이다. 4. 여기가 오류 메시지를 출력하는 부분이다. 전체적으로 봤을 때 아래 파란 박스를 눈여겨봐야 한다. 파란 박스에 GetFileSize로 eax에 파일의 길이를 리턴하고 GetFileSize 왼쪽 아래 라인에서 CMP EAX, 12를 볼 수 있다. 이때 12는 16진수여서 10진수로 길이가 18자리..
2번을 실행하면 아래와 같이 뜬다. 그리고 아무거나 입력해봤다. 그러자 아래와 같이 Wrong Serial이라고 뜬다. 정해진 Seriala 값이 있나 보다 생각하고 ollybdg에 들어가서 열어준다. 그러면 아까 봤던 창을 띄우는 코드가 눈에 띈다. 그리고 아래 코드를 실행시켜 보면 1,2,3번 차례로 실행되는 게 아니라 1번에서 3번으로 2번을 건너 띈다. 자세히 보면 1번에서 TEST AX AX로 위에서 push한 것을 받는 걸 보니 CALL ~라인이 함수를 호출하는 건가 하고 추측할 수 있다. 그래서EDX와 EAX가(Name과 Serial) 스택으로 가고 파란색 박스에서 보이듯이 JE 명령어로 이 두 개를 비교해서 3번으로 점프하고 있다. 그러면 crackme 1번처럼 JE를 JMP로 바꿔줘도 풀..
들어가기 앞서서 4문제를 풀면서 어셈블리어가 이런거구나 느꼈고 문제 구조가 아래와 같이 일반화할 수 있었다. ※ abex crackme 한정 Step 1. ollybdg에 들어가서 한 줄씩 혹은 문자열을 검색해서 실행시킨다. Step2. 위 과정을 통해 특이점이 있는 라인을 찾는다. Step 3. 그 라인들끼리의 관계성을 찾는다. Step 4. 거기서 Fix 할 부분 찾고 고치기 (보통 Step1에서 프로그램을 실행시킬 때 나왔던 문자열과 뜨게 해야 할 문자열을 찾는다) 그리고 이건 개인적인 생각인데 1~4번까지 갈 때 1,2,3,4번 순으로 어려운 게 아니라 4,3,2,1 순으로 1번이 가장 어려웠다. 뇌피셜으로는 정말 문제 난이도가 그러하거나 툴에 익숙해져서 그렇게 느껴지는 건지는 모르겠지만 그냥 그..