실습 프로그램
-Immunity Debugger
문제를 다운 받아서 디버거에 드래그앤드롭 해줬다.
롸??????????????????
음 일단 저게 없다니 구글링 해서 MSVBVM50 파일을 찾아서 다운로드 해준다. 나는 스터디원 분이 파일을 공유해주셨다.
다운 받고 디버거 올리기 전 프로그램을 실행해봤다. 넵?? 뭐라고요??
대충 패스워드 뭐라는 거 같은데 난 이런 거... 궁금해서 ㅎ
대충 비밀번호를 알아내라는 뜻. 확인을 눌러준다.
등록코드를 치라한다. 그런 걸 내가 알리가.
아무거나 눌러줬다.
대충 비밀번호가 틀렸다는 뜻 같다. 프로그램 실행 순서는 대충 봤으니 이제 디버거에 올려주자.
디버거에 올려서 전체적으로 코드를 보다가 F7, F8로 한 줄씩 코드를 봤다.
F7 - 코드 한 줄 실행. 함수 내부까지 진입
F8 - 코드 한 줄 실행. 함수 내부 진입 X
하지만 한 줄 실행으로는 우리가 찾는 스트링 비교 함수 이름을 알 수 있는 힌트를 찾기 힘들 거란 생각이 들었다.
이럴 때 사용할 수 있는 게 All intermodular calls이다. 해당 프로그램에서 호출되는 모든 API 함수를 확인할 수 있다.
실행 경로는 디버거에서 우클릭 > Search for > All intermodullar calls 이다.
켜자마자... 감이 오지 않는가? 이름부터 스트링 비교 함수라고 존재감을 뽐내는 저 아이가... vbaStrCmp 누가봐도 스트링컴페어라고....
함수를 더블클릭 하면 해당 코드로 이동한다.
자잔! 도착! vbaStrCmp함수를 호출하는 코드 부분이다.
저 아래에 정답을 입력했을 때 띄어질 문구창도 보이니 제대로 온 것 같다.
그럼 프로그램을 실행 시켜 스트링 비교 함수 이름인 vbaStrCmp를 입력해보자.
도롱
삐빅 오답입니다. 띠용!
vbaStrCmp함수를 호출하는 코드 부분을 다시 보자.
문제의 정답이 vbaStrCmp인 건 확실한데 프로그램 인증코드는 뭘까? 바로 위 코드에 비밀번호 같은 게 아른거린다..>^^
넣어봤다.
당커당커! 정답인 것 같다. 그래도 궁금하니 한 번....
예! regcode도 맞췄다.
그럼 코드엔진 웹에 가서 정답 입력을 해보겠다.
질문은 비주얼베이직에서 스트링 비교함수 이름은? 이었고
내가 찾은 정답은 vbaStrCmp이다.
예!
[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 L02 Write-Up (0) | 2022.03.20 |