code

유닉스 시스템에서 바이너리 파일을 편집하는 방법

codestyles 2020. 12. 6. 21:33
반응형

유닉스 시스템에서 바이너리 파일을 편집하는 방법


Windows 시스템에는 바이너리 파일을 편집하는 데 사용할 수있는 많은 타사 편집기가 있습니다. 나는 * nix 시스템에도 비슷한 것이 있어야한다고 믿습니다. 유닉스에서 바이너리 파일을 어떻게 편집 할 수 있습니까?


ghex2 GNOME 유틸리티를 사용해 볼 수도 있습니다. 이것은 당신에게 자동화 된 hex-to-ASCII를 측면에 제공 할뿐만 아니라 하단에 다양한 문자 / 정수 디코딩을 제공합니다. (출처 : googlepages.com )ghex2


Vim에서 : %! xxd입력 하여 hexeditor로 바꿀 수 있습니다 . : %! xxd -r 일반 모드로 돌아갑니다. xxd는 vim 설치로 제공됩니다.

vim을 사용하여 바이너리 파일을 편집하는 방법에 대한 몇 가지 설명은 여기참조 하십시오 ( 문제를 방지하려면 : set binary 로 끓여서 텍스트를 변경하려면 "R"또는 "r"명령 만 사용하고 문자는 삭제하지 마십시오).

Emacs 팬이라면 Emacs 로 바이너리 파일을 편집하는 방법에 대한 가이드를 보려면 여기참조 하십시오 .


Linux / Unix에는 훨씬 더 많은 hexeditor가 있습니다 ....

Ubuntu에서 hexedit를 사용합니다.

sudo apt-get install hexedit

당신은 wikipedia 를 확인할 수 있습니다 .

특히 BIEW를 선호합니다 .


Bless 는 고품질의 완전한 기능을 갖춘 16 진수 편집기입니다.

mono / Gtk #로 작성되었으며 기본 플랫폼은 GNU / Linux입니다. 그러나 mono 및 Gtk #이 실행하는 모든 플랫폼에서 문제없이 실행할 수 있어야합니다. 주요 기능 Bless는 현재 다음과 같은 기능을 제공합니다.

  • 대용량 데이터 파일 및 블록 장치를 효율적으로 편집합니다.
  • 다단계 실행 취소-작업을 다시 실행합니다.
  • 사용자 정의 가능한 데이터보기.
  • 화면에서 빠른 데이터 렌더링.
  • 여러 탭.
  • 빠른 찾기 및 교체 작업.
  • 데이터 변환 테이블.
  • 고급 복사 / 붙여 넣기 기능.
  • 파일에서 선택 패턴 일치 강조 표시.
  • 플러그인 기반 아키텍처.
  • 텍스트 및 html로 데이터 내보내기 (플러그인이있는 기타).
  • 데이터에 대한 비트 연산.
  • 포괄적 인 사용자 설명서.

http://home.gna.org/bless/에서 복사


나는 bvi 를 사용 했습니다 .

내가 개발하고 hexvi을 극복 :%!xxd하고 bvi의 한계.

Hexvi

풍모

  • vim과 유사한 키 바인딩 및 명령
  • 특정 오프셋으로 이동
  • 삽입, 바꾸기, 삭제
  • 물건 검색 (PCRE 정규식)
  • 모든 것이 명령이며 hexvirc
  • 색 구성표
  • 대용량 파일 지원
  • 여러 파일 지원 (탭을 통해)
  • 파이썬 그래서 해킹 할 엔트리 레벨은 C보다 낮아야합니다
  • CLI를 통해

단점

  • 2016 년 3 월 현재 알파이므로 기능이 누락되었지만 작업 중입니다.
    • 파일 저장
    • 실행 취소 / 다시 실행
    • 명령 역사
    • 시각적 선택
    • man 페이지
  • 자동 완성 없음

bvi

풍모

  • vim과 유사한 키 바인딩 및 명령
  • 특정 오프셋으로 이동
  • 삽입, 삭제, 바꾸기
  • 물건 검색 (텍스트 및 16 진수)
  • 실행 취소 / 다시 실행
  • CLI를 통해

단점

  • 그 정력 기능에 대한 - 불행하게도, 그것은 가장 기본적인 것들을 이해하고 확실히이 점에서 더 많은 사랑이 필요합니다 (예 : 이해하지 못하는 :wq,하지만 이해 :w:q)
  • 시각적 선택이 전혀 지원되지 않습니다.
  • 탭 / 분할 화면 지원 없음
  • 자주 충돌
  • 대용량 파일을 지원하지 않음
  • 명령 이력 없음
  • 자동 완성 없음

I like KHexEdit, which is part of KDE

Its "Windows style" UI is probably quite quick to learn for most people (compared to Vim or Emacs anyway :)


There's lightweight binary editor, check hexedit. http://www.linux.org/apps/AppId_6968.html. I tried using it for editing ELF binaries in Linux at least.


I made wxHexEditor, it's open sourced, written with C++/wxWidgets GUI libs and can open even your exabyte sized disk!

http://wxhexeditor.sf.net

Just try.


As variant, you can use radare2:

> r2 -w /usr/bin/ls

[0x004049d0]>V

[0x004049d0 14% 1104 (0x0:-1=1)]> x @ entry0
- offset - | 0 1  2 3  4 5  6 7  8 9  A B  C D  E F| 0123456789ABCDEF
0x004049d0 |31ed 4989 d15e 4889 e248 83e4 f050 5449| 1.I..^H..H...PTI
0x004049e0 |c7c0 103a 4100 48c7 c1a0 3941 0048 c7c7| ...:A.H...9A.H..
0x004049f0 |202a 4000 e877 dcff fff4 660f 1f44 0000|  *@..w....f..D..
0x00404a00 |b807 e661 0055 482d 00e6 6100 4883 f80e| ...a.UH-..a.H...
0x00404a10 |4889 e576 1bb8 0000 0000 4885 c074 115d| H..v......H..t.]
0x00404a20 |bf00 e661 00ff e066 0f1f 8400 0000 0000| ...a...f........
0x00404a30 |5dc3 0f1f 4000 662e 0f1f 8400 0000 0000| ]...@.f.........
0x00404a40 |be00 e661 0055 4881 ee00 e661 0048 c1fe| ...a.UH....a.H..
0x00404a50 |0348 89e5 4889 f048 c1e8 3f48 01c6 48d1| .H..H..H..?H..H.
0x00404a60 |fe74 15b8 0000 0000 4885 c074 0b5d bf00| .t......H..t.]..
0x00404a70 |e661 00ff e00f 1f00 5dc3 660f 1f44 0000| .a......].f..D..
0x00404a80 |803d c19b 2100 0075 1155 4889 e5e8 6eff| .=..!..u.UH...n.
0x00404a90 |ffff 5dc6 05ae 9b21 0001 f3c3 0f1f 4000| ..]....!......@.
0x00404aa0 |bf10 de61 0048 833f 0075 05eb 930f 1f00| ...a.H.?.u......
0x00404ab0 |b800 0000 0048 85c0 74f1 5548 89e5 ffd0| .....H..t.UH....
0x00404ac0 |5de9 7aff ffff 662e 0f1f 8400 0000 0000| ].z...f.........
0x00404ad0 |488b 0731 d248 f7f6 4889 d0c3 0f1f 4000| H..1.H..H.....@.

For details about how work in visual mode you can read here


For small changes, I have used hexedit:

http://rigaux.org/hexedit.html

Simple but fast and useful.


나는 wxHexEditor에 대한 좋은 경험을 가지고 있습니다 ... 드라이브를 16 진수로 편집하는 경우 메뉴를 통해 수행하는지 확인하십시오.

Devices -> Open Disk Device -> SCSI Disk Drive Partition #_N_

참고 URL : https://stackoverflow.com/questions/839227/how-to-edit-binary-file-on-the-unix-systems

반응형