Jalankan aplikasi Windows pada tanggal apa pun - tanpa menyentuh jam sistem
Setel jam satu aplikasi ke tahun depan, bekukan, atau percepat sehingga masa percobaan 30 hari habis selagi Anda membuat kopi. Sisa mesin tetap memakai waktu asli - login domain, sertifikat, dan semua program lain berjalan seperti biasa.
Lalu alat ini memberi tahu apakah penggantian waktu itu benar-benar berhasil.
Gratis dan open source, GPL-3.0 Portabel atau terpasang Tanpa hak administrator untuk menjalankan Tidak pernah berkomunikasi dengan internet
Seperti apa sebuah sesi
23:59:50
18:12:33
Mengapa ini ada
Menguji apa pun yang bergantung pada tanggal berarti memindahkan waktu. Kedua pilihan yang biasa sama-sama buruk.
Masa berlaku lisensi, masa percobaan, perpanjangan langganan, masa berlaku sertifikat, umur token, laporan akhir bulan dan akhir tahun, perhitungan bunga, pengingat.
Pilihan 1 - ubah jam sistem
Ini merusak login domain dan Kerberos, membatalkan sertifikat TLS sehingga peramban berhenti berfungsi, membingungkan Windows Update, dan membuat setiap aplikasi lain di mesin menulis stempel waktu yang salah. Pada mesin yang tergabung ke domain, kebijakan grup biasanya memblokir perubahan itu atau mengembalikannya beberapa menit kemudian, sehingga pengujian bahkan tidak dapat diulang.
Pilihan 2 - menunggu
Artinya: tidak menguji. Maka kasus yang bergantung pada tanggal terlewat, dan “lisensi tidak pernah kedaluwarsa” sampai ke pelanggan.
Apa yang dilakukannya
Satu proses bergerak melintasi waktu. Tidak ada yang lain di mesin yang ikut.
Momen apa pun
Tanggal dan jam tertentu, atau yang relatif - +30 days, -1 year.
Mengalir, dibekukan, atau dipercepat
Kecepatan normal, jam yang ditahan, atau pengali bilangan bulat. x1440 mengubah
satu hari menjadi satu menit.
Zona waktunya sendiri
Selisih tetap untuk proses itu saja, sementara zona sistem tetap persis di tempatnya.
Proses anak ikut serta
Installer dan launcher memunculkan proses anak. Tanpa itu, pengujian hanya mencakup separuh dari yang berjalan.
Melompat di tengah sesi
Maju atau mundur - termasuk lompatan mundur yang dilakukan laptop setelah menyinkronkan ulang dengan server waktu.
Electron dan Chromium juga
Melalui mekanisme yang berbeda, karena jam mereka berada di renderer yang terisolasi tempat injeksi tidak menjangkau.
Bagian yang tidak dilakukan alat lain
Bagaimana Anda tahu itu berhasil?
Dengan alat lain, Anda tidak tahu. Aplikasi menyala, menampilkan suatu tanggal, dan Anda berasumsi. Padahal aplikasi bisa membaca jam lewat kanal yang tidak pernah dicegat alatnya - dari server, dari database, melalui lapisan runtime - dan saat itu “pengujian lulus” sama sekali tidak berarti.
- →Putusan sebelum pengujian sebenarnya dimulai: berhasil / berhasil sebagian / tidak berhasil
- →Dari 44 kanal waktu, mana yang tercakup, dan berapa kali aplikasi menanyakan masing-masing
- →Kanal mana yang tidak tercakup - dinyatakan dengan jelas, tidak pernah dihilangkan
- →Peringatan beserta konsekuensinya: “aplikasi ini membaca waktu dari jaringan - penggantian lokal mungkin tidak cukup”
Dua menit bersamanya
Satu jendela untuk menjelajah, satu baris perintah untuk CI. Mesin yang sama di balik keduanya.
# Jalankan aplikasi seolah-olah ini detik terakhir tahun 2027 chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59 # Saksikan masa percobaan 30 hari habis selagi Anda membuat kopi: x1440 berarti sehari per menit chrono run "C:\apps\test.exe" --mode x1440 # Pakai skenario bernama alih-alih tanggal, dan tulis buktinya ke file chrono run "C:\apps\test.exe" --preset year-rollover --report session.txt
Kalkulator menjawab separuh lain dari pengujian tanggal - tanggal mana yang dipakai:
$ 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)
Dibandingkan dengan yang mungkin Anda pakai sekarang
Seperti RunAsDate, dengan bagian yang tadinya tidak ada
RunAsDate mencegat lima fungsi jam dinding dan melakukannya dengan baik. Berikut perbedaan keduanya - dan halaman lengkapnya juga menyebutkan di mana RunAsDate tetap pilihan yang lebih baik.
| RunAsDate | Chrono Mock | |
|---|---|---|
| Menjalankan satu aplikasi pada tanggal palsu | ya | ya |
| Kanal waktu yang dicegat | 5 | 44 (30 digeser, 14 dihitung) |
| Mempercepat jam | tidak | ya |
| Zona waktu mandiri | tidak terdokumentasi | ya |
| Mengikuti proses anak | tidak terdokumentasi | ya |
| Memberi tahu apakah berhasil | tidak | ya, per kanal |
| Kode sumber tersedia | freeware, tertutup | GPL-3.0 |
Dapatkan
Ekstrak di mana saja lalu jalankan, atau pasang .msi bertanda tangan untuk setiap
akun di komputer. Menjalankannya tidak memerlukan hak administrator, dan berkas zip tidak
menulis apa pun ke registry.