Chrono Mock
DilTürkçe

Bir Windows uygulamasını istediğiniz tarihte çalıştırın - sistem saatine dokunmadan

Tek bir uygulamanın saatini gelecek yıla ayarlayın, durdurun ya da hızlandırın; siz kahve yaparken 30 günlük bir deneme süresi dolsun. Makinenin geri kalanı gerçek zamanı korur - etki alanı oturumunuz, sertifikalarınız ve diğer tüm programlar her zamanki gibi çalışmaya devam eder.

Sonra da değişikliğin gerçekten işe yarayıp yaramadığını söyler.

Ücretsiz ve açık kaynak, GPL-3.0 Taşınabilir ya da kurulu Çalıştırmak için yönetici hakkı gerekmez İnternetle asla konuşmaz

Bir oturum nasıl görünür

Uygulama şunu görür
2027-12-31
23:59:50
oturum dilimi -05:00
Makine hâlâ şunu görür
2026-09-04
18:12:33
ana makine dilimi +02:00
Çalışıyor - değişiklik bu sürece ulaştı
İzlenen zaman kanalları en fazla 44 · her biri çağrı sayısıyla
Chrono Mock oturum paneli. Uygulamanın saati 2038-01-19 03:14:14’ü, yanındaki gerçek saat ise 2026-09-22 15:50:30’u gösteriyor; her birinin kendi geçen süresi var. Altlarında x1’den x1440’a kadar hızlar, bir Freeze düğmesi, ardından göreli atlamalar ve yazılan bir tarihe atlama yer alıyor; alt çubukta ise kırmızı bir Stop session düğmesinin yanında yeşil bir onay işareti Works diyor.
Çalışan bir oturum. Uygulama 2038’de, makine değil; karar da değişikliğin uygulamaya ulaştığını söylüyor.

Neden var

Tarihe bağlı her şeyi test etmek zamanı oynatmak demektir. Olağan iki seçenek de kötü.

Lisans süresinin dolması, deneme süreleri, abonelik yenilemeleri, sertifika geçerliliği, belirteç ömürleri, ay sonu ve yıl sonu raporları, faiz tahakkuku, hatırlatmalar.

Seçenek 1 - sistem saatini değiştirmek

Etki alanı oturumunu ve Kerberos’u bozar, TLS sertifikalarını geçersiz kılarak tarayıcının çalışmasını durdurur, Windows Update’i şaşırtır ve makinedeki diğer tüm uygulamaların yanlış zaman damgaları yazmasına yol açar. Bir etki alanına bağlı makinede grup ilkesi değişikliği genellikle engeller ya da birkaç dakika sonra geri alır; yani test tekrarlanabilir bile olmaz.

Seçenek 2 - beklemek

Yani: test etmemek. Böylece tarihe bağlı durumlar atlanır ve “lisans hiç dolmuyor” müşteriye ulaşır.

Ne yapar

Tek bir süreç zamanda yolculuk eder. Makinedeki başka hiçbir şey etmez.

İstediğiniz an

Belirli bir tarih ve saat ya da göreli bir an - +30 days, -1 year.

Akan, durmuş ya da hızlanmış

Normal hız, tutulmuş bir saat ya da tam sayı bir çarpan. x1440 bir günü bir dakikaya çevirir.

Kendi saat dilimi

Yalnızca o süreç için sabit bir kayma; sistem dilimi tam olarak olduğu yerde kalır.

Alt süreçler de gelir

Yükleyiciler ve başlatıcılar alt süreçler oluşturur. Bu olmadan test, çalışanların yalnızca yarısını kapsar.

Oturum sırasında atlama

İleri ya da geri - bir dizüstü bilgisayarın zaman sunucusuyla yeniden eşitlendikten sonra yaptığı geri atlama dahil.

Electron ve Chromium da

Farklı bir mekanizmayla; çünkü saatleri, enjeksiyonun ulaşamadığı yalıtılmış bir renderer içinde yaşar.

Başka kimsenin yapmadığı kısım

İşe yaradığını nereden bileceksiniz?

Başka her araçta bilemezsiniz. Uygulama açılır, bir tarih gösterir ve siz varsayarsınız. Oysa saati aracın hiç yakalamadığı bir kanaldan okuyabilir - bir sunucudan, bir veritabanından, bir çalışma zamanı katmanından - ve o zaman “test geçti” hiçbir şey ifade etmez.

  • →Gerçek test başlamadan bir karar: çalışıyor / kısmen çalışıyor / çalışmıyor
  • →44 zaman kanalından hangilerinin kapsandığı ve uygulamanın her birini kaç kez sorguladığı
  • →Hangi kanalların kapsanmadığı - açıkça söylenir, asla gizlenmez
  • →Sonuçlarıyla birlikte uyarılar: “bu uygulama zamanı ağdan okuyor - yerel değişiklik yeterli olmayabilir”

Zaman kaynağı denetimi nasıl çalışır →

İki dakikada tanışın

Keşfetmek için bir pencere, CI için bir komut satırı. İkisinin arkasında da aynı motor.

# Bir uygulamayı 2027’nin son saniyesiymiş gibi çalıştırın
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59

# Siz kahve yaparken 30 günlük bir deneme süresinin dolmasını izleyin: x1440, dakikada bir gündür
chrono run "C:\apps\test.exe" --mode x1440

# Tarih yerine adlandırılmış bir senaryo kullanın ve kanıtı bir dosyaya yazın
chrono run "C:\apps\test.exe" --preset year-rollover --report session.txt

Hesap makinesi tarih testinin diğer yarısını yanıtlar - hangi tarihin kullanılacağını:

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

Muhtemelen kullandığınız araçla karşılaştırma

RunAsDate gibi, eksik olan kısımlarla

RunAsDate beş duvar saati işlevini yakalar ve bunu iyi yapar. İkisinin nerede ayrıştığı burada - tam sayfa ise RunAsDate’in hâlâ daha iyi seçim olduğu yerleri de söylüyor.

 RunAsDateChrono Mock
Bir uygulamayı sahte bir tarihte çalıştırırevetevet
Yakalanan zaman kanalları544 (30 kaydırılan, 14 sayılan)
Saati hızlandırırhayırevet
Bağımsız saat dilimibelgelenmemişevet
Alt süreçleri izlerbelgelenmemişevet
İşe yarayıp yaramadığını söylerhayırevet, kanal kanal
Kaynak kodu açıkfreeware, kapalıGPL-3.0

RunAsDate’in kazandığı yerler dahil tam karşılaştırma →

Edinin

İstediğiniz yere açıp çalıştırın ya da imzalı .msi'yi bilgisayardaki her hesap için kurun. Çalıştırmak yönetici hakkı gerektirmez, zip sürümleri ise kayıt defterine hiçbir şey yazmaz.