Télécharger Chrono Mock
Deux versions du même moteur : une fenêtre pour explorer, une ligne de commande pour la CI.
Décompressez l'une ou l'autre n'importe où et lancez-la - sans installateur, sans entrée de
registre, sans droits d'administrateur. Ou installez le .msi signé pour chaque
compte de la machine : des droits d'administrateur une fois, pour installer, aucun pour
exécuter.
| Fichier | Ce que c'est | Taille |
|---|---|---|
ChronoMock-app-win-x64.zip |
L'application de bureau, autonome - aucune installation de .NET nécessaire | ~70 Mo |
ChronoMock-app-win-x64.msi |
L'application de bureau et la ligne de commande, installées pour chaque compte de la
machine : une entrée du menu Démarrer et chrono dans le PATH |
~58 MB |
ChronoMock-cli-win.zip |
Uniquement l'outil en ligne de commande, pour la CI et les scripts | ~2,4 Mo |
Ce qu'il vous faut
- Windows 10 ou Windows 11. Il n'existe pas de version pour macOS ou Linux - sous Linux, libfaketime couvre déjà bien ce besoin.
- Rien d'autre. La version de bureau embarque son propre environnement d'exécution, et la version en ligne de commande n'embarque rien du tout.
- Les applications 32 bits et 64 bits sont prises en charge. Le paquet contient les deux et choisit celle qui correspond à l'application que vous visez.
ARM64 est hors périmètre jusqu'à la version 1.0, et les applications du Store empaquetées (UWP et MSIX) ne sont pas prises en charge - leur modèle de lancement ne le permet pas.
Le lancer
Décompressez, puis lancez ChronoMock.exe pour la fenêtre ou chrono.exe
pour la ligne de commande. Une première session, ce sont trois décisions : quelle application,
quel moment, et à quelle vitesse l'horloge doit s'écouler.
# Exécuter une application comme si c'était la dernière seconde de 2027 chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59 # La même chose, avec une horloge qui avance d'un jour par minute chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59 --mode x1440
Deux choses à lire d'abord
Sauvegardez le répertoire de données de l'application avant votre première session datée dans le futur.
Une application qui tourne en 2028 écrit des dates de 2028 partout où elle stocke des données : sa base de données, sa configuration, son cache, son fichier de licence. Ces valeurs y restent quand vous revenez à l'heure réelle. Pour un logiciel protégé par licence, cela peut être définitif - « retour en arrière de l'horloge détecté, licence invalidée » est un schéma courant du secteur, et il fera exactement ce pour quoi il a été conçu.
Chrono Mock nettoie derrière lui. Il ne peut pas nettoyer derrière l'application que vous avez testée.
Votre antivirus peut le signaler, et c'est normal.
Le temps est décalé en injectant une petite bibliothèque dans le processus cible. C'est une technique Windows légitime et documentée - et aussi une technique qu'utilisent les logiciels malveillants, si bien que Microsoft Defender et d'autres peuvent signaler la bibliothèque injectée ou bloquer purement et simplement l'injection. C'est un faux positif déclenché par la technique.
Si une session refuse de démarrer et que Defender signale une menace, excluez la bibliothèque et
non le dossier : choisissez Fichier dans Sécurité Windows et donnez le chemin
complet de chrono_hook.dll. Une exclusion de dossier empêcherait d'analyser quoi que
ce soit dans le répertoire même d'où l'outil injecte. Ou lancez-le sur une machine où vous en
avez le droit. La bibliothèque injectée est construite à partir du code de ce dépôt sous GPL-3.0 -
vous pouvez la reconstruire vous-même. Le mode Chromium et Electron n'injecte rien du tout et n'est
pas concerné.
Ce qu'il laisse derrière lui
Rien dans votre système : aucun hook persistant, aucune entrée de registre, et rien en dehors de
son propre dossier, sauf trois choses qu'il vous nomme - l'historique des sessions et le journal de
diagnostic, qui passent dans %LOCALAPPDATA%\ChronoMock\ quand le dossier de l'outil
n'est pas accessible en écriture, et, pour une cible Electron ou Chromium, un profil de navigateur
jetable sous %TEMP%, supprimé à la fin de la session et signalé dans le résumé de la
session s'il n'a pas pu l'être.
Cela décrit les archives zip. L'installateur fait exception et dit ce qu'il ajoute : le
programme dans Program Files, une entrée du menu Démarrer, chrono
dans le PATH de la machine, une entrée dans Paramètres, Applications et la clé
HKLM\Software\DonislawDev\Chrono Mock. La désinstallation retire tout cela et
laisse %LOCALAPPDATA%\ChronoMock\ tranquille. Une autre option, désactivée par
défaut, écrit une valeur de registre pour la durée d'une session et la supprime ensuite :
--elevated-embedded.
Il ne se connecte jamais à Internet, ne tient aucun compte et n'envoie aucune télémétrie.