Chrono Mock
Ngôn ngữTiếng Việt

Tải Chrono Mock

Hai bản dựng của cùng một công cụ: một cửa sổ để khám phá và một dòng lệnh cho CI. Giải nén bản nào cũng được ở bất kỳ đâu rồi chạy - không trình cài đặt, không mục registry, không cần quyền quản trị viên. Hoặc cài tệp .msi đã ký cho mọi tài khoản trên máy: quyền quản trị viên một lần, để cài đặt, không cần để chạy.

TệpĐó là gìDung lượng
ChronoMock-app-win-x64.zip Ứng dụng máy tính để bàn, độc lập - không cần cài .NET ~70 MB
ChronoMock-app-win-x64.msi Ứng dụng máy tính để bàn và dòng lệnh, được cài cho mọi tài khoản trên máy: một mục trong menu Start và chrono trong PATH ~58 MB
ChronoMock-cli-win.zip Chỉ là công cụ dòng lệnh, dành cho CI và script ~2,4 MB

Bạn cần gì

  • Windows 10 hoặc Windows 11. Không có bản dựng cho macOS hay Linux - trên Linux, libfaketime đã làm tốt việc này.
  • Không cần gì khác. Bản dựng máy tính để bàn mang theo runtime của riêng nó, còn bản dựng dòng lệnh không mang theo gì cả.
  • Hỗ trợ cả ứng dụng 32-bit lẫn 64-bit. Gói cung cấp cả hai, và chọn bản khớp với ứng dụng mà bạn trỏ tới.

ARM64 nằm ngoài phạm vi cho đến phiên bản 1.0, và các ứng dụng Store đóng gói (UWP và MSIX) không được hỗ trợ - mô hình khởi chạy của chúng không cho phép.

Cách chạy

Giải nén, rồi chạy ChronoMock.exe để dùng cửa sổ hoặc chrono.exe để dùng dòng lệnh. Phiên đầu tiên gồm ba quyết định: ứng dụng nào, thời điểm nào, và đồng hồ nên chạy nhanh đến mức nào.

# Chạy một ứng dụng như thể đây là giây cuối cùng của năm 2027
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59

# Điều tương tự, với đồng hồ chạy một ngày mỗi phút
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59 --mode x1440

Hai điều cần đọc trước

Hãy sao lưu thư mục dữ liệu của ứng dụng trước phiên đầu tiên đặt ngày trong tương lai.

Một ứng dụng chạy ở năm 2028 sẽ ghi các ngày năm 2028 vào bất cứ nơi nào nó lưu dữ liệu: cơ sở dữ liệu, cấu hình, bộ nhớ đệm, tệp giấy phép. Các giá trị đó vẫn ở đó sau khi bạn trở về giờ thật. Với phần mềm có bảo vệ bản quyền, điều này có thể là vĩnh viễn - “clock rollback detected, licence invalidated” là một mẫu chuẩn trong ngành, và nó sẽ làm đúng điều nó được thiết kế để làm.

Chrono Mock tự dọn dẹp sau khi dùng. Nó không thể dọn dẹp sau ứng dụng mà bạn đã kiểm thử.

Phần mềm diệt virus của bạn có thể cảnh báo, và điều đó là bình thường.

Thời gian được dịch chuyển bằng cách chèn một thư viện nhỏ vào tiến trình mục tiêu. Đó là một kỹ thuật Windows hợp pháp, có tài liệu - và cũng là kỹ thuật mà mã độc dùng, nên Microsoft Defender và các phần mềm khác có thể gắn cờ thư viện được chèn hoặc chặn hẳn việc chèn. Đó là một cảnh báo giả do chính kỹ thuật gây ra.

Nếu một phiên từ chối khởi động và Defender báo có mối đe dọa, hãy loại trừ thư viện chứ không phải thư mục: chọn File trong Windows Security và nhập đường dẫn đầy đủ tới chrono_hook.dll. Loại trừ cả thư mục sẽ khiến không có gì được quét ngay trong thư mục mà công cụ chèn mã từ đó. Hoặc chạy nó trên máy mà bạn được phép làm vậy. Thư viện được chèn được dựng từ mã trong kho này theo GPL-3.0 - bạn có thể tự dựng lại. Chế độ Chromium và Electron hoàn toàn không chèn mã và không bị ảnh hưởng.

Nó để lại gì

Không để lại gì trong hệ thống của bạn: không có hook tồn tại lâu dài, không có mục registry, và không có gì bên ngoài thư mục của chính nó, ngoại trừ ba thứ mà nó sẽ nêu tên cho bạn - lịch sử phiên và nhật ký chẩn đoán, được chuyển sang %LOCALAPPDATA%\ChronoMock\ khi thư mục riêng của công cụ không ghi được, và, với mục tiêu Electron hoặc Chromium, một hồ sơ trình duyệt dùng một lần trong %TEMP%, được xóa khi phiên kết thúc và được báo trong bản tóm tắt phiên nếu không xóa được.

Điều đó mô tả các tệp zip. Trình cài đặt là ngoại lệ và nói rõ nó thêm gì: chương trình trong Program Files, một mục menu Start, chrono trong PATH của máy, một mục trong Cài đặt, Ứng dụng và khóa HKLM\Software\DonislawDev\Chrono Mock. Gỡ cài đặt xóa tất cả những thứ đó và để yên %LOCALAPPDATA%\ChronoMock\. Một tùy chọn nữa, mặc định tắt, ghi một giá trị registry trong suốt một phiên rồi xóa nó sau đó: --elevated-embedded.

Không bao giờ kết nối internet, không giữ tài khoản và không gửi telemetry.