일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C++ gui
- JUCE
- go
- 백준
- C언어
- OS
- 자료구조
- C++ gui 라이브러리
- a tour of go
- 리듬게임
- C++ library
- 코딩
- gui
- Nebula
- 운영체제
- LOB
- vim-go
- 알고리즘
- tour of go
- BOJ
- JUCE library
- JUCE 튜토리얼
- go channel
- c++ heap
- 연결리스트
- JUCE라이브러리
- Docker
- 프로그래밍
- C++
- 공룡책
- Today
- Total
목록Hacking/abex crackme (3)
CafeM0ca
사용툴:immunity debugger포스팅 3분의 1쯤 썼는데 다 날라가버렸다. 키파일을 확인하기위해 확인버튼을 눌러달라고 한다. 눌렀는데 없다고하고 끝나버린다.이 부분에서 파일을 만드는데 인자들을 보자hTemplateFile 파일의 속성을 제공할 템플릿 / 반드시 NULL이어야함 Attributes 파일 속성 / 현재 노말이다. 인자에따라 숨김파일,암호화파일,시스템파일,읽기전용파일,임시파일 등으로 만들 수 있다. Mode 파일 생성 or 열기 / OPEN_EXISTING은 이미 존재하는 파일을 엶. pSecurity 파일 보안 속성 / 파일 보안 속성 지정하는 구조체. NULL이면 자식프로세스에게 핸들이 상속되지 않으며 디폴트 보안 설정자 ShareMode 공유 모드 / 0은 다른 프로세스 파일,장치..
사용한 툴: immunity debugger1에 비해 난이도가 올라간 느낌?.. 조사해보니 visual basic으로 짜여져 있다. 풀어보자! 프로그램을 실행시켜보면 CALL 이라는 곳으로 도착하는데 여기가 메인함수부분이다. F7로 함수 내부로 들어가보자.계속 실행시키다보면 창을 띄울 준비를 한다.그리고 CALL MSVEVM60.6600A4C2에서 창이 나온다.이름을 입력하고 시리얼키를 입력받는데 아마 이 문제가 원하는건 시리얼키를 맞추는 것 같다.그리고 저 창이 출력된 후 디버거가 다음 명령을 듣지 않는다. 즉 저 함수 안에 check와 about, quit를 입력받는 무언가가 있다는 의미다.근데 이런식으로 하나하나 분석하려면 시간과 노력이 많이들테니 무슨 함수들이 있고 필요한것만 분석하는게 좋을 듯 ..
abex라는 사람이 어셈블리로 만든 파일이라고 한다. 리버싱 시작한지 30분도 안됐지만 풀 수 있었다. 디버거는 immunity debuger를 사용할 것이다. (뭔가 올리디버거는 80~90년대 느낌나서 싫더라) 처음 열어보면 아래와 같이 신기하게 생긴 창이 생성됀다.어셈블리 명령어,hex값,스택,레지스터가 보인다. 한줄씩 쭉 실행시키다보면(F8) 메시지 박스가 보인다. 하드를 CD-ROM으로 바꾸라고 하는데 자세히보면 맨 첫줄 0x40101F에서 JMP가 하나 있고 0x401024에서 조건문이 하나 있다. Ok, I readlly think that your HD is a CD-ROM! :p 를 띄워줘야할꺼 같은 느낌이 드는데 3가지 방법이 보인다.1. JMP를 0x401021에서 0x40103D로 바..