-
abex' crackme 3 풀이Reversing/abexcm 2019. 3. 29. 21:56
오히려 크랙미 3이 2보다 쉬워서 간단히 풀었습니다. 나중에 2에서 어떤 방식으로 시리얼값을 지정하는지도 포스트해야 공부가 될텐데.. 암튼 바로 풀어보죠
실행하면 키파일을 확인하기 위해 확인 버튼을 누르라고 합니다.
근데 아직 키파일 같은 건 없죠. 간결한 프로그램이네요.
약간 크랙미 1에서 본듯한 형식이죠? MessageBoxA 등이 명확하게 구분되어 있으니 편하겠네요.
일단 크게 나눠봅시다.
초반에 뜨는 MessageBoxA, 그리고 CreateFileA? 이건 뭘까요? 아무튼 초반 부분이구요
이게 조건문 & 각 조건별로 나누어지는 창의 종류.. 로 후반 부분이라고 볼 수 있겠습니다.
그렇다면 CreateFile이 뭘지 win32.hlp에서 확인해봤습니다. 기본적으로 파일 / 오브젝트를 만들거나 읽어들이는 함수인데, 핸들을 받아와 다른 함수들을 이용해서 열기나 쓰기 등을 할 수 있다..고 합니다. 위에서부터 차례대로
- 파일 이름의 주소?
- 권한
- 공유 모드
- 보안 어쩌구
- 생성되는 방법!
- 파일의 속성
- 템플릿 파일
인데, 뭔지는 대부분 모르겠습니다 :D
근데 저 형식에 맞게 이 프로그램에서도 CreateFile 을 사용하는 것 같습니다
다른 건 잘 모르겠고, 파일의 이름이 abex.l2c 라는 건 확실하네요.
그러니 만들어줘야죠. 이제 더 실행해봅시다.
그런데 어라, 유효한 키파일이 아니라며 에러가 뜨는군요. 어찌 된 일일까요?
그건 이 두 개의 명령 때문에 일어나는 에러입니다. EAX 의 값이 12여야 JNZ(Jump Not Zero) 명령이 실행되지 않고 성공화면으로 넘어가는데, 이 때 EAX 값은 abex.l2c 파일의 크기가 12여야 따라서 12가 됩니다.(기본적으로 EAX 값은 프로그램의 리턴값을 나타내므로)
그렇죠?
아닌데요. 기본적으로 디버거가 16진수를 쓰기 때문에 EAX 값이 12면 10진수로 18입니다.
고로- abex.l2c 파일에 18자만큼 뭔가를 써줍시다.
귀찮으니 1로 통일
간단하죠? hlp 파일을 Windows 10에서 실행하는 방법은 구글링하면 바로 나오므로 그 쪽 참고해주시구요, 저는 이만..
배불러요 탄산이 필요해
2019.3.29
'Reversing > abexcm' 카테고리의 다른 글
abexcm1 풀이 - IDA (0) 2019.05.26 abex' crackme5 풀이 (0) 2019.03.29 abex' crackme 4 풀이 (0) 2019.03.29 abex' crackme 2 풀이 (0) 2019.03.29 abex' crackme1 풀이 (0) 2019.03.26