-
lvl 07Wargame/CodeEngn Basic RCE 2018. 12. 11. 20:17
문제 컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될 때 CodeEngn은 "어떤것"으로 변경되는가 풀이 → 프로그램을 실행한 후, 임의의 시리얼을 입력한 후 "Check"를 클릭하면 잘못된 시리얼이라는 메시지가 출력된다. → 디스어셈블한 후, 문제 중 컴퓨터 C드라이브의 이름이 언급됬으므로, 이에 해당하는 라이브러리 함수를 찾아본다. 적당히 "lpVolumeNameBuffer"이라는 변수가 있으며 네이밍을 봐서 드라이브 이름으로 추측할 수 있다. 게다가, 뒷 부분에 VolumeNameBuffer에 일련의 연산작업을 하는 것도 볼 수 있다. 여기에 bp를 설정한 후 디버깅한다. → break 후, VolumeNameBuffer의 값이 저장된 주소 값으로 따라가서, 값을 "CodeEng..