나는 드라이버가 ioctl을 통해 나를 제공하는 실제 메모리 주소를 가지고있다. 어떻게 리눅스에서 내 응용 프로그램에 액세스 할 수 있습니다.userspace에서 리눅스의 물리적 메모리에 접근하는 방법?
2
A
답변
5
당신이 절대적으로, 유효한 사용자 공간의 사본을 얻을 수 copy_to_user()
를 사용하는 거라고 사용자 공간에서 그 액세스하려면 헤더 <unistd.h>
열기는/dev/MEM 보통
3
에서 함수의 mmap과 mprotect가를 사용해야하는 경우.
4
이것은 악의입니다.이 접근법에 미묘한 문제가있을 수 있으며 메모리를 손상시킬 가능성이 큽니다. abyx가 말한 것처럼 IOCTL 자체가 관심있는 메모리를 반환하도록하십시오.
관련 문제
- 1. 공유 메모리 세그먼트를 물리적 메모리에 고정하는 방법
- 2. 리눅스의 동일한 물리적 메모리에 두 개의 가상 주소를 매핑하는 방법은 무엇입니까?
- 3. 메시지 송수신에 접근하는 방법
- 4. 파일이 리눅스의 메모리에 캐시되고 있는지 어떻게 알 수 있습니까?
- 5. 리눅스의 모든
- 6. 특정 물리적 크기를 인쇄하는 방법
- 7. dll을 메모리에 임베드하는 방법
- 8. 어셈블리를 메모리에 저장하는 방법
- 9. 데이터를 메모리에 저장하는 방법
- 10. 메모리에 얼굴을 저장하는 방법
- 11. , 리눅스의 파일
- 12. 다른 클래스에서 접근하는 방법 Objective-C
- 13. 이 간단한 문제를 접근하는 방법 - 사용자
- 14. 대형 프로젝트에서 단위 테스트에 접근하는 방법
- 15. 이것을 접근하는 방법, 이것은 객체 리터럴인가?
- 16. 특정 모양의 여러 인스턴스 식별에 접근하는 방법
- 17. 바이너리 검색을 위해 파일 중간에 접근하는 방법
- 18. app/exe 허용 목록에 접근하는 방법
- 19. HTML 폼을 모핑하는 방법에 접근하는 방법
- 20. 이 이미지 처리 문제에 접근하는 방법 - 분류
- 21. 물리적 캐시
- 22. 리눅스의 C 코드에서 PHP 스크립트를 호출하는 방법
- 23. iPhone에서 접근하는 웹 서비스
- 24. 다차원 배열을 메모리에 표시하는 방법
- 25. C에서 pthread의 물리적 ID를 얻는 방법
- 26. 리눅스의 스레드 별 로케일
- 27. 리눅스의 성능 모니터링 스크립트
- 28. 리눅스의 XINERaMA & FAKEEXTN
- 29. 리눅스의 Maillog 파일
- 30. 리눅스의 작업자 스레드
루트가 아닌 일반 사용자는/dev/mem에 대한 액세스가 거부되므로 루트 권한이 필요합니다! – t0mm13b
예, 저는 그가 드라이버 인터페이스를 통해 메모리 영역에 액세스 할 수 없다고 생각했습니다. 그렇지 않으면 그는 처음에 질문하지 않았을 것입니다. 이 질문은 권한 수준에 대해서는 언급하지 않았습니다. –
예 mmap/dev/mem. 그러나 그것은 초조하다 :) – MarkR