Chrono Mock
BahasaBahasa Indonesia

Unduh Chrono Mock

Dua build dari mesin yang sama: jendela untuk menjelajah dan baris perintah untuk CI. Ekstrak salah satunya di mana saja lalu jalankan - tanpa installer, tanpa entri registry, tanpa hak administrator. Atau pasang .msi bertanda tangan untuk setiap akun di komputer: hak administrator satu kali, untuk memasang, tidak perlu untuk menjalankan.

FileApa ituUkuran
ChronoMock-app-win-x64.zip Aplikasi desktop, mandiri - tidak perlu memasang .NET ~70 MB
ChronoMock-app-win-x64.msi Aplikasi desktop dan baris perintah, dipasang untuk setiap akun di komputer: entri menu Start dan chrono di PATH ~58 MB
ChronoMock-cli-win.zip Hanya alat baris perintah, untuk CI dan skrip ~2,4 MB

Yang Anda butuhkan

  • Windows 10 atau Windows 11. Tidak ada build macOS atau Linux - di Linux, libfaketime sudah menangani hal ini dengan baik.
  • Tidak ada yang lain. Build desktop membawa runtime sendiri, dan build baris perintah tidak membawa apa pun sama sekali.
  • Aplikasi 32-bit maupun 64-bit didukung. Paket ini menyertakan keduanya, dan memilih yang sesuai dengan aplikasi yang Anda tuju.

ARM64 di luar cakupan hingga versi 1.0, dan aplikasi Store yang dikemas (UWP dan MSIX) tidak didukung - model peluncurannya tidak memungkinkannya.

Menjalankannya

Ekstrak, lalu jalankan ChronoMock.exe untuk jendela atau chrono.exe untuk baris perintah. Sesi pertama adalah tiga keputusan: aplikasi mana, momen mana, dan secepat apa jam harus berjalan.

# Jalankan aplikasi seolah-olah ini detik terakhir tahun 2027
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59

# Hal yang sama, dengan jam berjalan sehari per menit
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59 --mode x1440

Dua hal yang perlu dibaca lebih dulu

Cadangkan direktori data aplikasi sebelum sesi pertama dengan tanggal di masa depan.

Aplikasi yang berjalan di tahun 2028 menulis tanggal 2028 di mana pun ia menyimpan data: database, konfigurasi, cache, file lisensinya. Nilai-nilai itu tetap ada setelah Anda kembali ke waktu nyata. Untuk perangkat lunak dengan perlindungan lisensi, ini bisa permanen - “clock rollback detected, licence invalidated” adalah pola standar di industri, dan ia akan melakukan persis apa yang dirancang untuk dilakukan.

Chrono Mock membereskan jejaknya sendiri. Ia tidak dapat membereskan jejak aplikasi yang Anda uji.

Antivirus Anda mungkin menandainya, dan itu wajar.

Waktu digeser dengan menyuntikkan pustaka kecil ke proses target. Itu teknik Windows yang sah dan terdokumentasi - dan juga teknik yang dipakai malware, sehingga Microsoft Defender dan lainnya dapat menandai pustaka yang disuntikkan atau memblokir injeksinya sekaligus. Ini positif palsu yang dipicu oleh tekniknya.

Jika sesi menolak dimulai dan Defender melaporkan ancaman, kecualikan pustakanya, bukan folder: pilih File di Windows Security dan berikan jalur lengkap ke chrono_hook.dll. Pengecualian folder akan menghentikan pemindaian apa pun tepat di direktori tempat alat menyuntik. Atau jalankan di mesin tempat Anda diizinkan melakukannya. Pustaka yang disuntikkan dibangun dari kode di repositori ini di bawah GPL-3.0 - Anda dapat membangunnya ulang sendiri. Mode Chromium dan Electron tidak menyuntik sama sekali dan tidak terpengaruh.

Apa yang ditinggalkannya

Tidak ada di sistem Anda: tidak ada hook yang menetap, tidak ada entri registry, dan tidak ada apa pun di luar foldernya sendiri kecuali tiga hal yang akan disebutkannya - riwayat sesi dan log diagnostik, yang pindah ke %LOCALAPPDATA%\ChronoMock\ ketika folder alat itu sendiri tidak dapat ditulisi, dan, untuk target Electron atau Chromium, profil peramban sekali pakai di bawah %TEMP% yang dihapus ketika sesi berakhir dan dilaporkan dalam ringkasan sesi jika tidak dapat dihapus.

Itu menggambarkan berkas zip. Installer adalah pengecualian dan menyebutkan apa yang ditambahkannya: program di Program Files, entri menu Start, chrono di PATH komputer, entri di Pengaturan, Aplikasi, dan kunci HKLM\Software\DonislawDev\Chrono Mock. Pencopotan menghapus semuanya dan membiarkan %LOCALAPPDATA%\ChronoMock\. Satu opsi lagi, mati secara bawaan, menulis nilai registry selama sesi dan menghapusnya sesudahnya: --elevated-embedded.

Tidak pernah terhubung ke internet, tidak menyimpan akun, dan tidak mengirim telemetri.