Chrono Mock
TaalNederlands

Chrono Mock downloaden

Twee builds van dezelfde engine: een venster om te verkennen en een opdrachtregel voor CI. Pak een van beide ergens uit en start hem - geen installatieprogramma, geen registervermeldingen, geen beheerdersrechten. Of installeer de ondertekende .msi voor elk account op de machine: eenmalig beheerdersrechten om te installeren, geen om te draaien.

BestandWat het isGrootte
ChronoMock-app-win-x64.zip De desktopapplicatie, zelfstandig - geen .NET-installatie nodig ~70 MB
ChronoMock-app-win-x64.msi De desktoptoepassing en de opdrachtregel, geïnstalleerd voor elk account op de machine: een item in het Startmenu en chrono in het PATH ~58 MB
ChronoMock-cli-win.zip Alleen het opdrachtregelprogramma, voor CI en scripts ~2,4 MB

Wat je nodig hebt

  • Windows 10 of Windows 11. Er is geen build voor macOS of Linux - op Linux dekt libfaketime dit al goed.
  • Verder niets. De desktopbuild brengt zijn eigen runtime mee, en de opdrachtregelbuild brengt helemaal niets mee.
  • Zowel 32-bits als 64-bits applicaties worden ondersteund. Het pakket bevat beide en kiest degene die past bij de applicatie waarop je het richt.

ARM64 valt tot en met versie 1.0 buiten de scope, en verpakte Store-applicaties (UWP en MSIX) worden niet ondersteund - hun startmodel staat het niet toe.

Starten

Pak uit en start ChronoMock.exe voor het venster of chrono.exe voor de opdrachtregel. Een eerste sessie bestaat uit drie keuzes: welke applicatie, welk moment en hoe snel de klok moet lopen.

# Een applicatie draaien alsof het de laatste seconde van 2027 is
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59

# Hetzelfde, met de klok die een dag per minuut loopt
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59 --mode x1440

Twee dingen om eerst te lezen

Maak een back-up van de gegevensmap van de applicatie voordat je je eerste sessie in de toekomst start.

Een applicatie die in 2028 draait, schrijft datums uit 2028 overal waar ze gegevens opslaat: haar database, haar configuratie, haar cache, haar licentiebestand. Die waarden blijven daar staan nadat je terug bent naar de echte tijd. Bij software met licentiebeveiliging kan dit blijvend zijn - “terugdraaien van de klok gedetecteerd, licentie ongeldig” is een standaardpatroon in de branche, en het doet precies waarvoor het ontworpen is.

Chrono Mock ruimt achter zichzelf op. Het kan niet opruimen achter de applicatie die je hebt getest.

Je antivirus kan waarschuwen, en dat is te verwachten.

De tijd wordt verschoven door een kleine bibliotheek in het doelproces te injecteren. Dat is een legitieme, gedocumenteerde Windows-techniek - en het is ook een techniek die malware gebruikt, dus Microsoft Defender en andere kunnen de geïnjecteerde bibliotheek markeren of de injectie helemaal blokkeren. Het is een vals alarm, veroorzaakt door de techniek.

Als een sessie weigert te starten en Defender een bedreiging meldt, sluit dan de bibliotheek uit en niet de map: kies Bestand in Windows-beveiliging en geef het volledige pad naar chrono_hook.dll. Een map-uitsluiting zou verhinderen dat er iets gescand wordt in precies de map waaruit het gereedschap injecteert. Of draai het op een machine waar je dat mag. De geïnjecteerde bibliotheek wordt gebouwd uit de code in deze repository onder GPL-3.0 - je kunt haar zelf opnieuw bouwen. De Chromium- en Electron-modus injecteert helemaal niet en wordt er niet door geraakt.

Wat het achterlaat

Niets in je systeem: geen blijvende hooks, geen registervermeldingen en niets buiten de eigen map, behalve drie dingen die het voor je noemt - de sessiegeschiedenis en het diagnoselogboek, die naar %LOCALAPPDATA%\ChronoMock\ verhuizen als de map van het gereedschap niet beschrijfbaar is, en, voor een Electron- of Chromium-doel, een wegwerpbrowserprofiel onder %TEMP% dat aan het einde van de sessie wordt verwijderd en, als dat niet lukte, in de sessiesamenvatting wordt gemeld.

Dat beschrijft de zip-bestanden. Het installatieprogramma is de uitzondering en zegt wat het toevoegt: het programma in Program Files, een item in het Startmenu, chrono in het PATH van de machine, een item onder Instellingen, Apps en de sleutel HKLM\Software\DonislawDev\Chrono Mock. Verwijderen haalt dat alles weg en laat %LOCALAPPDATA%\ChronoMock\ met rust. Nog één optie, standaard uit, schrijft voor de duur van een sessie een registerwaarde en verwijdert die daarna weer: --elevated-embedded.

Het maakt nooit verbinding met internet, houdt geen account bij en verstuurt geen telemetrie.