[CodeEngn] Basic RCE L07
L07
문제
컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 ‘ß어떤것’으로 변경되는가
파일 실행
올리디버거
All referenced text string
- 이동
분기점 확인
BreakPoint걸고 실행
GetVolumeInformationA 함수를 통해 C드라이브 명칭 004010A3에 출력
lstrcatA 함수 통해 기존 ConcatString 뒤에 StringToAdd 문자열 추가
반복문 진입
- DL에 값 2 부여하고 004010CB에서 DL 값을 1씩 감소
- JNZ로 DL값이 1이면 참
- 즉 반복문 2번 시행
첫 번째 결과값
- 40225C~F까지 1씩 더한 아스키 값에 해당하는 문자열 출력
- Code -> Dpef
두 번째 결과값
- 40225C~F까지 1씩 더한 아스키 값에 해당하는 문자열 출력
- Dpef -> Eqfg
lstrcatA 함수로 StringToAdd 값 출력
한번 더 lstrcatA 함수로 StringToAdd 값 뒤에 이어서 출력
String2와 String1 값 비교 lstrcmpiA
- 비교 통해 참 거짓 문자열 출력
- 즉, 시리얼 값은 String1 확인