vi에서 binary 편집하기
vi를 사용하다 보면 가끔씩 Binary를 편집하고 싶은 순간이 있다.
그리고 vi에는 아주 재미있는 기능이 있다.
바로 :%!TERMINAL_COMMAND
인데, 이게 무슨 명령이냐면, 편집기 내에 존재하는 텍스트들을 piping 해서 TERMINAL_COMMAND
의 입력으로 넘기고, 해당 TERMINAL_COMMAND
의 출력을 다시 편집기 내에 존재하는 텍스트로 바꾸어주는 녀석이다. 지금 당장 커맨드 모드에서 :%!ls -al
을 입력해보면 어떤 느낌인지 딱 올 것이다.
이것과 함께 xxd
라는, 유닉스에서 사용되는, 데이터를 받아 HEX로 출력해주는 프로그램을 이용하여, 다음을 따라해보시라.
편집하고 싶은 파일 something.exe 을 다음의 과정을 따라하면 된다.
vi something.exe
:%!xxd
Binary를 편집한 이후…
:%!xxd -r
:w