abex Crackme 5번 5번문제도 시리얼을 찾아내야 하는것 같다 디버거로 열어보자 문자열을 찾아 Error에 브레이크포인트를 설정하자 주요 코드들이 보인다 lstrcmpi라는 API가 눈에띈다 두개의 인자를 받으며 [402000]의 문자열이 "L2C-57816784-ABEX" 형태를 보아하니 시리얼로 추측된다 해결! Wargame/etc 8년 전
abex Crackme 4번 4번문제이다 시리얼을 입력하라고 하는데 버튼이 활성화가 되어있지 않다 숫자를 하나씩 늘려가도 활성화되지 않는다 잘 모르겠으니 올리디버거로 문자열부터 찾아보자 정답시 문자열은 존재하지만 오답시 문자열처럼 보이는것이 없다 버튼을 활성화하는것이 문제임을 추측해볼 수 있다 Well done을 따라가보자 한가지 눈에띄는 부분은 vba로 시작하는 함수들이다 비주얼 베이직으로 프로그래밍 되어었나보다 함수들을 검색해서 vba로 필터해보니 cmp라는 함수를 찾을 수 있었다 입력값을 비교해서 버튼을 활성화시킨다는 가설을 세우고 브레이크포인트를 걸어보자 2개의 인자를 받는다 ecx에 담긴 2117850이라는 값이 아마 비교의 대상인것 같다 버튼이 활성화 되었고 해결! Wargame/etc 8년 전
abex Crackme 3번 abex crackme 3번문제이다 key 파일이 있어야 문제가 풀리는듯 하다 우선 디버거로 열어보자 CreateFileA라는 API를 이용해서 abex.12c라는 파일을 로드하는것 같다 그리곤 GetFileSize API를 통해 파일의 크기로 KEY파일 진위여부를 판별하는것 같다 그러니 우리는 크기가 12인(dec:18) abex.12.c라는 파일을 생성하면 된다 저장한 후 확장자를 바꿔주고 실행해보면 풀린다 Wargame/etc 8년 전
abex Crackme 1번 Line By Line 0040101D | 46 | inc esi | esi를 증가시킨다0040101E | 48 | dec eax | eax를 감소시킨다0040101F | EB 00 | jmp cd.401021 | 401021로 점프00401021 | 46 | inc esi | esi를 증가시킨다00401022 | 46 | inc esi | esi를 증가시킨다00401023 | 48 | dec eax | eax를 감소시킨다00401024 | 3B C6 | cmp eax,esi | eax와 esi를 비교한다00401026 | 74 15 | je cd.40103D | 같다면 40103D로 점프 0040103B | EB 13 | jmp cd.401050 | 401050으로 점프 Study/reversing 8년 전
abex Crackme 1번 abex 크랙미 첫번째 문제다 실행시켜보자 나의 하드디스크가 CD-Rom인것처럼 인식하도록 만들어야하는것 같다 확인을 누르자 바로 CD롬이 아니라고 뜬다 디버거를 통해 분석해보자 주요 코드들을 찾아볼 수 있었다 위에서부터 분석해보자 MessageBox라는 API 함수를 통해 처음 보았던 창을 띄우는것을 알 수 있다 그다음에 C:\\라는 문자열을 스택에 넣고 GetDriveType 함수를 호출한것을 보아 변수로 넘어간 드라이브명을 가지고 CD롬인지 아닌지 확인하는것 같다 여기서 첫번째 풀이법을 생각해볼 수 있다 push하는 값을 실제 CD롬의 이름으로 바꾸어 주는것이다 다시 코드로 돌아와서 eax를 건드리는 것을 보아 GetDriveType에서 리턴한 값이 CD롬인지 아닌지 판단할 수 있게 해줌을 추측할 .. Wargame/etc 8년 전