Tại sao chúng ta cần một chiếc điện thoại đã root để chụp ảnh màn hình trên các phiên bản Android cũ hơn?


21

Tôi nhận ra để chụp ảnh màn hình điện thoại của mình, tất cả các ứng dụng ảnh chụp màn hình đều yêu cầu tôi phải có điện thoại đã root. Tại sao cái này rất? Tại sao chúng ta không thể có một ứng dụng ảnh chụp màn hình đơn giản cho Android, giống như chúng ta có cho Windows?


2
Tôi luôn thấy thú vị khi iPhone triển khai tính năng này trong khi nó là một vấn đề lớn để kích hoạt trên Android.
shambleh

1
Lưu ý rằng vì xấp xỉ Android 4.0, có thể chụp ảnh màn hình bằng cách giữ các nút Giảm âm lượng + Nguồn; đây là chức năng vượt trội, không yêu cầu ứng dụng (lưu ý ở đây cho hậu thế và công cụ tìm kiếm)
Piskvor

Câu trả lời:


17

Câu trả lời khá đơn giản, đó là vấn đề quyền.

Android sử dụng cái được gọi là bộ đệm khung cho màn hình video. Bộ đệm khung được đặt tại / dev / Graphics / fb0. "tập tin" này, về cơ bản là một luồng mà thiết bị ghi vào khi có thay đổi trong giao diện người dùng, chứa ~ 2 khung hình của màn hình.

Các quyền trên tệp bộ đệm khung là rw- rw- ---. Lưu ý rằng "nhóm" cuối cùng có 3 "-" s. Điều đó về cơ bản có nghĩa là nếu bạn không phải là owner(đó là root) thì bạn không có quyền thậm chí đọc từ tệp đó.

Nếu có một ứng dụng được cài đặt hệ thống, có thể chụp ảnh màn hình, nó sẽ có quyền đọc từ bộ đệm khung. Điều mà tôi tin là cách Motorola Xoom có ​​thể chụp ảnh màn hình. Nó có một ứng dụng được cài đặt trên thiết bị, dưới dạng một ứng dụng hệ thống.

Đọc bộ đệm khung, đối với một nhà phát triển, thực sự đơn giản, nếu họ có quyền truy cập để đọc nó.


1
Âm thanh như Google nên cập nhật các quyền vào r--. Điều này có thể tạo ra rủi ro bảo mật nếu bất kỳ ứng dụng nào có thể theo dõi trên màn hình của bạn, nhưng nó sẽ không phải là một trong những quyền ( Ứng dụng này có thể giám sát màn hình của bạn ) mà bạn phải chấp nhận trước khi cài đặt? Dù vậy hay Google nên thêm tính năng chụp màn hình tích hợp trong menu bay ra, sau đó không ai khác có quyền truy cập vào nó. Sau này tôi rất hiểu trường hợp của tôi, ý tôi là họ vừa mới thêm tính năng xem trước bản in vào Chrome.
JD Isaacks

3
Tôi nghĩ rằng mod của o + r sẽ là mối quan tâm bảo mật nếu chỉ có bất kỳ ứng dụng thị trường nào có thể đọc màn hình.
kzh

Tôi nghĩ rằng nó phụ thuộc. Hệ điều hành Windows không ngăn các ứng dụng chụp ảnh màn hình. Cho đến nay, chúng ta đã nghe thấy bất kỳ vấn đề bảo mật gây ra bởi chụp màn hình?
Cheok Yan Cheng

Không cần chụp ảnh màn hình trong windows, có nhiều cách dễ dàng hơn để lấy dữ liệu ra khỏi máy windows. Điện thoại di động, tôi nghĩ, là một mối quan tâm lớn hơn. Chỉ cần nghĩ về các ứng dụng như Square, xử lý thẻ tín dụng. Nếu tôi đã viết một dịch vụ nghe khi thẻ bị quẹt, tôi có thể lấy màn hình và lấy thông tin như số thẻ tín dụng, tên, v.v.
Ryan Conrad

7

Do bảo mật của Android tập trung vào việc tách tất cả các ứng dụng khỏi dữ liệu của nhau, để ngăn các ứng dụng độc hại đánh cắp hoặc thay đổi dữ liệu trong các ứng dụng mà bạn tin tưởng, chúng không thể cho phép ứng dụng chụp ảnh màn hình của các ứng dụng khác.

Hãy suy nghĩ về việc có bao nhiêu ứng dụng của bạn có thể thực hiện những việc như OCR để dịch ảnh thành văn bản, tôi có thể nghĩ về ít nhất bốn ứng dụng trên điện thoại của mình có thể làm điều này, ví dụ điển hình là tiêu đề sách OCRing của Google Goggles và sau đó là OCRing dịch các khối văn bản bằng tiếng nước ngoài. Bây giờ hãy nghĩ xem có bao nhiêu ứng dụng của bạn đưa văn bản lên màn hình mà bạn không muốn thấy một ứng dụng không đáng tin cậy, tôi có một ứng dụng cơ sở dữ liệu mật khẩu trên điện thoại của tôi với một cơ sở dữ liệu được mã hóa mật khẩu của tôi cho các hệ thống khác nhau, một ứng dụng bảo vệ màn hình độc hại có thể chờ cho đến khi ứng dụng mật khẩu đó chạy, hãy chụp ảnh màn hình với các chi tiết đăng nhập trên đó, sau đó OCR chúng và gửi chúng đi. Nó cũng có thể làm tương tự cho mọi thứ trong danh sách Liên hệ của bạn, ngay cả khi bạn không cấp quyền cho ứng dụng cho cơ sở dữ liệu Danh bạ hoặc lịch sử trình duyệt của bạn, hoặc nhật ký trò chuyện và như vậy. Đây chỉ là một cách mà nó có thể lạm dụng quyền truy cập vào màn hình của bạn.

Đây là lý do tại sao để tính năng sàng lọc trở nên phổ biến, nó cần phải có trong HĐH (mà bạn đã tin tưởng với tất cả dữ liệu của mình). Đây là lý do tại sao trên điện thoại có chức năng chụp màn hình tích hợp, nó đã được thêm vào như một phần của hệ thống, chứ không phải là một ứng dụng riêng biệt.

Nếu bạn root điện thoại của mình và cho phép ứng dụng chụp ảnh màn hình, thì bạn đang nói rằng bạn hoàn toàn tin tưởng rằng ứng dụng đó có thể làm mọi thứ mà hệ thống có thể làm, bao gồm truy cập và can thiệp vào các ứng dụng khác và dữ liệu của chúng, và bạn hoàn toàn tin tưởng nó không lạm dụng truy cập đó. Đó không phải là điều mà Android sẽ cho phép mọi thứ ngoại trừ Hệ thống / HĐH thực hiện.


6

Câu trả lời ngắn: Vì 1) máy tính bị phức tạp và 2) chức năng chụp màn hình thực sự không đơn giản (đối với người lập trình, không phải người dùng).

Nói cách khác, chụp ảnh màn hình đòi hỏi quá trình chụp màn hình phải móc khá sâu vào phần bên trong của hệ điều hành, gây rối với chúng một chút và không mở lại. Vì Android cố gắng có một mô hình bảo mật tích hợp (trái ngược với "suy nghĩ bắt đầu" được thấy trong Windows), nên chụp ảnh màn hình trên một số rào cản bảo mật. Những thứ đó có thể được bỏ qua, nhưng cách duy nhất hiện nay (không tạo ra lỗ hổng - và các lỗ hổng tiềm ẩn - trong kernel) là sử dụng tài khoản root toàn năng, không bị giới hạn.


1
Tôi không biết nhiều về phần cứng máy tính hoạt động, nhưng tôi cho rằng GPU sẽ gửi một "hình ảnh" đến màn hình. Không thể hình ảnh đó bị chặn và lưu lại?
JD Isaacks

2
@ John Johnacks, về cơ bản là những gì xảy ra với bộ đệm khung. xem câu trả lời của tôi là tại sao nó vẫn yêu cầu root.
Ryan Conrad
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.