비주얼베이직(VB) GUI 디컴파일 분석 : 레나 챌린지 (Level 10)
• 첫 번째 파일 분석 (Tut.ReverseMe1.exe)
ReverseMe 프로그램을 실행시키면 올바른 레지스터 값을 넣어야 하는 문제이다.
디컴파일러 툴을 사용해 분석을 할것이다.
Fom1에 들어가 Register me을 누르면 해당 ID값을 확인해 Code에서 일치하는 함수로 이동한다.
Register me 주소는 402814, Nag 주소는 402C17이다.
올리디버그 툴을 사용해 두 개의 주소에 브레이크 포인트를 걸어준다.
NAG 부분을 바로 리턴으로 수정을 해준다.
Nag 버튼을 눌러도 반응을 하지 않는다.
F8로 한 단계씩 실행시키다 보면 스택에 내가 입력한 1234랑 I'mlena151이랑 비교를 하는 거 같다.
해당 문자를 입력하면 레즈스터가 등록이 된다.
• 두 번째 파일 분석 (CConvert.exe)
파일을 실행시키면 등록이 안된 버전이라는 Nag가 출력이 된다.
우리가 레지스터를 입력해 체크하는 부분은 409 C70 주소에 위치한다.
해당 주소에 브레이크 포인트를 걸어준 다음 실행을 시킨다.
우리가 띄어야 하는 메시지가 보인다. 해당 부분을 출력하기 위해 분기점을 수정을 해야 한다.
분기점 부분을 Nop으로 수정을 한다.
임의의 값이 레지스터에 등록이 되었다..
• 세 번째 파일 분석 (ReverseMe2.exe)
임의의 값을 입력 후, 레지스터 버튼을 누르려고 했지만 버튼이 비활성화되어 있다.(속성을 변경해줘야 함)
About 버튼의 ID가 Command2라는 걸 보면 Register 버튼의 ID는 Command1이라는 걸 추측할 수 있다.
VEOVEO.EXE 툴을 사용해 자동으로 Regieter 버튼을 활성화시켜준다.
임의의 값이 등록이 되었다. 해당 문제는 버튼을 활성화시키는 방법을 공부하는 거 같다.