FEZ의 독자적인 바이너리 세이브 파일을 대상으로 C# 코드 역컴파일부터 ImHex Pattern Language를 이용한 전체 필드 해석까지 단계별로 진행함 평문 문자열이 보여도 매직 바이트나 형식 정보가 없다면 바이트만으로 의미를 판단하기 어려워, 파일을 읽고 쓰는 함수를 찾아 직렬화 순서와 자료형을 역추적해야 함 PCSaveDevice.Save()와 SaveFileOperations.Write()를 따라가며 FILETIME, 버전, 불리언, 문자열, 목록, 열거형, 중첩 구조체가 기록되는 순서를 확인해 같은 구조를 패턴으로 구현함 선택적 객체는 유효성 불리언, 문자열은 7비트 인코딩 길이, 목록은 항목 수와 배열로 모델링하고 [[format]], [[transform]], std::assert로 표시와 검증을 개선함 완성된 패턴은 패딩을 제외한 모든 바이트를 구조화해 탐색·수정할 수 있으며, 형식 확인 → 처리 코드 탐색 → 구성 요소 분석 → 패턴 작성·검증이라는 일반적인 작업 흐름에도 적용할 수 있음 분석 대상과 준비 대상은 2012년 출시된 게임 FEZ의 완전한 사용자 정의 바이너리 세이브 파일이며, 코드에는 비밀 요소와 엔드게임에 관한 스포일러가 포함될 수 있음 Steam에서 제공되는 2016년 12월 2일자 최신 정식 릴리스를 실행해 세이브를 생성했으며, Linux에서는 /home/werwolv/.local/share/FEZ/SaveSlot2에서 파일을 찾음 Windows의 저장 경로는 다름 파일에는 DOT_LOCKED_DOOR_A 같은 평문 문자열과 반복 패턴이 보여 압축되거나 암호화되지 않은 상태임을 알 수 있음 시작 부분에 형식을 식별하는 매직 문자열이 없고 ImHex도 자동 판별하지 못해, 바이트만 살펴봐서는 각 데이터의 의미를 파악하기 어려움 사용한 일부 기능은 ImHex 정식 릴리스에 포함되지 않았으며, v1.38.1 이하에서 문제가 생기면 Nightly 빌드나 ImHex Web을 사용할 수 있음 FEZ 바이너리에서 저장 코드 찾기 설치 폴더의 System.Core.dll, mscorlib.dll 등을 통해 게임이 C#으로 작성됐음을 확인할 수 있으며, JetBrains Rider로 바이너리를 원본과 유사한 코드로 역컴파일할 수 있음 Steam의 Manage -> Browse local files로 설치 위치를 열고 Assembly Explorer에서 관련성이 높은 파일을 조사함 ...
ImHex로 미지의 파일 형식 리버스 엔지니어링하기
1 month ago
21
Related
Penguin Mail - AI를 탑재한 Linux용 오픈소스 Rust 이메일 클라이언트
1 hour ago
2
Show GN: 이메일 피싱 모의훈련을 전화로 옮겼습니다. 예고 없는 전화
1 hour ago
3
토론토 기반 VPN 업체, 적법 접근 법안으로 캐나다 떠날 계획
2 hours ago
3
Claude Code의 메시지 제안 기능: 진짜 고객은 모델이라는 생각
3 hours ago
3
Show GN: 추천링크·UTM으로 오프라인 소개의 성과를 추적하는 구조
4 hours ago
3
소프트웨어 팩토리 패턴 시도하기
5 hours ago
3
Show GN: 웹 변경 모니터링하는 크롬 확장프로그램
5 hours ago
3
Tips
click
Popular
프로들도 줄지어 샷 점검… KLPGA 스타 사랑방 된 더헤븐CC 연습장
2 weeks ago
73
iOS 27, iPadOS 27, macOS 27
3 weeks ago
69
손흥민 선제골 발판·골대 불운…LAFC, 7경기 만에 승리
3 weeks ago
65
영림원소프트랩, 나람 통합 ERP 구축…사료 제조·물류·회계 데이터 하나로
2 weeks ago
62
'이 악문' 김영범, 자유형 50m '대회 신기록' 금메달
2 weeks ago
55
© Clint IT 2026. All rights are reserved









English (US) ·