캡스톤 디자인 #8 - codeEngn RCE-BASIC 03

Dreamer_01·2022년 5월 17일
0

비주얼 베이직에서 스트링 비교 함수 이름은? : strComp

이 파일을 실행시키면 dll이 없어서 실행되지 않는다고 한다.

dll이란? Dynamic Link Library로, 파일에서 사용하는 라이브러리만 동적으로 가져와 쓸 수 있도록 마련한 기능.

이건 그냥 내 컴퓨터 문제였던듯..
해당 dll파일을 설치하고 나니,

이 잔소리를 제거하거나 올바른 암호를 얻으십시오라는 뜻의 이 오류창을 제거하고

만나는 이 창에 아무거나 입력하고 Register버튼을 누르면, 비밀번호가 틀렸다고 나온다.

일단 프로그램의 구동방식은 이렇게 되는 것임을 알 수 있고 그럼 이제 디버거에서 동적 으로 분석을 해볼 차례이다.

우선 f9를 눌러서 EntryPoint를 찾는다.

그리고 천천히 흐름에 따라서 f9을 누르며 쭉 따라가면, 아까와 같은 에러문이 밑의 사진 부분에서 나오게 된다.

그리고 다시 이창을 만나게 된다.

여기에 아무 문자나 넣고 실행을 하면, 당연히 틀린 값이므로,
이 부분에서 멈추게 되는데, 여기 부분에서 쭉 위로 보면 vbastrCmp라는 부분이 보이는데

이부분에 BP를 걸고 다시 실행을 시키면,

이렇게 멈추게 된다.
그러고 보면, vbrStrCmp위에, 내가 입력한 ffffffff와 처음보는 문자열이 있는데, 그것을 push한 후에 비교함수가 실행되는 것으로 봤을때, 83G35Hs2가 정답인 것 같다.

다시 실행 한 후 저 코드를 넣으면!

0개의 댓글