Làm thế nào để ghi vào không gian địa chỉ của một quá trình khác bằng cách sử dụng python trong Ubuntu Linux? Nỗ lực của tôi:Python: ghi vào bộ nhớ của một quá trình khác theo linux
1) Sử dụng tệp ảo/proc/$ PID/mem và tìm kiếm địa chỉ. Tôi đã sử dụng thành công nó để đọc bộ nhớ, nhưng cố gắng viết gây ra IOError:
fd=open("/proc/"+pid+"/mem","r+")
fd.seek(address,0)
fd.write("ABC")
Output:
IOError: [Errno 22] Invalid argument
2) Cố gắng sử dụng thư viện python-ptrace như đề xuất trong đề khác. Tuy nhiên, tôi không thể tìm thấy tài liệu hay mã ví dụ hay.
Lưu ý: đây không phải là vấn đề về quyền, chạy khi root tạo ra cùng một hành vi.
'rw' không phải là giá trị chế độ hợp lệ cho' mở() '. Để mở một tệp cho cả đọc và viết, bạn phải sử dụng 'r +' để thay thế. –
Bạn có chắc chắn không thích hợp hơn khi sử dụng IPC rõ ràng (có thể bao gồm btw bộ nhớ chia sẻ) không? –
Thay đổi 'rw' thành 'r +' nhưng tôi vẫn nhận được IOError – user1998059