저는 Python3을 사용하여 Raspberry Pi 4용 프로젝트를 만들었고 일부 cli 애플리케이션을 사용했습니다. ps/htop/top에서 일부 보안 문제로 인해 사용된 명령줄을 숨기고 싶습니다. 나는 libprocesshider를 시도했고 프로세스 테이블에서 전체 프로세스를 숨겼습니다. 그리고 /proc/는 생성되지 않습니다. 우리 고객에게는 이것이 훨씬 더 좋아 보입니다.
하지만 이전 인스턴스를 종료하고 새 인스턴스를 시작하기 위해 IsProcessRuning()을 확인할 수는 없습니다. /proc/ 없이 실행 중인 프로세스를 나열하는 데 대한 다른 단서가 있습니까?
비슷한 질문이 여기에 있지만 아직 정답이 없습니다. procfs 없이 실행 중인 프로세스 나열
libprocesshider https://github.com/gianlucaborello/libprocesshider/blob/master/processhider.c https://sysdig.com/blog/hiding-linux-processes-for-fun-and-profit/
답변1
libprocesshider는 특수 버전만 로드하며 readdir()
libprocesshider에 지정된 항목을 나열하지 않습니다 /proc
. 모든 엔터티를 나열하려면 다음을 수행할 수 있습니다.
- 바인드 마운트프로세스 파일 시스템다른 곳에서 프로세스 정보를 읽습니다.
readdir()
dlopen()
원래 버전을 /load 하세요dlsym()
.readdir
시스템 호출을 직접 사용하십시오. 참고로readdir()
libc의 구현을 참조하세요.