7aea8571bd876bff39e8e9e241d7773ce86f7d96207ef2ee914b24da533a7b74d9d34d46698857


알아낸 것을 정리한 글임

틀린 내용이 있을 수도 있음


24b0d121e09c28a8699fe8b115ef046546ae


밤의 통치자의 세이브 데이터는 sl2 확장자 파일로, AES-128-CBC 암호화가 되어 있음

키는 18 f6 32 66 05 bd 17 8a 55 24 52 3a c0 a0 c6 09, iv는 헤더 제외 맨 앞부터 16바이트

사실 암호화 쪽은 배운 적이 없어서 잘 모르겠고


세이브 데이터는 총 14개의 파일로 이루어져 있음

각각 USERDATA00 ~ USERDATA13

00~09는 플레이어, 10~13은 (플레이어 구분 없는)전적 및 기타 데이터



24b0d121e09c28a8699fe8b115ef046a7c68e8ce


이건 플레이어 데이터(00~09)

대부분의 플레이어와 관련된 것들이 이 곳에 저장됨


아는 건 전혀 없지만, 게임을 한 번 플레이한 후 이전 데이터와 대조해보았을 때 기존 데이터가 새로운 데이터에 의해 384바이트만큼 밀렸음

16바이트를 1줄로 친다면 정확히 24줄이 밀림

이를 통해 뭔가를 알아낼 수 있을지도



24b0d121e09c28a8699fe8b115ef046f5e499b9e


10의 경우 전적 데이터

매칭 비밀번호도 이 곳에 저장되고, 세션에 참여했던 플레이어의 닉네임 등이 이 곳에 저장됨

위 이미지만 봐도 유저 닉네임으로 추정되는 것이 바로 보일 것



24b0d121e09c28a8699fe8b115ef046f5f489d9a


11은 확실치는 않은데, 헤더에 GER이라는 아스키 문자가 있음

세이브파일이므로 Global(or Game) Event Record의 약자로 추정

유저 세이브파일과 분리되어 있으니 뭔가 특별한 것을 저장할 것 같기는 한데, 약간 보이다시피 데이터가 사람이 읽을 수 있는 것이 아님


참고로 이 파일은 세션을 한 판 진행한 후에도 변화가 없었음

즉 세션과는 관련이 없다



24b0d121e09c28a8699fe8b115ef04699639f5b4


12 또한 헤더에 힌트가 있음

RSLT라는 아스키 문자가 보이는데, 당연히 Result의 약자로 보임


전적의 상세 정보, 즉 전과 이력의 각 전적을 클릭하면 나오는 창에 띄우는 정보들이 이 곳에 저장되는 것으로 추정됨

때문에 크기도 가장 크다


RSLT 아래에는 DCX, LDCS, DCP, DCA라는 아스키 문자가 보이는데 이건 프롬 소프트웨어에서 내부적으로 사용하는 포맷들

DCP는 압축 포맷이고, 뒤에 붙은 DFLT는 Deflate의 약어라고 하는데 세세한 건 스킵하도록 하고



24b0d121e09c28a8699fe8b115ef046f59449b98


13은 헤더에 DSNA라는 아스키 문자가 있음

DSNA는 알려진 게 전혀 없는데, 플레이어 닉네임이 저장되어 있는 것으로 보아 Dark Souls Name Array로 추정

물론 이게 정확히 무엇을 하는지는 모름