| r203 vs r204 | ||
|---|---|---|
| ... | ... | |
| 843 | 843 | } |
| 844 | 844 | } |
| 845 | 845 | }}} |
| 846 | ==== 기능 ==== | |
| 847 | * 싱글톤 인스턴스 관리 | |
| 848 | * 초기화 | |
| 849 | * 세션 Nonce 생성 | |
| 850 | * 파일 경로 생성 | |
| 851 | * Warmup 호출 | |
| 852 | ||
| 853 | * 무작위 바이트 생성 | |
| 854 | * DumbMixA/B/C | |
| 855 | * SecretBytes 생성 | |
| 856 | ||
| 857 | * 키 파생 (DeriveKeysRotating) | |
| 858 | * AES 키/HMAC 키 분리 | |
| 859 | * Rotation 적용 (옵션) | |
| 860 | ||
| 861 | * Save<T> | |
| 862 | * JSON 직렬화 | |
| 863 | * 난수 Salt 생성 | |
| 864 | * Rotation 바이트 생성 | |
| 865 | * AES 키/HMAC 키 생성 | |
| 866 | * AES 암호화 수행 | |
| 867 | * HMAC 생성 | |
| 868 | * 메모리 블롭 생성 | |
| 869 | * 파일 저장 | |
| 870 | * 메모리 정리 | |
| 871 | ||
| 872 | * Load<T> | |
| 873 | * 파일 존재 확인 | |
| 874 | * Base64 디코딩 | |
| 875 | * Magic/Version 체크 | |
| 876 | * Salt/Rotation/IV/Cipher/HMAC 읽기 | |
| 877 | * 키 파생 | |
| 878 | * HMAC 검증 | |
| 879 | * AES 복호화 수행 | |
| 880 | * JSON 역직렬화 | |
| 881 | * 메모리 정리 | |
| 882 | ||
| 883 | * 파일명 난독화 및 경로 | |
| 884 | * ResolveFileName(baseName) | |
| 885 | * 최종 경로 반환(filePath) | |
| 886 | ||
| 887 | * 개발자 로깅 (EnableDeveloperLogging) | |
| 888 | * 로그 레벨 관리 | |
| 889 | * DevLog 함수: 콘솔 + 파일 기록 | |
| 890 | * 초기화 환경 로그 | |
| 891 | * 파일 경로, 백업, 파일 크기 로그 | |
| 892 | * Save/Load 시간 측정 및 평균 | |
| 893 | * 키 파생 옵션 로그 | |
| 894 | * 보안 실패 상세 로그 | |
| 895 | * 예외 메시지/스택트레이스 기록 | |
| 896 | * 로그 필터링 | |
| 897 | ||
| 898 | * 변조·디버깅 탐지 | |
| 899 | * Debugger.IsAttached | |
| 900 | * 프로세스 이름 확인 | |
| 901 | * 루팅 경로 검사 | |
| 902 | * 탐지 시 Save/Load 거부 및 로그 출력 | |
| 903 | ||
| 904 | * 어셈블리 무결성 (옵션) | |
| 905 | * ExpectedAssemblyHash 비교 | |
| 906 | * DevLog 해시 일부 출력 | |
| 907 | ||
| 908 | * 시간 위변조 검증 | |
| 909 | * Save 시 UTC ticks 저장 | |
| 910 | * Load 시 ticks 비교 | |
| 911 | * 시간 점프 감지 및 로그 출력 | |
| 912 | ||
| 913 | * 플랫폼 보호 (Windows DPAPI) | |
| 914 | * TryProtectedProtect / TryProtectedUnprotect | |
| 915 | * Windows 환경만 적용 | |
| 916 | ||
| 917 | * 성능/안정성 보조 | |
| 918 | * Save/Load 시간 측정 및 평균 | |
| 919 | * I/O 예외 시 백업 로드 시도 | |
| 920 | ||
| 921 | * 유틸리티 헬퍼 | |
| 922 | * GenerateRandomBytes(len) | |
| 923 | * ClearBytes(byte[]) | |
| 924 | * Obf.Decode | |
| 925 | * CalculateAssemblyHashPartial(out bool) | |
| 926 | ||
| 927 | * 파일 버전 및 마이그레이션 자리 | |
| 928 | * Version 바이트 관리 | |
| 929 | * MigrateData 가능 | |
| 930 | ||
| 846 | 931 | === 실행 코드 === |
| 847 | 932 | {{{#!syntax csharp |
| 848 | 933 | using UnityEngine; |
| ... | ... |