Chrono Mock

Pobierz Chrono Mock

Dwa warianty tego samego silnika: okno do eksploracji, wiersz poleceń do CI. Rozpakuj którykolwiek gdziekolwiek i uruchom - nie ma instalatora, nic nie trafia do rejestru i nie są potrzebne uprawnienia administratora.

PlikCo to jestRozmiar
ChronoMock-win-x64.zip Aplikacja okienkowa, samowystarczalna - nie wymaga instalacji .NET ~69 MB
chrono-cli-win.zip Samo narzędzie wiersza poleceń, do CI i skryptów ~1,6 MB

Czego potrzebujesz

  • Windows 10 albo Windows 11. Nie ma wersji na macOS ani Linuksa - na Linuksie libfaketime robi to od lat i robi to dobrze.
  • Niczego więcej. Wersja okienkowa niesie własne środowisko uruchomieniowe, a wersja konsolowa nie niesie niczego.
  • Aplikacje 32- i 64-bitowe są obsługiwane. Paczka zawiera obie wersje i sama dobiera tę, która pasuje do wskazanej aplikacji.

ARM64 jest poza zakresem do wersji 1.0, a aplikacje pakowane ze Sklepu (UWP i MSIX) nie są obsługiwane - nie pozwala na to ich model uruchamiania.

Uruchamianie

Rozpakuj, a potem uruchom ChronoMock.exe dla okna albo chrono.exe dla wiersza poleceń. Pierwsza sesja to trzy decyzje: która aplikacja, który moment i jak szybko ma iść zegar.

# Uruchom aplikację tak, jakby była ostatnia sekunda 2027 roku
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59

# To samo, z zegarem idącym w tempie doby na minutę
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59 --mode x1440

Dwie rzeczy do przeczytania najpierw

Zrób kopię katalogu danych aplikacji przed pierwszą sesją z datą w przyszłości.

Aplikacja działająca w 2028 roku zapisze daty z 2028 wszędzie tam, gdzie trzyma dane: w bazie, w konfiguracji, w pamięci podręcznej, w pliku licencji. Te wartości zostaną tam po powrocie do prawdziwego czasu. Przy oprogramowaniu z ochroną licencji bywa to nieodwracalne - „wykryto cofnięcie zegara, licencja unieważniona" to standardowy wzorzec w branży i zadziała dokładnie tak, jak został zaprojektowany.

Chrono Mock sprząta po sobie. Nie posprząta po aplikacji, którą testujesz.

Program antywirusowy może to zgłosić i jest to spodziewane.

Czas jest przesuwany przez wstrzyknięcie małej biblioteki do procesu celu. To legalna, udokumentowana technika Windows - a zarazem taka, której używa złośliwe oprogramowanie, więc Microsoft Defender i inne mogą zgłosić wstrzykiwaną bibliotekę albo zablokować samo wstrzyknięcie. To fałszywy alarm wywołany techniką.

Jeśli sesja nie chce wystartować, a Defender zgłasza zagrożenie, wyklucz samą bibliotekę, a nie folder: wybierz Plik w Zabezpieczeniach Windows i podaj pełną ścieżkę do chrono_hook.dll. Wykluczenie folderu wstrzymałoby skanowanie dokładnie w tym katalogu, z którego narzędzie wstrzykuje. Albo uruchom je na maszynie, na której wolno ci to zrobić. Wstrzykiwana biblioteka jest zbudowana z kodu w tym repozytorium na licencji GPL-3.0 - możesz ją zbudować sam. Tryb Chromium i Electron w ogóle nie wstrzykuje i nie dotyczy go ten problem.

Co zostaje po nim w systemie

Nic: żadnych trwałych hooków, żadnych wpisów w rejestrze i nic poza własnym folderem, z wyjątkiem trzech rzeczy, które narzędzie samo nazywa - historii sesji i dziennika diagnostycznego, które przenoszą się do %LOCALAPPDATA%\ChronoMock\, gdy własny folder narzędzia nie jest zapisywalny, oraz, dla celu w Electronie lub Chromium, jednorazowego profilu przeglądarki w %TEMP%, kasowanego po zakończeniu sesji i zgłaszanego w podsumowaniu, jeśli skasować się nie dał.

Nigdy nie łączy się z internetem, nie zakłada konta i nie wysyła telemetrii.