Chrono Mock
BahasaBahasa Indonesia

Tanya jawab

Jawaban singkat, termasuk yang tentang apa yang tidak akan dilakukan alat ini.

Apakah ini mengubah jam komputer saya?

Tidak, dan tidak akan pernah - itulah inti alat ini. Waktu yang digeser terlihat oleh satu proses dan proses anak yang dimulainya. Login domain, sertifikat, Windows Update, dan setiap aplikasi lain terus melihat tanggal asli sepanjang waktu.

Apakah saya memerlukan hak administrator?

Tidak untuk menjalankannya. Berkas zip tidak memerlukan installer, tidak menulis apa pun ke registry, dan berjalan dari folder yang bisa Anda bawa di flash disk USB. .msi opsional memerlukan hak administrator satu kali, untuk memasang, karena ia dipasang untuk setiap akun di komputer.

Apakah ini akan berfungsi dengan aplikasi saya?

Jawaban jujurnya, tidak ada alat sejenis ini yang dapat menjanjikannya sebelumnya - maka alat ini mengukurnya. Setiap sesi berakhir dengan putusan (berhasil, berhasil sebagian, tidak berhasil), daftar kanal waktu yang benar-benar dibaca aplikasi beserta jumlah panggilan untuk masing-masing, dan daftar kanal yang tidak tercakup.

Aplikasi dapat membaca jam lewat jalur yang tidak dicegat apa pun - dari server, dari database, melalui lapisan runtime. Ketika itu terjadi, Anda diberi tahu, bukan dibiarkan mengira pengujiannya lulus.

Apakah berfungsi dengan aplikasi .NET, Java, dan Python?

Sebagian, dan perbedaannya penting. Ketiganya ditandai eksperimental: berfungsi pada target uji, belum diuji secara luas, dan audit bawaan adalah sumber kebenaran Anda, bukan paragraf ini.

  • .NET - jam dinding dan zona waktu sesi tercakup. Stopwatch tetap pada penghitung beresolusi tinggi yang nyata kecuali Anda memilih untuk menskalakannya.
  • Java - jam dinding, waktu berlalu, dan zona waktu sesi tercakup. Zona datang sebagai selisih tetap, bernama seperti GMT+05:30.
  • Python - time.time dan datetime tercakup. perf_counter, dan monotonic pada Python 3.13 dan yang lebih baru, berada pada penghitung beresolusi tinggi kecuali Anda memilih.

Apakah berfungsi dengan aplikasi Electron dan Chromium?

Ya, melalui mekanisme yang berbeda. Jam mereka berada di renderer terisolasi yang tidak dijangkau injeksi, sehingga aplikasi diluncurkan dengan port debug dan profil bersih sekali pakai, dan API waktu JavaScript miliknya dipasang ke jam sesi - termasuk di dalam Web Worker, tempat timer sering kali benar-benar berada.

Satu batasan yang perlu diketahui: proses utama aplikasi Electron berjalan di Node, yang tidak dijangkau sesi, sehingga ia tetap memakai jam asli, dan laporan menyebutkannya. Halaman dan worker-nya membaca zona waktu sesi.

Cara kerja mode Chromium dan Electron - apa yang dijangkaunya, apa yang tidak, dan mengapa port debug adalah bagian yang perlu diwaspadai.

Bisakah saya membuat waktu berjalan lebih cepat dari waktu nyata?

Bisa. Pilih pengali bilangan bulat dan jam aplikasi berjalan pada kecepatan itu - x1440 mengubah satu hari menjadi satu menit, sehingga masa percobaan 30 hari habis dalam sekitar setengah jam. Anda juga dapat membekukan jam, atau melompat maju dan mundur di tengah sesi.

Hitung mundur dan timer berada pada sumbu yang terpisah, dan mempercepatnya adalah switch yang terpisah, karena menskalakannya mengubah perilaku yang menjadi tumpuan banyak aplikasi.

Bisakah saya mengubah zona waktu saja, tanpa mengubah tanggal?

Bisa. Sesi membawa selisih tetapnya sendiri, terlihat oleh proses itu sementara zona sistem tetap persis di tempatnya. Ini bagian yang dilewati kebanyakan alat, dan inilah cara mereproduksi bug yang hanya muncul pada pelanggan yang berjarak lima zona waktu.

Bagaimana dengan waktu musim panas?

Zona sesi adalah selisih tetap tanpa waktu musim panas. Sesi yang disetel ke Polandia tetap pada selisih yang Anda pilih, entah jamnya menunjukkan Maret atau Juli, sehingga eksekusi yang melintasi transisi nyata menyimpang satu jam dari apa yang sebenarnya akan ditunjukkan zona itu.

Memaksa aplikasi melewati transisi waktu musim panas karenanya belum dilakukan alat ini, dan kalkulator tanggal menyatakannya, bukan menebak.

Mengapa antivirus saya menandainya?

Karena menyuntikkan pustaka ke proses lain adalah teknik Windows yang sah dan terdokumentasi, yang juga dipakai malware. Ini positif palsu yang dipicu oleh tekniknya, bukan oleh apa pun yang dilakukan alat ini pada mesin Anda. Pustaka yang disuntikkan adalah chrono_hook.dll, dibangun dari sumber publik di bawah GPL-3.0, dan Anda dapat membangunnya ulang sendiri. Mode Chromium dan Electron tidak menyuntik sama sekali.

Halaman unduhan menyebutkan apa yang harus dilakukan.

Apakah ini cara untuk memperpanjang masa percobaan atau menyiasati lisensi?

Tidak, dan alat ini tidak dibuat untuk itu. Chrono Mock untuk menguji perangkat lunak yang menjadi tanggung jawab Anda - masa berlaku lisensi Anda sendiri, logika perpanjangan Anda sendiri, laporan akhir bulan Anda sendiri. Tidak ada contoh, skenario, atau halaman di sini yang akan pernah mendemonstrasikan perpanjangan masa percobaan milik orang lain.

Perangkat lunak dengan perlindungan lisensi sebenarnya adalah kasus yang paling mungkin mengalahkan alat ini: kode anti-tamper sering membaca waktu lewat jalur yang sengaja dipilih agar sulit dicegat, dan memundurkan jam adalah kondisi yang ditulis untuk dideteksi perangkat lunak semacam itu. Fitur yang mengarah ke sisi sebaliknya direncanakan - mode yang menjalankan serangkaian manipulasi waktu terhadap aplikasi Anda sendiri dan melaporkan mana yang tertangkap oleh perlindungan Anda.

Bisakah saya memakainya dalam integrasi berkelanjutan?

Bisa. Build baris perintah adalah unduhan terpisah sekitar 2,4 MB tanpa runtime yang perlu dipasang. Setiap perintah berbicara --json dan keluar dengan kode yang dapat dijadikan percabangan oleh pipeline, dan sesi dapat menulis buktinya ke file.

Apa bedanya dengan RunAsDate?

RunAsDate mencegat lima fungsi jam dinding dan melakukannya dengan baik. Alat ini memantau 44 kanal waktu dan memindahkan 30 di antaranya ke jam sesi, dapat mempercepat jam, memberi proses zona waktunya sendiri, mengikuti proses anak, dan memberi tahu Anda sesudahnya kanal mana yang benar-benar tercakup. Alat ini juga open source, sementara RunAsDate adalah freeware tertutup. Sebaliknya, RunAsDate bisa menempel ke aplikasi yang sudah berjalan, dan alat ini tidak.

Perbandingan lengkapnya juga menyebutkan di mana RunAsDate menjadi pilihan yang lebih baik.

Apakah ini libfaketime untuk Windows?

Secara semangat, ya - gagasan yang sama untuk menggeser waktu bagi satu program, bukan bagi mesin. Dalam praktiknya ia implementasi yang berbeda, karena libfaketime bergantung pada LD_PRELOAD, yang tidak ada di Windows. Ada halaman khusus tentang hal itu.

Apakah gratis, dan apakah mengirim sesuatu ke mana pun?

Gratis dan open source di bawah GPL-3.0. Tanpa akun, tanpa telemetri, dan sama sekali tidak berkomunikasi dengan internet - seluruh alat berfungsi dengan kabel jaringan dicabut.

Jendelanya memang memiliki dua kontrol yang mengarah ke luar, jadi layak disebutkan agar Anda tidak perlu menemukannya sendiri: tombol Donate dan GitHub di bilah judul. Menekan salah satunya menyerahkan sebuah alamat ke peramban Anda, dan peramban Andalah yang terhubung. Chrono Mock tidak membuka koneksi pada kedua kasus, dan tidak ada yang diukurnya tentang aplikasi Anda yang dikirim ke mana pun.