Chrono Mock
اللغةالعربية

شغّل تطبيق Windows في أي تاريخ دون المساس بساعة النظام

اضبط ساعة تطبيق واحد على العام القادم، أو أوقفها، أو سرّعها حتى تنتهي فترة تجريبية مدتها 30 يومًا بينما تُعدّ فنجان قهوة. أما بقية الجهاز فتبقى على الوقت الحقيقي، فيستمر تسجيل دخولك إلى النطاق وشهاداتك وكل برنامج آخر في العمل كالمعتاد.

ثم يخبرك هل نجح الاستبدال فعلًا.

مجاني ومفتوح المصدر بترخيص GPL-3.0 محمول أو مثبّت لا يحتاج التشغيل إلى صلاحيات المسؤول لا يتصل بالإنترنت أبدًا

كيف تبدو الجلسة

ما يراه التطبيق
2027-12-31
23:59:50
منطقة الجلسة -05:00
ما يزال الجهاز يرى
2026-09-04
18:12:33
منطقة المضيف +02:00
يعمل - وصل الاستبدال إلى هذه العملية
قنوات الوقت المُراقَبة حتى 44 · لكل منها عدد استدعاءاته
لوحة الجلسة في Chrono Mock. تُظهر ساعة التطبيق 2038-01-19 03:14:14 وبجانبها الساعة الحقيقية 2026-09-22 15:50:30، ولكل منهما زمنه المنقضي. وتحتهما السرعات من x1 إلى x1440 مع زر Freeze، ثم القفزات النسبية والقفز إلى تاريخ يُكتب، وفي التذييل علامة صح خضراء بجانب كلمة Works وبجانبها زر Stop session الأحمر.
جلسة قيد التشغيل. التطبيق في عام 2038 والجهاز ليس كذلك، والحكم يقول إن الاستبدال وصل إليه.

لماذا هذه الأداة

اختبار أي شيء يعتمد على التاريخ يعني تحريك الوقت، وكلا الخيارين المعتادين سيئ.

انتهاء التراخيص، والفترات التجريبية، وتجديد الاشتراكات، وصلاحية الشهادات، وأعمار الرموز المميّزة، وتقارير نهاية الشهر والسنة، واحتساب الفوائد، والتذكيرات.

الخيار الأول - تغيير ساعة النظام

يُفسد تسجيل الدخول إلى النطاق وKerberos، ويُبطل شهادات TLS فيتوقف المتصفح عن العمل، ويُربك Windows Update، ويجعل كل تطبيق آخر على الجهاز يكتب طوابع زمنية خاطئة. وعلى الجهاز المنضم إلى نطاق تمنع سياسة المجموعة التغيير عادةً أو تعيده بعد دقائق، فلا يصير الاختبار قابلًا للتكرار أصلًا.

الخيار الثاني - الانتظار

أي: لا تختبر. فتُهمَل الحالات المرتبطة بالتاريخ، ويصل إلى العميل منتج «الترخيص لا ينتهي أبدًا».

ما الذي يفعله

عملية واحدة تتحرك عبر الزمن، وكل شيء آخر على الجهاز لا يتحرك.

أي لحظة

تاريخ ووقت محدّدان، أو لحظة نسبية - +30 days أو -1 year.

جارية أو متوقفة أو مُسرَّعة

سرعة عادية، أو ساعة مثبّتة، أو مُضاعِف بعدد صحيح. x1440 يحوّل اليوم إلى دقيقة.

منطقة زمنية خاصة به

إزاحة ثابتة لتلك العملية وحدها، بينما تبقى منطقة النظام كما كانت تمامًا.

العمليات الفرعية ترافقه

برامج التثبيت والمشغّلات تُنشئ عمليات فرعية. وبدون ذلك يغطي الاختبار نصف ما جرى تشغيله فقط.

قفز أثناء الجلسة

إلى الأمام أو إلى الخلف - بما في ذلك القفزة إلى الخلف التي يُحدثها الحاسوب المحمول بعد المزامنة مع خادم الوقت.

Electron وChromium أيضًا

عبر آلية مختلفة، لأن ساعتهما تعيش في عملية عرض معزولة لا يصل إليها الحقن.

ما لا يفعله أحد غيرنا

كيف تعرف أنه نجح؟

مع أي أداة أخرى لا تعرف. يبدأ التطبيق ويعرض تاريخًا ما، وأنت تفترض. لكنه قد يقرأ الساعة عبر قناة لم تعترضها الأداة - من خادم، أو من قاعدة بيانات، أو عبر طبقة في بيئة التشغيل - وحينها لا يعني «نجح الاختبار» شيئًا على الإطلاق.

  • ←حكم قبل أن يبدأ الاختبار الحقيقي: يعمل / يعمل جزئيًا / لا يعمل
  • ←أيٌّ من قنوات الوقت البالغ عددها 44 غُطّيت، وكم مرة استعلم التطبيق عن كل منها
  • ←أي القنوات لم تُغطَّ - يُذكر ذلك صراحةً ولا يُحذف أبدًا
  • ←تحذيرات مرفقة بعواقبها: «يقرأ هذا التطبيق الوقت من الشبكة - وقد لا يكفي الاستبدال المحلي»

كيف يعمل تدقيق مصدر الوقت ←

دقيقتان معه

نافذة للاستكشاف، وسطر أوامر لـ CI. المحرّك نفسه خلف الاثنين.

# شغّل تطبيقًا كأنه آخر ثانية من عام 2027
chrono run "C:\apps\test.exe" --at 2027-12-31T23:59:59

# شاهد فترة تجريبية مدتها 30 يومًا تنتهي وأنت تُعدّ القهوة: المضاعف 1440 يعني يومًا كل دقيقة
chrono run "C:\apps\test.exe" --mode x1440

# استخدم سيناريو مسمّى بدل التاريخ، واكتب الأدلة في ملف
chrono run "C:\apps\test.exe" --preset year-rollover --report session.txt

تجيب الحاسبة عن النصف الآخر من اختبار التواريخ - أي تاريخ تستخدم:

$ chrono calc --preset year-2038 --zone +00:00
Chrono Mock - date calculator
  preset:   year-2038 - 2038 boundary
  explains: Does the app survive the 32-bit Unix time boundary (2038-01-19T03:14:07Z)?
  base:    2038-01-19T03:14:07
  result:  2038-01-19T03:14:07
  formats:
    ISO date      2038-01-19
    ISO datetime  2038-01-19T03:14:07+00:00
    US            01/19/2038
    PL            19.01.2038
    epoch (s)     2147483647
    epoch (ms)    2147483647000
    FILETIME      137919572470000000
    RFC 1123      Tue, 19 Jan 2038 03:14:07 GMT
  ...
  what this date lands on:
    at or past the 2038-01-19T03:14:07Z 32-bit time_t limit (Y2038)

مقارنة بما تستخدمه غالبًا

مثل RunAsDate، مع الأجزاء التي كانت ناقصة

يعترض RunAsDate خمس دوال لساعة الحائط ويؤدي ذلك جيدًا. وفيما يلي الفروق بين الأداتين - وتذكر الصفحة الكاملة أيضًا أين يبقى RunAsDate الخيار الأفضل.

 RunAsDateChrono Mock
يشغّل تطبيقًا واحدًا بتاريخ مزيّفنعمنعم
قنوات الوقت المُعترَضة544 (30 مُزاحة، 14 معدودة فقط)
تسريع الساعةلانعم
منطقة زمنية مستقلةغير موثّقنعم
يتبع العمليات الفرعيةغير موثّقنعم
يخبرك هل نجحلانعم، لكل قناة
الشيفرة المصدرية متاحةبرنامج مجاني مغلق المصدرGPL-3.0

المقارنة الكاملة، بما فيها المواضع التي يتفوّق فيها RunAsDate ←

احصل عليه

فُكّ الضغط في أي مكان وشغّله، أو ثبّت ملف .msi الموقّع لكل حساب على الجهاز. لا يحتاج التشغيل إلى صلاحيات المسؤول، ولا تكتب ملفات zip أي شيء في السجل.