Chrono Mock
LimbaRomână

Rulează o aplicație Windows la orice dată - fără să atingi ceasul sistemului

Setează ceasul unei singure aplicații la anul viitor, oprește-l sau accelerează-l astfel încât o probă de 30 de zile să expire cât îți faci o cafea. Restul mașinii păstrează ora reală - autentificarea în domeniu, certificatele tale și toate celelalte programe merg mai departe ca de obicei.

Apoi îți spune dacă înlocuirea a funcționat cu adevărat.

Gratuit și open source, GPL-3.0 Portabil sau instalat Nu cere drepturi de administrator pentru rulare Nu comunică niciodată cu internetul

Cum arată o sesiune

Aplicația vede
2027-12-31
23:59:50
fusul sesiunii -05:00
Mașina vede în continuare
2026-09-04
18:12:33
fusul gazdei +02:00
Funcționează - înlocuirea a ajuns în acest proces
Canale de timp urmărite până la 44 · fiecare cu numărul de apeluri
Panoul de sesiune Chrono Mock. Ceasul aplicației arată 2038-01-19 03:14:14, iar ceasul real de lângă el arată 2026-09-22 15:50:30, fiecare cu propriul timp scurs. Sub ele, vitezele merg de la x1 la x1440, cu Freeze, apoi salturile relative și un salt la o dată introdusă, iar în subsol o bifă verde spune Works lângă un Stop session roșu.
O sesiune în desfășurare. Aplicația este în 2038, mașina nu, iar verdictul spune că înlocuirea a ajuns la ea.

De ce există

Testarea a orice depinde de dată înseamnă mutarea timpului. Ambele variante obișnuite sunt proaste.

Expirarea licenței, perioadele de probă, reînnoirea abonamentelor, valabilitatea certificatelor, durata de viață a token-urilor, rapoartele de final de lună și de an, calculul dobânzilor, memento-urile.

Varianta 1 - schimbi ceasul sistemului

Strică autentificarea în domeniu și Kerberos, invalidează certificatele TLS, așa că browserul nu mai funcționează, încurcă Windows Update și face ca toate celelalte aplicații de pe mașină să scrie marcaje de timp greșite. Pe o mașină din domeniu, politica de grup de obicei blochează schimbarea sau o anulează după câteva minute, deci testul nici măcar nu este repetabil.

Varianta 2 - aștepți

Ceea ce înseamnă: nu testezi. Cazurile care depind de dată sunt sărite, iar „licența nu expiră niciodată” ajunge la client.

Ce face

Un singur proces călătorește prin timp. Nimic altceva de pe mașină nu o face.

Orice moment

O dată și o oră anume, sau una relativă - +30 days, -1 year.

Curgând, oprit sau accelerat

Viteză normală, un ceas oprit sau un multiplicator întreg. x1440 face dintr-o zi un minut.

Propriul fus orar

Un decalaj fix doar pentru acel proces, în timp ce fusul sistemului rămâne exact unde era.

Procesele copil vin la pachet

Instalatoarele și lansatoarele pornesc procese copil. Fără asta, testul acoperă doar jumătate din ce a rulat.

Salt în timpul sesiunii

Înainte sau înapoi - inclusiv saltul înapoi pe care îl face un laptop după ce se resincronizează cu un server de timp.

Și Electron, și Chromium

Printr-un mecanism diferit, pentru că ceasul lor trăiește într-un renderer izolat, unde injecția nu ajunge.

Partea pe care nu o face nimeni altcineva

De unde știi că a funcționat?

Cu orice alt instrument, nu știi. Aplicația pornește, afișează o dată oarecare și presupui. Dar ea poate citi ceasul printr-un canal pe care instrumentul nu l-a interceptat niciodată - de la un server, dintr-o bază de date, printr-un strat al runtime-ului - și atunci „testul a trecut” nu înseamnă absolut nimic.

  • →Un verdict înainte să înceapă testul real: funcționează / funcționează parțial / nu funcționează
  • →Care dintre cele 44 canale de timp au fost acoperite și de câte ori a interogat aplicația fiecare canal
  • →Care canale nu au fost acoperite - spus pe față, niciodată omis
  • →Avertismente cu consecințele atașate: „această aplicație citește ora din rețea - înlocuirea locală poate să nu fie suficientă”

Cum funcționează auditul surselor de timp →

Două minute cu el

O fereastră pentru explorat, o linie de comandă pentru CI. Același motor în spatele ambelor.

# Rulează o aplicație ca și cum ar fi ultima secundă din 2027
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59

# Urmărește cum expiră o probă de 30 de zile cât îți faci o cafea: x1440 înseamnă o zi pe minut
chrono run "C:\apps\test.exe" --mode x1440

# Folosește un scenariu cu nume în loc de o dată și scrie dovezile într-un fișier
chrono run "C:\apps\test.exe" --preset year-rollover --report session.txt

Calculatorul răspunde celeilalte jumătăți a testării cu date - ce dată să folosești:

$ 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)

Comparat cu ce folosești probabil acum

Ca RunAsDate, cu părțile care lipseau

RunAsDate interceptează cinci funcții de ceas și o face bine. Iată în ce diferă cele două - iar pagina completă spune și unde RunAsDate rămâne alegerea mai bună.

 RunAsDateChrono Mock
Rulează o aplicație la o dată falsădada
Canale de timp interceptate544 (30 decalate, 14 numărate)
Accelerează ceasulnuda
Fus orar independentnedocumentatda
Urmărește procesele copilnedocumentatda
Îți spune dacă a funcționatnuda, pe fiecare canal
Cod sursă disponibilfreeware, închisGPL-3.0

Comparația completă, inclusiv unde câștigă RunAsDate →

Obține-l

Dezarhivează oriunde și rulează, sau instalează .msi-ul semnat pentru fiecare cont de pe calculator. Rularea nu cere drepturi de administrator, iar arhivele zip nu scriu nimic în registru.