커피닉스, 시스템 엔지니어의 쉼터
  hex editor 와 vi 작성일 : 2006/02/17 23:24
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 17989
     
    제  목 : hex editor 와 vi
    작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
    작성일 : 2006.2.17(금)

    1. vi에서 hex 편집을

    vi에서 hex editor 기능을 이용해서 바이너리 파일을 편집하는 방법이다.
    ESC키를 누른 후(명령 모드로 전환)

    :%!xxd

    를 하면 hex editor 환경으로 전환되며, Hex 또는 AscII 편집을 모두 할 수 있다.
    저장을 하기 위해서는 반드시 일반 편집 환경으로 전환한 후 해야 한다.

    :%!xxd -r
    :wq!



    2. 그외

    vi에서 편집 후 저장시 용량차이가 약간 생기는 경우도 있었으며, 이럴 경우에는
    심플한 hex edtior인 heme ( http://heme.sourceforge.net/ )같은 것을 사용해서 편집한다.



    16진수로 파일을 보기 위해서는 od 또는 hexdump 명령을 사용해라.

     
    # od -t cx1 a.txt

    0000000  \n   t   a   i   l       -   f       l   o   g   .   A   L   L
            0a 74 61 69 6c 20 2d 66 20 6c 6f 67 2e 41 4c 4c
    0000020       |   e   g   r   e   p       -   v       '   (   s   y   n
            20 7c 65 67 72 65 70 20 2d 76 20 27 28 73 79 6e
     


    -t x1  : 16진수 1자리 단위로 표시
    -t x2  : 16진수 2자리 단위로 표시
    -t cx1 : 16진수 1자리 + ASCII 문자 함께

     
    # hexdump -x -c b.txt
    0000000    2023    794d    5153    204c    6553    7672    7265    4920
    0000000   #       M   y   S   Q   L       S   e   r   v   e   r       I
    0000010    736e    6174    636e    2065    6f43    666e    6769    7275
    0000010   n   s   t   a   n   c   e       C   o   n   f   i   g   u   r
     


    -x : 16진수 2자리
    -c : ASCII 문자

    자세한 옵션은 맨페이지를...

    * 참고 자료 :
      http://lists.freebsd.org/pipermail/freebsd-questions/2003-July/012019.html
      http://www.sourcepole.com/sources/reviews/hexeds.xml


    커피닉스, 시스템 엔지니어의 쉼터 / URL : http://coffeenix.net/board_view.php?bd_code=1340