Chỉnh sửa số sê-ri


19

Trên diễn đàn chính thức của raspberrypi.org , "Dom" - một người điều hành đã viết:

Tôi đã làm mờ bảng của tôi để có số sê-ri của bạn

Làm cách nào để chỉnh sửa số sê-ri của Raspberry Pi?


5
1. Tại sao? Tại sao không? Không học mọi thứ toàn bộ quan điểm của PI?
Một Simon khác

4
2. Ăn cắp lại - thời gian của tôi đáng giá hơn 2 bảng tôi sẽ tiết kiệm, nhưng tôi chắc chắn rằng bạn có nghĩa là "Bạn" chung chung
Một Simon khác

3
3. Dom không huyền diệu, nhưng rất hiểu biết. Anh ta đã sử dụng phiên bản Pi của đĩa mềm khởi động HP setys cũ hay ghi dữ liệu vào một trong các chân GPIO hay cái gì khác? Đó là câu hỏi của tôi.
Một Simon khác

3
Tôi đã cập nhật câu trả lời của mình và thêm một lời xin lỗi. Chúng tôi không ở đây để thảo luận về đạo đức của mọi thứ. Chúng tôi ở đây để đặt câu hỏi và nhận câu trả lời. Cũng upvote vì đó là một câu hỏi rất tốt.
Vincent P

2
Tại sao không biên dịch kernel tùy chỉnh trả về bất kỳ serial nào bạn thích /proc/cpuinfo? Không chắc chắn nếu điều đó sẽ giúp với các bộ giải mã blobs mặc dù ..
oberstet

Câu trả lời:


9

Tôi đang sao chép điều này từ chủ đề diễn đàn này .

Dom có ​​quyền truy cập vào tất cả các mã nguồn, trình gỡ lỗi Videocore và nhiều công cụ cụ thể của VC đã đóng. Và việc phát hành bất kỳ thông tin nào để cho phép bạn thay đổi số sê-ri sẽ phá vỡ cơ chế cấp phép codec, vì vậy sẽ không bao giờ xảy ra.

Ngoài ra như được đăng trong chủ đề. Lý do duy nhất để thay đổi sê-ri là sao chép giấy phép MP4 của người khác và sử dụng nó. Vì đó là sự bảo mật xung quanh việc cấp phép. Sê-ri duy nhất của bạn được liên kết với giấy phép MP4, vì vậy ngay cả khi ai đó có khóa cấp phép của bạn, họ sẽ không thể làm gì với nó (trừ khi họ có thể thay đổi số sê-ri của Raspberry Pi.

CẬP NHẬT: Để trả lời câu hỏi thực tế. Tôi muốn nói rằng vì Dom có ​​nguồn cho phần sụn cấp thấp thực tế. Tôi tưởng tượng rằng anh ta thực sự chỉ thay đổi mã nguồn đọc nối tiếp và buộc nó phải trả về một giá trị khác. Tôi thực sự nghi ngờ rằng nó thực sự đã được thay đổi (ý tôi là về CPU), giống như anh ấy đã thay đổi một số mã phần sụn để trả về một chuỗi khác. Cũng xin lỗi người hỏi, tất cả chúng tôi chỉ đưa cho bạn một câu "Tại sao? Điều đó không hay. Ăn cắp của bạn" thay vì trả lời câu hỏi. Lỗi của tôi.


2
Cảm ơn bạn đã xin lỗi và cố gắng trả lời câu hỏi của bạn. "Tôi tưởng tượng rằng anh ấy ..." câu trả lời loại rất tốt cho mục đích thảo luận, nhưng câu trả lời được chấp nhận hy vọng sẽ ở dạng "Nó được thực hiện thông qua tiện ích xyz chỉ dành cho nhân viên Broadcom ..." vv
Một Simon khác

2
Tôi hơi ngạc nhiên khi giả định rằng số sê-ri sẽ chỉ được thay đổi cho mục đích bất chính là rất phổ biến trên thiết bị Linux. Tôi muốn chuyển nó thành "tại sao tôi phải cho phép bên thứ 3 xác định hệ thống của tôi một cách duy nhất"? Tôi thấy nó, trong số những thứ khác, một vấn đề riêng tư. Tại sao? Đó là việc của tôi.
bobstro

6

Đối với các chương trình không gian người dùng có liên quan, thật dễ dàng để đánh lừa chúng và giả mạo nội dung của bất kỳ tệp nào. Ví dụ: giả sử một chương trình C đang sử dụng /proc/cpuinfotệp để xác minh số sê-ri. Chương trình được bảo vệ bản sao và gắn liền với sê-ri và tôi không có mã nguồn. Tuy nhiên, tôi vẫn có thể chạy strace program 2>&1 | grep cpuinfo, điều này sẽ tiết lộ một cái gì đó như:

open("/proc/cpuinfo", O_RDONLY) = 3

Tại thời điểm này, tôi có thể tạo một thư viện nhỏ, cpuinfo.sovới chức năng sau:

int open(const char *file, int flags) {
    static int (*real_open)(const char *file, int flags);
    if(!real_open) real_open = dlsym(RTLD_NEXT, "open");
    if(!strcmp(file, "/proc/cpuinfo")) file = "/tmp/cpuinfo";
    return real_open(file, flags);
}

Như bạn có thể thấy, tôi đang kiểm tra xem người dùng của thư viện có cố mở không /proc/cpuinfo, trong trường hợp đó tôi mở /tmp/cpuinfothay thế.

Sau đó, tôi sẽ chạy chương trình được bảo vệ bản sao gốc LD_PRELOAD=/path/to/cpuinfo.so programvà nó sẽ vui vẻ đọc tệp giả mạo của tôi với suy nghĩ đó /proc/cpuinfo, trong khi hoạt động chính xác với các tệp còn lại.

Lưu ý rằng nếu phần mềm được bảo vệ bản sao bao gồm các đối tượng kernel, sẽ khó đánh lừa hơn nhiều, vì nó có thể truy cập trực tiếp vào phần cứng. Tuy nhiên, phần mềm như vậy cũng sẽ chỉ hoạt động với kernel được xây dựng, khiến nó không thực tế để phân phối.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.