Chrono Mock
언어한국어

Chrono Mock 다운로드

같은 엔진의 두 가지 빌드입니다. 탐색용 창과 CI용 명령줄입니다. 어느 쪽이든 아무 곳에나 압축을 풀어 실행할 수 있으며 설치 프로그램, 레지스트리 항목, 관리자 권한이 필요 없습니다. 또는 이 컴퓨터의 모든 계정용으로 서명된 .msi를 설치할 수 있습니다. 관리자 권한은 설치할 때 한 번만 필요하고 실행에는 필요 없습니다.

파일설명크기
ChronoMock-app-win-x64.zip 데스크톱 애플리케이션, 독립 실행형 - .NET을 설치할 필요 없음 약 70MB
ChronoMock-app-win-x64.msi 데스크톱 애플리케이션과 명령줄을 이 컴퓨터의 모든 계정용으로 설치합니다. 시작 메뉴 항목과 PATH의 chrono가 추가됩니다 ~58 MB
ChronoMock-cli-win.zip 명령줄 도구만, CI와 스크립트용 약 2.4MB

필요한 것

  • Windows 10 또는 Windows 11. macOS나 Linux 빌드는 없습니다. Linux에서는 libfaketime이 이미 이 일을 잘 해냅니다.
  • 그 외에는 아무것도 필요 없습니다. 데스크톱 빌드는 자체 런타임을 포함하고, 명령줄 빌드는 아무것도 포함하지 않습니다.
  • 32비트와 64비트 애플리케이션을 모두 지원합니다. 패키지에 둘 다 들어 있으며, 대상으로 지정한 앱에 맞는 쪽을 고릅니다.

ARM64는 버전 1.0까지 범위 밖이며, 패키지된 스토어 앱(UWP와 MSIX)은 실행 모델상 지원되지 않습니다.

실행하기

압축을 푼 뒤 창으로 쓰려면 ChronoMock.exe를, 명령줄로 쓰려면 chrono.exe를 실행하세요. 첫 세션에서 정할 것은 세 가지입니다. 어떤 앱을, 어떤 시점으로, 시계를 얼마나 빠르게 돌릴지입니다.

# 앱을 2027년의 마지막 1초인 것처럼 실행
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59

# 같은 일을, 시계를 1분에 하루씩 돌리며
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59 --mode x1440

먼저 읽어야 할 두 가지

미래 날짜로 첫 세션을 실행하기 전에 앱의 데이터 디렉터리를 백업하세요.

2028년에 실행되는 앱은 데이터를 저장하는 모든 곳, 즉 데이터베이스, 설정, 캐시, 라이선스 파일에 2028년 날짜를 기록합니다. 이 값들은 실제 시간으로 돌아온 뒤에도 그대로 남습니다. 라이선스 보호가 있는 소프트웨어에서는 이것이 영구적일 수 있습니다. “clock rollback detected, licence invalidated”는 업계의 표준적인 패턴이며, 설계된 바로 그대로 동작할 것입니다.

Chrono Mock은 자기가 남긴 것은 정리합니다. 테스트한 앱이 남긴 것까지는 정리할 수 없습니다.

백신이 이를 탐지할 수 있으며, 예상된 일입니다.

시간은 대상 프로세스에 작은 라이브러리를 인젝션하는 방식으로 옮깁니다. 이는 문서화된 정당한 Windows 기법이지만 악성코드도 사용하는 기법이므로, Microsoft Defender 등이 인젝션되는 라이브러리를 탐지하거나 인젝션 자체를 차단할 수 있습니다. 이 기법 때문에 발생하는 오탐입니다.

세션이 시작을 거부하고 Defender가 위협을 보고하면, 폴더가 아니라 라이브러리를 제외하세요. Windows 보안에서 파일을 선택하고 chrono_hook.dll의 전체 경로를 입력합니다. 폴더를 제외하면 도구가 인젝션하는 바로 그 디렉터리의 어떤 것도 검사되지 않게 됩니다. 또는 허용된 컴퓨터에서 실행하세요. 인젝션되는 라이브러리는 이 저장소의 코드를 GPL-3.0 아래에서 빌드한 것이며, 직접 다시 빌드할 수 있습니다. Chromium과 Electron 모드는 인젝션을 전혀 하지 않으므로 영향을 받지 않습니다.

남기는 것

시스템에는 아무것도 남기지 않습니다. 영구적인 훅도, 레지스트리 항목도, 자신의 폴더 밖의 어떤 것도 없습니다. 다만 도구가 이름을 알려 주는 세 가지가 예외입니다. 도구 자신의 폴더에 쓸 수 없을 때 %LOCALAPPDATA%\ChronoMock\로 옮겨지는 세션 기록과 진단 로그, 그리고 Electron이나 Chromium 대상의 경우 %TEMP% 아래에 만드는 일회용 브라우저 프로필입니다. 이 프로필은 세션이 끝나면 삭제되며, 삭제하지 못한 경우 세션 요약에 보고됩니다.

이는 zip 버전에 해당하는 설명입니다. 설치 프로그램은 예외이며 추가하는 항목을 밝힙니다. Program Files의 프로그램, 시작 메뉴 항목, 컴퓨터 PATH의 chrono, 설정의 앱 항목, 그리고 키 HKLM\Software\DonislawDev\Chrono Mock입니다. 제거하면 이 모두가 삭제되고 %LOCALAPPDATA%\ChronoMock\는 그대로 둡니다. 기본적으로 꺼져 있는 옵션 하나 --elevated-embedded는 세션이 지속되는 동안 레지스트리 값을 기록하고 이후 삭제합니다.

인터넷에 절대 연결하지 않으며, 계정을 두지 않고, 텔레메트리도 보내지 않습니다.