Trong phần mềm tôi hiện đang làm việc, chúng tôi đã gặp phải một kịch bản mà chúng tôi cần biết liệu phần mềm có được liệt kê là chương trình Khởi động hay không.
Để biết chương trình này có được bật hay không bởi công cụ msconfig, tôi đã sử dụng câu trả lời được đề xuất bởi câu hỏi này .
Tuy nhiên, không phải tất cả các phần mềm đều sử dụng giá trị nhị phân "02 00 00 00 ..." khi được bật, chúng tôi đã gặp một phần mềm có giá trị "06 00 00 00 ...".
Để hiểu rõ hơn, tôi đã phân tích cả hai kịch bản bằng cách đọc các giá trị đăng ký của phần mềm trước khi vô hiệu hóa chúng và sau đó:
- Kịch bản dự kiến đã thay đổi từ
02 00 00 00 00 00 00 00 00 00 00 00
đến03 00 00 00 17 79 BD 01 17 D9 D1 01
; - Kịch bản bất ngờ thay đổi từ
06 00 00 00 00 00 00 00 00 00 00 00
đến07 00 00 00 71 C9 33 AE 16 D9 D1 01
Tôi có xu hướng cho rằng byte đầu tiên chứa câu trả lời đúng. Trong cả hai trường hợp, bit 1 thay đổi từ 0 thành 1. Dường như bit này chứa giá trị hoạt động / không hoạt động. Nhưng tôi vẫn không chắc lắm.
Vì vậy, câu hỏi của tôi là: Tôi có thể giả sử rằng bit này chứa giá trị chính xác, hoặc có ai có câu trả lời tốt hơn cho điều này không?