Chrono Mock
LangueFrançais

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.

FichierCe que c'estTaille
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.