Có cách nào để xem nội dung của bộ nhớ RAM không? Từ byte đầu tiên cho đến byte cuối cùng. Tôi muốn xem HĐH và tất cả các tiến trình đang chạy trên nó được đặt trong RAM. Điều này có thể không?
Có cách nào để xem nội dung của bộ nhớ RAM không? Từ byte đầu tiên cho đến byte cuối cùng. Tôi muốn xem HĐH và tất cả các tiến trình đang chạy trên nó được đặt trong RAM. Điều này có thể không?
Câu trả lời:
Bạn có thể sử dụng trình gỡ lỗi kernel, cho phép truy cập bộ nhớ "thô", như SoftICE cho Windows . Bạn cũng có thể định cấu hình GDB để hoạt động như một trình gỡ lỗi cho nhân Linux . Nếu một máy ảo là một tùy chọn, một số phần mềm ảo hóa hỗ trợ lưu trạng thái của máy (bao gồm RAM) vào đĩa, sau đó có thể được phân tích thêm . Tuy nhiên, cần lưu ý rằng hầu hết các hệ điều hành "hiện đại" sử dụng ngẫu nhiên bố cục không gian địa chỉ (ASLR). Bản đồ bộ nhớ vật lý thực sự của hệ thống được phân chia một cách có chủ đích để giúp giảm thiểu các vấn đề bảo mật và khai thác khác nhau (ví dụ như bộ đệm stack / heap tràn).
Tuy nhiên, đối với một chương trình nhất định chạy trong một hệ điều hành hiện đại, bạn có thể có được bản đồ bộ nhớ logic cho một quy trình / luồng đã cho - miễn là bạn có các biểu tượng gỡ lỗi và trình gỡ lỗi thích hợp. Nếu bạn muốn có một cái nhìn tổng thể, nếu phần mềm / phần cứng sử dụng bộ nhớ ảo , tình hình sẽ trở nên phức tạp hơn nhiều. Một lần nữa, nếu bạn thực sự muốn những gì chỉ có trên RAM, hãy xem đoạn đầu tiên.
Trên Windows, nội dung của bộ nhớ vật lý có thể được truy cập thông qua \Device\PhysicalMemory
đối tượng trong Trình quản lý đối tượng . Điều này đòi hỏi quyền truy cập cấp kernel vào hệ thống, có nghĩa là bạn sẽ cần cài đặt một chương trình, rất có thể là trình điều khiển chế độ kernel, để truy cập đối tượng này.
Trên Linux, nội dung của bộ nhớ vật lý có thể được truy cập trực tiếp dưới dạng dữ liệu nhị phân bằng cách đọc /dev/mem
dưới dạng root
. Xem / dev / mem là gì? và mem(4)
trang người đàn ông để biết thêm chi tiết.
Tôi không chắc tại sao bạn cần xác định vị trí của hệ điều hành và các quy trình trong bộ nhớ vật lý, mặc dù ...
\DevicePhysicalMemory
đối tượng không thể được mở từ chế độ người dùng. RAMmap và hầu hết các công cụ hệ thống khác bao gồm trình điều khiển chế độ nhân để thực hiện phần công việc đó.