실습 프로그램
-Immunity Debugger
-HxD (헥스에디터)
문제를 다운 받아서 zip을 풀어줬다.
그러고 앞 문제처럼 디버거 위에 풀었더니 어랏 웬걸>? 안 열리는 폴더라고 한다.
당황해서 라이트업 구글링을 해봤더니 헥스에디터로 풀 수 있는 문제라는 걸 알았다.
아래 블로그를 보고 헥스에디터를 설치했다.
https://m.blog.naver.com/dmsdl814/221951055766
그럼 툴도 다운 받았으니 본격적으로 실행파일을 드래그 앤 드롭으로 올려봅니다.
헥스에디터 기본 구조는
offset(주소) data(16진수 형태) decode text(아스키코드)로 되어 있다.
우리는 우리가 읽을 수 있는 decode text 부분을 봐야 한다.
읽을 수 있는 게 없으니 호로록 내려가본다.
알아볼 수 있는 문자가 있다. 아마 함수이름으로 보인다.
-DialogBoxParamA
-EndDialog
-GetDlgItemTextA
-MessageBoxA
-SendMessageA
-SetFocus
-ExitProcess
-GetModuleHandleA 등...
하지만 우리가 찾고 있는 비밀번호에 대한 힌트는 보이지 않는다. 코드를 더 살펴보자.
-ADDialog
-ArturDents (출제자 닉네임이다)
-CrackMe#1 (아마 문제 이름? 참고로 크랙미는 이런 연습용 문제나 실행파일을 말한다)
-Nope, try again! (틀렸을 때 띄우는 문구로 추정)
-Yeah, you did it! (맞았을 때 띄우는 문구로 추정)
-CrackMe#1
-JK3FJZh (비밀번호 같이 생긴 문자열 !)
여기서 우리가 찾는 비밀번호 같은 건 JK3FJZh 뿐이다. 그런데 솔직히...^^ 좀 긴가민가하다. 얼마 안 남은 파일을 끝까지 살펴보자.
끊겨 있긴 하지만 알아들을 수 있는 말들이 보인다. (문자 사이에 공간(00)이 있는 이유는 1바이트인 아스키코드와 2바이트인 유니코드의 호환성 때문이다.)
출제자 이름이나 크랙미라는 문자열, Rules: Just find the unlock code, It's very easy so don't exspect to much 등등...
힌트가 있는 부분은 아닌 거 같고 그냥 사족같다. 출제자가 쉽게 가라니까 아까 예상한 비밀번호를 넣어보자.
이게 맞나요?
디로링. 맞습니다.
음...!! 아마 이 문제는 리버싱 초보들에게 헥스에디터 툴을 써보도록 유도하는 문제 같다.
[CodeEngn] Basic RCE L07 Write-Up (0) | 2022.03.24 |
---|---|
[CodeEngn] Basic RCE L06 Write-Up (0) | 2022.03.24 |
[CodeEngn] Basic RCE L05 Write-Up (0) | 2022.03.22 |
[CodeEngn] Basic RCE L04 Write-Up (0) | 2022.03.22 |
[CodeEngn] Basic RCE L03 Write-Up (0) | 2022.03.20 |