파일 이름만 보고 판단하면 안 됩니다
사진은 .jpg, 문서는 .pdf처럼 이름만 봐도 종류를 알기 쉽습니다. 하지만 게임 세이브의 .sav, .save, .dat는 공통 규칙이 아닙니다. 같은 .sav라도 어떤 게임은 읽을 수 있는 글자를, 다른 게임은 압축된 데이터를 넣습니다.
파일 이름을 .json으로 바꾸는 것만으로 형식이 바뀌지는 않습니다. SaveLab은 이름과 실제 내용을 함께 확인합니다.
글자로 읽히는 세이브
JSON은 중괄호와 따옴표가 많이 보입니다. XML은 <player> 같은 꺾쇠 태그가 반복됩니다. 두 형식은 사람이 읽기 쉽지만, 괄호나 쉼표 하나가 빠져도 게임이 파일을 읽지 못할 수 있습니다.
{"player":{"level":12,"gold":1280}}<player><level>12</level><gold>1280</gold></player>- 필드 이름과 값이 분명하게 보인다.
- 숫자를 바꿀 때 따옴표와 괄호는 그대로 둔다.
- 한 번에 한 값만 바꾼다.
- 저장 뒤 파일 형식이 바뀌지 않았는지 확인한다.
표처럼 저장되는 SQLite
SQLite는 작은 데이터베이스입니다. 캐릭터, 아이템, 설정이 표와 칸으로 나뉘어 저장됩니다. 파일 앞부분에 ‘SQLite format 3’이라는 문구가 있으면 SQLite일 가능성이 높습니다.
같은 폴더에 이름 뒤에 -wal, -shm, -journal이 붙은 작은 파일이 있다면 함께 백업하세요. 이 파일들에는 아직 본 파일에 합쳐지지 않은 최근 저장 내용이 들어 있을 수 있습니다.
save.dbsave.db-wal · save.db-shm · save.db-journal깨진 글자만 보이는 파일
글자가 거의 보이지 않으면 바이너리, 압축 또는 암호화된 파일일 수 있습니다. 캐릭터 이름 몇 글자가 보이더라도 주변 숫자를 바로 바꾸면 안 됩니다.
이런 파일은 각 숫자의 위치와 길이가 중요할 수 있습니다. SaveLab이 ‘추정’이라고 표시한다면 의미를 확실히 아는 값만 복사본에서 시험하세요.
- 직접 편집 지원인지 단순 감지인지 확인한다.
- 값 이름이 없으면 함부로 수정하지 않는다.
- 문자 길이를 늘리지 않는다.
- 원본과 수정본을 따로 보관한다.
- 게임에서 새로 저장할 때까지 원본을 지우지 않는다.
자주 묻는 질문
메모장으로 열었더니 이름 몇 개가 보여요. 텍스트 파일인가요?
꼭 그렇지는 않습니다. 바이너리 파일 안에도 캐릭터 이름이 글자로 들어갈 수 있습니다. 파일 전체가 일정한 JSON이나 XML 모양인지 확인하세요.
확장자를 .json으로 바꾸면 수정할 수 있나요?
아니요. 이름만 바뀌고 내용은 그대로입니다. 실제 내용이 JSON일 때만 JSON 방식으로 수정할 수 있습니다.
아래 자료와 게임 제작사의 안내를 확인해 작성했습니다. 게임 버전이나 이용 기기에 따라 위치가 달라질 수 있습니다.