목록codeengine (14)
줴림이 공부하줴림
이번 문제는 Unpack을 한 후 Serial을 찾는 문제. 일단 06.exe 파일을 열면 이런 창이 나온다. 저번 문제처럼 일단 unpack을 시켜주도록 하자.Unpack을 해주면 이렇게 ollydbg로 잘 읽을 수 있다. 이제 시리얼 코드를 찾는 일만 남았다. 이번에도 똑같이 All referenced string을 열어서 문자열을 확인하면 된다.Good Job / You got it ;) 위에 수상한 문자열이 있는 것을 확인. 좀더 자세히 보니, 해당 문자열과 같으면 성공 메시지를 출력하는 구조로 되어 있었다."AD46DFS547" 문자열을 입력하고 check serial을 해주면 성공 메시지가 뜬다! 아직까지는 비슷한 유형의 문제만 풀고 있는 듯.
화요일은 세미나가 원래 오후 9시까지인데 10시에 끝나서 바로 운동 갔다와서 정처기 기출 1회 풀고 바로 full-숙면... 앞으로도 아마 화요일은 아무것도 못하고 끝나지 않을까 싶다 에효...어쨌든 Basic 5번 문제. "이 프로그램의 등록키는 무엇인가?"라고 물어보고 있다. 05.exe를 실행하니 다음과 같은 무시무시한 화면을 볼 수 있었다.2개의 창에 그냥 아무렇게나 글자를 쓰고 'Register now!'를 눌렀더니 잘못된 시리얼 코드라고 뜸.HxD로 열어서 살펴보니까 UPX로 패킹되어 있다고 알려주는 문자열을 볼 수 있었다. 그럼 또 이걸 언패킹해야한다는 건데...언패킹 방법을 몰라서 인터넷의 도움을 받아 진행했다. 우선 UPX를 다운로드 받는다.https://github.com/upx/upx..
이번 문제는 '해당 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있는데, 디버거를 탐지하는 이 함수의 이름이 무엇인지'를 알아보는 것이다. 문제 파일인 04.exe를 실행해보니 갑자기 뜨는 명령 프롬프트. 그리고 반복되는 '정상'이라는 단어...? 바로 Olly 켜서 분석해보기로 했다. Olly 켜서 F11로 실행해보니까 오른쪽 사진처럼 '디버깅 당함'이 계속 반복된다.. 너무 무서워요... 왜 하필 워딩이 '디버깅 당함'인건데... 가장 무서운 공포는 컴퓨터가 죽어가는 것 오른쪽 마우스 클릭 → Search for → All intermodular calls 클릭해서 함수를 확인해서 IsDebuggerPresent 함수를 발견했다. 이 함수에 중단점 걸어주고 F8로 계속계속 실행해줬더니 명령 프롬..
오늘의 마지막 문제. L03. 비주얼베이직에서 스트링 비교함수의 이름이 무엇인지 물어보고 있다.03.exe를 실행시키면 저런 메시지가 뜬다. MSVBVM50.DLL을 일단 설치하고 와야 할 듯하지만.. 일단은 Olly로도 안 열려서 HxD로 한 번 봐보기로 했다.중간에 보이는 친숙한 'MSVBVM50.DLL'... 이 뒤로는 글자 깨진 것처럼 보이는 것들의 연속이다. MSVBVM50.DLL을 설치하고 같은 디렉토리에 넣으면 03.exe가 잘 실행이 되는 걸 확인할 수 있다. 대충 아무 글자나 넣고 확인 눌렀는데 Error가 뜸. (근데 독일어야 뭐야)Olly 켜서 디버깅하고 함수 뭐가 있는지 살펴보다가 StrCmp 발견. 뭔가 누가봐도 'String Compare'의 약자처럼 보인다.옆에는 "2G83G3..
L01에 이어서 바로 L02를 풀어볼 예정.L02는 패스워드로 인증하는 실행파일이 손상되어 실행이 안되는데 그 와중에 패스워드가 무엇인지 분석하는 문제이다.그냥 exe파일을 실행시켜도 OllyDbg를 통해 열려고 해도 앱을 실행할 수 없다는 메시지가 뜬다. 이거 어떻게 여는지 다른 인터넷 속 고수분들의 블로그를 보니까 HxD를 통해 열어야 한다고 함.. 디지털 설계 이후로 HxD를 또 쓸거라고는 전혀 생각 못했다. 어쨌든 설치하러 감...Olly만 보다가 HxD를 보니까 한국어가 너무 반갑다.02.exe를 열어서 좀 살펴보면, 이게 무슨 글자인지? 무슨 외계어들만 잔뜩 있다. 거기서 무슨 의심쩍은 글자들 발견.중간에 MessageBoxA.. SendMessageA.... 그리고 밑에 쭉쭉 보면 "Crac..
동아리 과제로 CodeEngine Basic 문제를 풀기로 했다. 겹치는 문제 되도록 없이 풀기로(?) 했지만, 아무래도 1번부터 차근차근 푸는 게 좋을 것 같아서 난 1번부터 시작.하자마자 난관 봉착.계속 암호화가 어쩌고저쩌고... 하면서 Olly디버거로 열리지 않아서 과제 진행이 안되고 있었다. 유튜브의 도움을 받아 'Windows 보안 → 악성 소프트웨어 어쩌고 → 제외'에서 앞으로 과제 파일을 저장할 폴더를 제외시켜주고,반디집을 다운받아서 압축을 풀었더니?01.exe를 실행했더니 드디어 이런 메시지 창을 볼 수 있었다. 여기서 확인을 누르면 오른쪽과 같이 뜬다. 이번 문제는 HDD를 CD-ROM으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는지를 알아내면 된다. 벌써..