Bash를 사용하여 폴더에서 텍스트를 검색하면 텍스트가 바이너리 파일에 있음을 알 수 있습니다. *.so 파일의 텍스트를 변경하고 싶습니다.
답변1
- 이 작업을 수행하기 전에 원본 .so 파일을 백업해야 합니다.
다음 명령은 파일을 손상시킬 수 있습니다.
- vi 편집기를 사용하여 라이브러리를 엽니다.
- 여기서 대상은
.so
파일이 아닙니다. - 일반 기호 링크와 마찬가지로
.so
원본 대상 파일을 찾아야 합니다.
- 여기서 대상은
- 입력하다
:%!xxd
- 이 명령은 파일 표시 형식을 2진수에서 16진수 및 ASCII로 변경합니다.
- 원하는 내용, 즉 텍스트를 수정하세요.
- 오른쪽의 ASCII 문자가 아닌 왼쪽의 16진수 코드를 수정해야 합니다.
- 문자를 삽입하거나 삭제할 수 없으며 바꾸기만 하면 됩니다. 밧줄을 더 길게 만들 수는 없습니다. 끝에 Null 문자를 추가하여 문자열을 줄일 수 있습니다(Ctrl+V Ctrl+@ 누르기).
- 수정 후 입력
:%!xxd -r
- 표시 형식을 바이너리로 되돌립니다.
- 를 입력하고 종료하여 파일을 저장합니다
:wq
.
- vi 편집기를 사용하여 라이브러리를 엽니다.