목록Reversing_ (5)
biny
디버거로 찾아보니 축하 메시지가 보여지는 코드를 확인할 수 있다. 해당 코드로 들어가는 913465을 입력하면 되는 것을 알았다. 입력해보니 성공적으로 나왔다.
문제를 다운받고 실행시키면 정상이라는 문구가 계속해서 출력된다. 디버거에 넣어서 실행시키면 디버깅 당함이라는 문구가 계속해서 출력된다. IDA를 통해 확인해보니 다음과 같았다. sleep이후 실행되는 함수가 보인다. flag: IsDebuggerPresent
문제를 다운받고 압축을 풀면 실행파일이 나온다. 실행을 시켜주면 다음과 같은 화면이 나온다. immunity Debugger 로 확인해보니 다음과 같았다. 프로그램 기능 중에 함수들을 보여주는 기능이 있다. 우클릭 -> Search for -> All intermodular calls 이중에서 의심되는 함수를 발견했다. vbaStrCmp 함수를 더블 클릭해 해당 부분으로 왔다. 우클릭 -> search for -> all referenced text strings 문자열을 확인할 수 있다. 해당 기능에서 의심이 가는 문자열을 발견했다. 2G83G35Hs2 정답이다. flag : vbaStrCmp
압축파일을 풀고 실행하니 다음과 같은 창이 나왔다. HxD로 실행파일을 열었다. 쭉 내려보니 의미있는 값을 볼 수 있다. Yeah, you did it! Crackme #1 JK3FJZh flag 값을 넣어주니 성공했다.
실행파일을 실행하자 실행이 되지 않는다. ImmunityDebugger로 파일을 열어보았다. 전체적인 어셈블리 코드다. 함수를 보면 MessageBoxA와 GetDriveTypeA 이렇게 두 종류가 있다. 함수를 구글링해보니 다음과 같다고 한다. MessageBoxA : 개발자가 출력하고자 하는 문자열을 보여주는 함수 GetDriveTypeA : 해당 드라이브의 타입에 따라 RETN 값을 보내주는 함수 중요한 함수는 GetDriveTypeA이다. 문제에 나온 CDROM은 값이 5가 되어야한다. flag값에 5를 넣어보니 성공이다.