คำถามและคำตอบ
คำตอบสั้น ๆ รวมถึงเรื่องที่เครื่องมือนี้จะไม่ทำ
มันเปลี่ยนนาฬิกาของคอมพิวเตอร์ฉันไหม?
ไม่ และจะไม่เปลี่ยนเด็ดขาด - นั่นคือจุดประสงค์ทั้งหมดของเครื่องมือนี้ เวลาที่ถูกเลื่อนมองเห็นได้เฉพาะหนึ่งโพรเซสและโพรเซสย่อยที่มันเริ่ม การล็อกอินโดเมน ใบรับรอง Windows Update และแอปอื่นทุกตัวเห็นวันที่จริงตลอดเวลา
ต้องใช้สิทธิ์ผู้ดูแลระบบไหม?
ไม่ต้องใช้เพื่อรัน ไฟล์ zip ไม่ต้องมีตัวติดตั้ง ไม่เขียนอะไรลงรีจิสทรี และรันได้จากโฟลเดอร์ที่พกใส่แฟลชไดรฟ์ USB ได้ ส่วน .msi ที่เป็นทางเลือกต้องใช้สิทธิ์ผู้ดูแลระบบหนึ่งครั้งตอนติดตั้ง เพราะมันติดตั้งให้ทุกบัญชีบนเครื่อง
มันจะใช้ได้กับแอปของฉันไหม?
คำตอบที่ซื่อสัตย์คือเครื่องมือประเภทนี้ไม่มีตัวไหนสัญญาล่วงหน้าได้ - เครื่องมือนี้จึงวัดผลแทน ทุกเซสชันจบด้วยผลสรุป (ใช้งานได้ ใช้งานได้บางส่วน ใช้งานไม่ได้) รายการช่องทางเวลาที่แอปอ่านจริงพร้อมจำนวนครั้งที่เรียกของแต่ละช่อง และรายการช่องทางที่ไม่ได้ครอบคลุม
แอปอาจอ่านนาฬิกาผ่านเส้นทางที่ไม่มีอะไรดักไว้ - จากเซิร์ฟเวอร์ จากฐานข้อมูล ผ่านเลเยอร์รันไทม์ เมื่อเกิดเรื่องนี้ คุณจะได้รับแจ้ง แทนที่จะถูกปล่อยให้เข้าใจเอาเองว่าการทดสอบผ่าน
ใช้กับแอป .NET, Java และ Python ได้ไหม?
ได้บางส่วน และความแตกต่างสำคัญ ทั้งสามถูกระบุว่าทดลอง: ทำงานได้กับเป้าหมายทดสอบ ยังไม่ได้ทดสอบอย่างกว้างขวาง และการตรวจสอบในตัวคือแหล่งความจริงของคุณ ไม่ใช่ย่อหน้านี้
- .NET - นาฬิกาติดผนังและเขตเวลาของเซสชันครอบคลุมแล้ว
Stopwatchยังอยู่บนตัวนับความละเอียดสูงจริง เว้นแต่คุณเลือกเปิดการปรับสเกล - Java - นาฬิกาติดผนัง เวลาที่ผ่านไป และเขตเวลาของเซสชันครอบคลุมแล้ว เขตเวลามาเป็นออฟเซ็ตคงที่ ตั้งชื่อแบบ
GMT+05:30 - Python -
time.timeและdatetimeครอบคลุมแล้วperf_counterและmonotonicใน Python 3.13 ขึ้นไปอยู่บนตัวนับความละเอียดสูง เว้นแต่คุณเลือกเปิด
ใช้กับแอป Electron และ Chromium ได้ไหม?
ได้ ผ่านกลไกอีกแบบหนึ่ง นาฬิกาของมันอยู่ในเรนเดอเรอร์แบบแซนด์บ็อกซ์ที่การฉีดเข้าไปไม่ถึง แอปจึงถูกเปิดพร้อมพอร์ตดีบักและโปรไฟล์ชั่วคราวที่สะอาด และ API เวลา JavaScript ของมันเองถูกย้ายไปอยู่บนนาฬิกาของเซสชัน - รวมถึงภายใน Web Worker ซึ่งตัวจับเวลามักอยู่จริง
ข้อจำกัดหนึ่งที่ควรรู้ คือโพรเซสหลักของแอปพลิเคชัน Electron รันใน Node ซึ่งเซสชันเข้าไม่ถึง จึงใช้นาฬิกาจริงต่อไป และรายงานจะบอกเรื่องนี้ ส่วนหน้าเว็บและ worker ของมันอ่านเขตเวลาของเซสชัน
โหมด Chromium และ Electron ทำงานอย่างไร - สิ่งที่มันไปถึง สิ่งที่ไปไม่ถึง และเหตุใดพอร์ตดีบักจึงเป็นส่วนที่ต้องระวัง
ทำให้เวลาเดินเร็วกว่าเวลาจริงได้ไหม?
ได้ เลือกตัวคูณที่เป็นจำนวนเต็ม แล้วนาฬิกาของแอปจะเดินด้วยความเร็วนั้น - x1440 ทำให้หนึ่งวันเหลือหนึ่งนาที ช่วงทดลองใช้ 30 วันจึงหมดลงในราวครึ่งชั่วโมง คุณยังหยุดนาฬิกาไว้ หรือกระโดดไปข้างหน้าและถอยหลังกลางเซสชันได้
การนับถอยหลังและตัวจับเวลาอยู่บนอีกแกนหนึ่ง และการเร่งมันเป็นสวิตช์แยกต่างหาก เพราะการปรับสเกลมันเปลี่ยนพฤติกรรมที่แอปจำนวนมากพึ่งพา
เปลี่ยนเฉพาะเขตเวลาโดยไม่เปลี่ยนวันที่ได้ไหม?
ได้ เซสชันมีออฟเซ็ตคงที่ของตัวเอง ซึ่งโพรเซสนั้นมองเห็น ขณะที่เขตเวลาของระบบอยู่ที่เดิมทุกประการ นี่คือส่วนที่เครื่องมือส่วนใหญ่ข้ามไป และเป็นวิธีที่คุณจะทำซ้ำบั๊กที่ปรากฏเฉพาะกับลูกค้าที่อยู่ห่างออกไปห้าเขตเวลา
แล้วเวลาออมแสงล่ะ?
เขตเวลาของเซสชันเป็นออฟเซ็ตคงที่ที่ไม่มีเวลาออมแสง เซสชันที่ตั้งเป็นโปแลนด์จะอยู่ที่ออฟเซ็ตที่คุณเลือกไม่ว่านาฬิกาของมันจะอ่านเดือนมีนาคมหรือกรกฎาคม ดังนั้นการรันที่ข้ามการเปลี่ยนผ่านจริงจะคลาดไปหนึ่งชั่วโมงจากที่เขตเวลานั้นจะแสดงจริง
การบังคับให้แอปผ่านการเปลี่ยนผ่านของเวลาออมแสงจึงยังไม่ใช่สิ่งที่เครื่องมือนี้ทำ และเครื่องคิดเลขวันที่บอกเรื่องนี้แทนที่จะเดา
ทำไมโปรแกรมป้องกันไวรัสของฉันจึงแจ้งเตือน?
เพราะการฉีดไลบรารีเข้าไปในอีกโพรเซสเป็นเทคนิคที่ถูกต้องและมีเอกสารของ Windows ซึ่งมัลแวร์ก็ใช้เช่นกัน นี่คือการแจ้งเตือนผิดพลาดที่เกิดจากตัวเทคนิค ไม่ใช่จากสิ่งใดที่เครื่องมือทำกับเครื่องของคุณ ไลบรารีที่ถูกฉีดคือ chrono_hook.dll สร้างจากซอร์สสาธารณะภายใต้ GPL-3.0 และคุณบิลด์เองใหม่ได้ โหมด Chromium และ Electron ไม่ฉีดอะไรเลย
หน้าดาวน์โหลดบอกว่าควรทำอย่างไร
นี่เป็นวิธีต่ออายุช่วงทดลองใช้หรือเลี่ยงไลเซนส์หรือเปล่า?
ไม่ และมันไม่ได้ถูกสร้างมาเพื่อสิ่งนั้น Chrono Mock มีไว้ทดสอบซอฟต์แวร์ที่คุณรับผิดชอบ - ไลเซนส์หมดอายุของคุณเอง ตรรกะการต่ออายุของคุณเอง รายงานสิ้นเดือนของคุณเอง ไม่มีตัวอย่าง พรีเซ็ต หรือหน้าใดที่นี่จะสาธิตการต่ออายุช่วงทดลองของคนอื่น
ซอฟต์แวร์ที่มีการป้องกันไลเซนส์แท้จริงแล้วเป็นกรณีที่มีแนวโน้มจะเอาชนะเครื่องมือนี้ที่สุด: โค้ดป้องกันการแก้ไขมักอ่านเวลาผ่านเส้นทางที่ถูกเลือกมาให้ดักยาก และการย้อนนาฬิกากลับเป็นเงื่อนไขที่ซอฟต์แวร์แบบนั้นถูกเขียนมาเพื่อตรวจจับ มีฟีเจอร์ที่ชี้ไปทางตรงข้ามอยู่ในแผน - โหมดที่รันการปรับเวลาหลายแบบต่อเนื่องกับแอปของคุณเอง และรายงานว่าการป้องกันของคุณจับแบบไหนได้บ้าง
ใช้ในระบบอินทิเกรตต่อเนื่องได้ไหม?
ได้ บิลด์บรรทัดคำสั่งเป็นการดาวน์โหลดแยกต่างหากขนาดราว 2.4 MB ไม่ต้องติดตั้งรันไทม์ ทุกคำสั่งรองรับ --json และออกด้วยรหัสที่ไปป์ไลน์แตกสาขาตามได้ และเซสชันเขียนหลักฐานลงไฟล์ได้
ต่างจาก RunAsDate อย่างไร?
RunAsDate ดักฟังก์ชันนาฬิกาแขวนผนังห้าตัวและทำได้ดี เครื่องมือนี้เฝ้าดูช่องทางเวลา 44 ช่องและย้าย 30 ช่องไปใช้นาฬิกาของเซสชัน เร่งนาฬิกาได้ ให้เขตเวลาของตัวเองแก่โพรเซส ตามไปถึงโพรเซสย่อย และบอกคุณภายหลังว่าช่องทางใดถูกครอบคลุมจริง ทั้งยังเป็นโอเพนซอร์ส ขณะที่ RunAsDate เป็นฟรีแวร์ปิดซอร์ส ในทางกลับกัน RunAsDate เกาะเข้ากับแอปพลิเคชันที่กำลังทำงานอยู่ได้ แต่เครื่องมือนี้ทำไม่ได้
การเปรียบเทียบฉบับเต็มยังบอกด้วยว่า RunAsDate เป็นตัวเลือกที่ดีกว่าในกรณีใด
นี่คือ libfaketime สำหรับ Windows หรือเปล่า?
ในแง่แนวคิด ใช่ - ความคิดเดียวกันที่เลื่อนเวลาให้โปรแกรมเดียวแทนที่จะเลื่อนทั้งเครื่อง แต่ในทางปฏิบัติเป็นการทำงานคนละแบบ เพราะ libfaketime พึ่งพา LD_PRELOAD ซึ่งไม่มีบน Windows มีหน้าหนึ่งที่พูดถึงเรื่องนี้โดยเฉพาะ
ฟรีไหม และส่งอะไรไปที่ไหนหรือเปล่า?
ฟรีและโอเพนซอร์สภายใต้ GPL-3.0 ไม่ต้องมีบัญชี ไม่มีเทเลเมทรี และไม่เชื่อมต่ออินเทอร์เน็ตเลย - เครื่องมือทั้งตัวทำงานได้แม้ถอดสายเครือข่ายออก
หน้าต่างโปรแกรมมีตัวควบคุมสองอันที่พาออกไปข้างนอก จึงควรระบุไว้แทนที่จะปล่อยให้คุณไปพบเอง: ปุ่ม Donate และปุ่ม GitHub บนแถบชื่อเรื่อง การกดปุ่มใดปุ่มหนึ่งจะส่งที่อยู่ให้เบราว์เซอร์ของคุณ และเบราว์เซอร์ของคุณคือสิ่งที่เชื่อมต่อ Chrono Mock ไม่เปิดการเชื่อมต่อใด ๆ ไม่ว่ากรณีไหน และสิ่งที่มันวัดจากแอปของคุณไม่ถูกส่งไปที่ใด