Chrono Mock
JazykČeština

Spusťte aplikaci pro Windows v libovolné datum - aniž byste sáhli na systémové hodiny

Nastavte hodiny jedné aplikace na příští rok, zastavte je, nebo je zrychlete tak, aby třicetidenní zkušební doba skončila, než si uvaříte kávu. Zbytek počítače si drží skutečný čas - přihlášení do domény, vaše certifikáty i všechny ostatní programy fungují dál jako obvykle.

A pak vám řekne, jestli náhrada času opravdu zabrala.

Zdarma a open source, GPL-3.0 Přenosně i nainstalovaně Ke spuštění nejsou třeba práva správce Nikdy nekomunikuje s internetem

Jak vypadá sezení

Aplikace vidí
2027-12-31
23:59:50
pásmo sezení -05:00
Počítač stále vidí
2026-09-04
18:12:33
pásmo hostitele +02:00
Funguje - náhrada času se do tohoto procesu dostala
Sledované časové kanály až 44 · každý s počtem volání
Panel sezení Chrono Mock. Hodiny aplikace ukazují 2038-01-19 03:14:14 a skutečné hodiny vedle nich 2026-09-22 15:50:30, každé s vlastním uplynulým časem. Pod nimi jsou rychlosti od x1 do x1440 s volbou Freeze, dále relativní skoky a skok na zadané datum a v zápatí zelená fajfka s textem Works vedle červeného tlačítka Stop session.
Běžící sezení. Aplikace je v roce 2038, počítač ne, a verdikt říká, že se k ní náhrada času dostala.

Proč to existuje

Testování čehokoli, co závisí na datu, vyžaduje posunout čas. Obě obvyklé možnosti jsou špatné.

Vypršení licence, zkušební doby, obnovení předplatného, platnost certifikátů, životnost tokenů, měsíční a roční uzávěrky, připisování úroků, připomínky.

Možnost 1 - změnit systémové hodiny

Rozbije přihlášení do domény a Kerberos, zneplatní certifikáty TLS, takže přestane fungovat prohlížeč, zmate Windows Update a způsobí, že všechny ostatní aplikace na počítači zapisují špatná časová razítka. Na počítači připojeném do domény změnu obvykle zablokují skupinové zásady, nebo ji za pár minut vrátí, takže test není ani opakovatelný.

Možnost 2 - čekat

Což znamená: netestovat. Případy závislé na datu se přeskočí a „licence nikdy nevyprší“ se dostane k zákazníkovi.

Co umí

Jeden proces se pohybuje v čase. Nic jiného na počítači ne.

Libovolný okamžik

Konkrétní datum a čas, nebo relativní - +30 days, -1 year.

Plynoucí, zastavený nebo zrychlený

Běžná rychlost, zastavené hodiny nebo celočíselný násobitel. x1440 promění den v minutu.

Vlastní časové pásmo

Pevný posun jen pro tento proces, zatímco systémové pásmo zůstane přesně tam, kde bylo.

Podřízené procesy jdou s ním

Instalátory a spouštěče vytvářejí podřízené procesy. Bez toho test pokryje jen polovinu toho, co běželo.

Skok uprostřed sezení

Dopředu i zpět - včetně skoku zpět, který udělá notebook po opětovné synchronizaci s časovým serverem.

I Electron a Chromium

Jiným mechanismem, protože jejich hodiny žijí v izolovaném rendereru, kam injektáž nedosáhne.

Část, kterou nedělá nikdo jiný

Jak poznáte, že to zabralo?

U každého jiného nástroje nepoznáte. Aplikace se spustí, ukáže nějaké datum a vy předpokládáte. Jenže může číst hodiny kanálem, který nástroj nikdy nezachytil - ze serveru, z databáze, přes vrstvu běhového prostředí - a pak „test prošel“ neznamená vůbec nic.

  • →Verdikt dřív, než začne skutečný test: funguje / funguje částečně / nefunguje
  • →Které z 44 časových kanálů byly pokryté a kolikrát se aplikace na každý zeptala
  • →Které kanály pokryté nebyly - řečeno otevřeně, nikdy vynecháno
  • →Varování i s následky: „tato aplikace čte čas ze sítě - místní náhrada nemusí stačit“

Jak funguje audit zdrojů času →

Dvě minuty s ním

Okno pro zkoumání, příkazový řádek pro CI. Za oběma stejný stroj.

# Spusťte aplikaci, jako by byla poslední vteřina roku 2027
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59

# Sledujte, jak vyprší 30denní zkušební doba, než si uvaříte kávu: x1440 je den za minutu
chrono run "C:\apps\test.exe" --mode x1440

# Použijte pojmenovaný scénář místo data a zapište důkazy do souboru
chrono run "C:\apps\test.exe" --preset year-rollover --report session.txt

Kalkulačka odpovídá na druhou polovinu testování dat - které datum použít:

$ chrono calc --preset year-2038 --zone +00:00
Chrono Mock - date calculator
  preset:   year-2038 - 2038 boundary
  explains: Does the app survive the 32-bit Unix time boundary (2038-01-19T03:14:07Z)?
  base:    2038-01-19T03:14:07
  result:  2038-01-19T03:14:07
  formats:
    ISO date      2038-01-19
    ISO datetime  2038-01-19T03:14:07+00:00
    US            01/19/2038
    PL            19.01.2038
    epoch (s)     2147483647
    epoch (ms)    2147483647000
    FILETIME      137919572470000000
    RFC 1123      Tue, 19 Jan 2038 03:14:07 GMT
  ...
  what this date lands on:
    at or past the 2038-01-19T03:14:07Z 32-bit time_t limit (Y2038)

Srovnání s tím, co pravděpodobně používáte

Jako RunAsDate, s tím, co chybělo

RunAsDate zachycuje pět funkcí kalendářních hodin a dělá to dobře. Tady je, v čem se oba liší - a úplná stránka říká i to, kdy je RunAsDate stále lepší volba.

 RunAsDateChrono Mock
Spustí aplikaci s falešným datemanoano
Zachycené časové kanály544 (30 posunutých, 14 počítaných)
Zrychlení hodinneano
Nezávislé časové pásmonezdokumentovánoano
Sleduje podřízené procesynezdokumentovánoano
Řekne vám, jestli to zabraloneano, po kanálech
Dostupný zdrojový kódfreeware, uzavřenýGPL-3.0

Úplné srovnání, včetně toho, kde vyhrává RunAsDate →

Získejte ho

Rozbalte kamkoli a spusťte, nebo nainstalujte podepsaný soubor .msi pro každý účet na počítači. Spuštění nevyžaduje práva správce a archivy zip nezapisují do registru nic.