리플레이 파일 저장 위치: <동방홍마향 설치경로>/replay/th6_<숫자>.rpy

권한없을 경우: <사용자 폴더>/AppData/Local/VirtualStore/<동방홍마향 설치경로>/reply/th6_<숫자>.rpy

 

2020/05/14 기준 분석 내용

 

처음 6바이트(매직넘버) : T6RP + 0x0201

 

0x07: 캐릭터, 타입

( 00 - 레이무 A, 01 - 레이무 B, 02 - 마리사 A, 03 - 마리사 B)

 

0x08: 난이도

( 0 - Easy, 1 - Normal, 2- Hard, 3 - Lunatic)

 

0x0f 이후부터 암호화 되어있음

0x0e에 base값 위치, 바이트 하나씩 복호화(base를 빼는 방식) 하면서 base <- base + 7

 

<Pseudo Code>

base = file[0x0e]

for (pos = 0x0f; pos < file_size; ++pos) begin
    file[pos] <- file[pos] - base
    base <- base + 0x07
end

 

 

0x11 ~ 0x18 : 플레이한 날짜(리플레이 저장 날짜)

MM/DD/YY 포맷으로 저장

 

0x1A ~ 0x21 : 플레이어 이름 (8바이트)

0x25 : 총 점수 (4바이트 Integer, Little Endian)

0x2C : 처리 미스율 (4바이트 Float, Little Endian)

 

Reference

https://github.com/Fluorohydride/threp