리버스 엔지니어, 프로그래머 및 오전 3시에 일할 때 레티 나스를 소중히 여기는 사람들을위한 HEX 편집자.
//mhɛks/
지원
내 작업이 마음에 들면 Github 스폰서, Patreon 또는 PayPal에서 저를 지원하는 것을 고려하십시오. 정말 감사합니다!
스크린 샷
더 많은 스크린 샷
특징
특징적인 16 진수보기
- 바이트 패치
- 패치 관리
- 무한 실행 취소/레다
- "바이트 복사 ..."
- 바이트
- 16 진수
- C, C ++, C#, Rust, Python, Java & JavaScript 배열
- Ascii-Art Hex View
- HTML 자체 포함 Div
- 간단한 문자열 및 16 진수 검색
- 시작, 끝 및 현재 커서 위치에서 Goto
- 다채로운 하이라이트
- 구성 가능한 전경 강조 규칙
- 패턴을 사용하여 강조 표시, 결과 및 북마크를 찾으십시오
- 여러 유형의 목록으로 데이터를 표시합니다
- 16 진수 정수 (8, 16, 32, 64 비트)
- 서명 및 서명되지 않은 소수점 정수 (8, 16, 32, 64 비트)
- 플로트 (16, 32, 64 비트)
- RGBA8 색상
- hexii
- 이진
- ASCII 및 사용자 정의 인코딩으로 데이터 디코딩
- UTF-8, UTF-16, ShiftJis, 대부분의 Windows 인코딩 및 기타에 대한 내장 지원
- PAGED 데이터 뷰
Custom C ++-파일의 콘텐츠 강조 표시를위한 패턴 언어 유사
- MIME 유형 및 마법 값을 기반으로 자동 로딩
- 배열, 포인터, 스트러크, 노조, 열거, 비트 필드, 네임 스페이스, 작은 엔디 언 지원, 조건부 등!
- 유용한 오류 메시지, 구문 하이라이트 및 오류 표시
- 다양한 유형의 데이터 시각화를 지원합니다
주제 지원
- 심야 세션에서 사용될 때 망막을 태우지 않습니다.
- 기본적으로 어두운 모드이지만 라이트 모드도 사용할 수 있습니다.
- 공유 가능한 테마 파일을 통해 모든 UI 요소에 대한 사용자 정의 가능한 색상 및 스타일
- 사용자 정의 글꼴 지원
데이터 가져 오기 및 내보내기
- Base64 파일
- IPS 및 IPS32 패치
- 마크 다운 보고서
데이터 검사관
- 엔지니네스, 소수점, 16 진수 및 옥탈 지원 및 비트 역전으로 데이터를 여러 유형으로 해석합니다.
- 서명되지 않고 서명 된 정수 (8, 16, 24, 32, 48, 64 비트)
- 플로트 (16, 32, 64 비트)
- 서명 및 서명되지 않은 LEB128
- ASCII, wide 및 utf-8 문자 및 문자열
- Time32_T, Time64_T, DOS 날짜 및 시간
- 안내
- RGBA8 및 RGB65 색상
- 검사관을 통한 바이트 복사 및 수정
- 패턴 언어를 통해 새로운 데이터 유형 추가
- 사용되지 않는 행을 숨기는 데 도움이됩니다
노드 기반 데이터 사전 프로세서
- HEX 편집기에 표시되기 전에 데이터를 수정, 해독 및 디코딩하십시오.
- 기본 소스를 건드리지 않고 데이터를 수정하십시오
- 사용자 정의 노드 추가 지원
여러 다른 데이터 소스에서 데이터를로드합니다
- 로컬 파일
- 빠르고 효율적인 로딩으로 거대한 파일을 지원합니다
- 원시 디스크
- GDB 서버
- GDB를 통해 달리기 공정 또는 내장 장치의 RAM에 액세스하십시오.
- 인텔 헥스 및 모토로라 SREC 데이터
- 프로세스 메모리
- 실행되는 프로세스의 전체 주소 공간을 검사하십시오
데이터 검색
- 전체 파일 검색 또는 선택 만 지원합니다.
- 문자열 추출
- 최소 길이 및 문자 세트를 지정하는 옵션 (소문자, 대문자, 숫자, 기호)
- 인코딩을 지정하는 옵션 (ASCII, UTF-8, UTF-16 BIG 및 LITTLE ENDIAN)
- 시퀀스 검색
- 바이트 또는 문자 시퀀스를 검색하십시오
- 문자 케이스를 무시하는 옵션
- Regex 검색
- 이진 패턴
- 옵션 와일드 카드가있는 바이트 시퀀스를 검색하십시오
- 숫자 값 검색
- 서명/부호없는 정수 및 수레를 검색하십시오
- 범위의 값을 검색하십시오
- 크기와 엔지니어를 지정하는 옵션
- 정렬되지 않은 값을 무시하는 옵션
데이터 해싱 지원
- 다양한 알고리즘을 사용할 수 있습니다
- 사용자 지정 초기 값 및 다항식이있는 CRC8, CRC16 및 CRC32
- MD5
- SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
- adler32
- ap
- bkdr
- Bernstein, Bernstein1
- DEK, DJB, ELF, FNV1, FNV1A, JS, PJW, RS, SDBM
- Oneattime, 회전, Shiftandxor, Superfast
- murmur2_32, murmurhash3_x86_32, murmurhash3_x86_128, murmurhash3_x64_128
- SIPHASH64, SIPHASH128
- xxhash32, xxhash64
- Tiger, Tiger2
- Blake2b, Blake2s
- 로드 된 데이터의 특정 영역 해싱
- 임의의 문자열의 해싱
확산 지원
- 다른 데이터 소스의 데이터를 비교하십시오
- 차이 강조
- 차이점의 테이블보기
통합 분리기
- Capstone이 지원하는 모든 아키텍처 지원
- ARM32 (팔, 엄지, 피질 -M, Aarch32)
- ARM64
- MIPS (MIPS32, MIPS64, MIPS32R6, 마이크로)
- x86 (16 비트, 32 비트, 64 비트)
- PowerPC (32 비트, 64 비트)
- SPARC
- IBM Systemz
- xcore
- M68K
- TMS320C64X
- M680X
- 이더 리움
- RISC-V
- webassembly
- MOS65XX
- 버클리 패킷 필터
북마크
- 사용자 정의 이름과 색상이있는 북마크를 지원합니다
- HEX 편집기에서 북마크 지역의 강조
- 북마크로 점프하십시오
- 새 탭에서 북마크 컨텐츠를 엽니 다
- 북마크에 주석을 추가합니다
특징 데이터 분석기 및 시각화
- 파일 매직 기반 파일 파서 및 마임 유형 데이터베이스
- 바이트 유형 분배 그래프
- 엔트로피 그래프
- 최고 및 평균 엔트로피
- 암호화 / 압축 파일 감지
- Digram 및 계층 분포 그래프
야라 규칙 지원
- 공식 Yara 규칙으로 취약성을 위해 파일을 스캔하십시오
- HEX 편집기에서 일치를 강조 표시합니다
- 일치로 점프하십시오
- 한 번에 여러 규칙을 적용하십시오
유용한 도구
- LLVM을 기반으로 한 Itanium, MSVC, Rust 및 D-Lang Demangler
- ASCII 테이블
- Regex Replacer
- 수학적 표현 평가자 (계산기)
- 그래프 계산기
- 여러 가지 형식을 지원하는 16 진 컬러 피커
- 기본 변환기
- 바이트 SWAPPER
- 유닉스 권한 계산기
- Wikipedia 용어 정의 찾기
- 파일 유틸리티
- IEEE754 Float Visualizer
- 불변량 곱셈 계산기에 의한 분할
- TCP 클라이언트/서버
- 유클리드 알고리즘 계산기
내장 콘텐츠 업데이터
- IMHEX 내에서 데이터베이스에 직접 발견 된 모든 파일 다운로드
- 다양한 파일 형식을 디코딩하기위한 패턴 파일
- 패턴 언어를위한 라이브러리
- 파일 유형 감지 용 마법 파일
- 사용자 정의 데이터 프로세서 노드
- 사용자 정의 인코딩
- 사용자 정의 테마
- 야라 규칙
현대 인터페이스
- 여러 작업 공간에 대한 지원
- 맞춤형 레이아웃 지원
- 분리 가능한 창
시작하기 쉽습니다
- 다양한 언어를 지원합니다
- 초보자를위한 단순화 모드
- 광범위한 문서
- 데이터베이스에서 사용할 수있는 많은 예제 파일
- Imhex의 기능을 통해 당신을 안내하는 업적
- 대화식 튜토리얼
패턴 언어
패턴 언어는 IMHEX 용으로 개발 된 완전히 맞춤형 프로그래밍 언어입니다. C와 같은 구문에서 구조 및 데이터 유형을 정의 한 다음 파일의 컨텐츠를 구문 분석하고 강조 표시 할 수 있습니다.
데이터 베이스
형식 패턴, 라이브러리, 마술 및 상수 파일의 경우 imhex-patterns 저장소를 확인하십시오.
자신의 파일도 자유롭게 PR을 보내십시오!
요구 사항
Imhex를 사용하려면 다음의 최소 시스템 요구 사항을 충족해야합니다.
중요한
IMHEX에는 일반적으로 OpenGL 3.0 지원 기능이있는 GPU가 필요합니다. 소프트웨어가 렌더링되고 GPU가 필요하지 않은 릴리스 ( -NoGPU
접미사와 함께)가 있지만 GPU 가속 버전보다 훨씬 느리게 할 수 있습니다.
가능하면 IMHEX가 통합 된 GPU 대신 시스템에서 전용 GPU를 사용하십시오. IMHEX는 일반적으로 통합 GPU에서도 잘 작동하지만 Windows의 특정 Intel HD GPU 드라이버는 그래픽 아티팩트를 유발하는 것으로 알려져 있습니다.
- OS :
- Windows : Windows 7 이상 (Windows 10/11 권장)
- MACOS : MACOS 12.1 (Monterey) 이상,
- 하위 버전은 지원되지만 직접 Imhex를 컴파일해야합니다.
- Linux : "현대"Linux. 다음 배포판에는 공식 릴리스가 있습니다. 다른 배포판은 Appimage 및 Flatpak 릴리스를 통해 지원됩니다.
- 우분투와 데비안
- 페도라
- Rhel/Almalinux
- 아치 리눅스
- 기본적으로 다른 배포판은 소스에서 imhex를 컴파일 할 때도 작동합니다.
- CPU : x86_64 (64 비트)
- GPU : OpenGL 3.0 이상
- 통합 인텔 HD IGPU는 지원되지만 특정 드라이버는 특히 Windows에서 다양한 그래픽 아티팩트를 유발하는 것으로 알려져 있습니다. 자신의 위험에 사용하십시오.
- 사용 가능한 GPU가없는 경우 Windows 및 MacOS에 사용할 수있는 소프트웨어 렌더링 릴리스가 있습니다.
- RAM : 256MB,보다 복잡한 분석에는 더 많은 것이 필요할 수 있습니다.
- 저장 : 150MB
설치
Imhex를 설치하는 방법에 대한 정보는 설치 안내서에서 찾을 수 있습니다.
컴파일
모든 플랫폼에서 IMHEX를 컴파일하려면 C ++ 23 이상을 지원하는 버전에서는 GCC (또는 Clang)가 필요합니다. MACOS에서 Clang은 일부 OBJC 코드를 컴파일해야합니다. 모든 릴리스는 최신 GCC를 사용하여 구축됩니다.
메모
많은 종속성은 서브 모듈을 사용하여 저장소에 번들로 제공되므로 --recurse-submodules
옵션을 사용하여 클론하십시오. 번들되지 않은 모든 종속성은 /dist
폴더에있는 종속성 설치 프로그램 스크립트를 사용하여 설치할 수 있습니다.
자세한 내용은 컴파일 안내서를 확인하십시오.
기여
기고를 참조하십시오
플러그인 개발
IMHEX 용 플러그인을 개발하려면 다음 템플릿 프로젝트를 사용하여 시작하십시오. 그런 다음 imhex와 상호 작용하거나 새로운 컨텐츠를 추가하기 위해 Imhex API 및 컨텐츠 레지스트리뿐만 아니라 Libimhex 전체에 액세스 할 수 있습니다.
크레딧
기고자
- Imhex를 웹에 가져 오는 Itrooz와 프로젝트의 모든 부분에서 수백 가지 기여
- 패턴 언어 및 Imhex의 인프라에 큰 기여를하는 Jumanji144
- 그녀의 엄청난 도움으로 Imhex를 MacOS로 포팅하고 개발 중에 도움을주는 Mary.
- IMHEX에 MSI 설치 프로그램을 추가하기위한 roblabla
- Imhex를 납치에 데려가는 Mailaender
- 불화 나 Github에 대한 문제를보고 한 모든 사람들은 내가 큰 대화를 나누었습니다. :)
의존성
- 전체 인터페이스를 구축하는 데 사용되는 놀라운 Imgui에 대해 Ocornut에게 감사드립니다.
- 다양한 장소에서 데이터를 플로팅하는 데 사용되는 Implet의 Epezent에게 감사합니다.
- 데이터 프로세서의 기본으로 사용되는 Imnodes의 Nelarius에게 감사합니다.
- 패턴 언어 구문 하이라스에 사용되는 Imguicolortextedit의 Balazsjako에게 감사합니다.
- 구성 파일에 사용되는 JSON 라이브러리에 대한 Nlohmann에게 감사합니다.
- 서식과 로깅을 훨씬 더 나은 LIBFMT 라이브러리에 대한 Vitaut에게 감사드립니다.
- 모든 플랫폼에서 파일 대화 상자를 처리하는 데 사용되는 NativeFiledialog-Extended의 Btzy에게 감사합니다.
- Linux에서 폴더 경로를 처리하는 데 사용되는 XDGPP의 Danyspin97에 감사드립니다.
- 분해 창의 기초 인 Capstone의 Aquynh에게 감사드립니다.
- 다운로드 된 매장 자산 추출에 사용 된 Microtar 용 RXI에게 감사합니다.
- Yara 플러그인에서 사용한 Yara의 Virustotal에게 감사합니다.
- Diffing View에서 시퀀스 검색에 사용되는 Edlib의 Martinsos에게 감사합니다.
- 태양 아래의 모든 해싱 알고리즘을 구현하는 hashlibplus의 Ron4fun에게 감사합니다.
- MiniaUdio의 Mackron에게 오디오 파일을 재생하는 데 감사드립니다.
- 도서관이 Imhex에서 사용되는 다른 모든 그룹 및 조직 덕분
특허
IMHEX의 가장 큰 부분은 GPLV2 전용 라이센스에 따릅니다. 주목할만한 예외는 LGPLV2.1 라이센스에 따른 다음 부분입니다.
- /lib/libimhex : 플러그인이 imhex와 상호 작용할 수있는 라이브러리.
- /플러그인/UI : 다른 플러그인에서 사용할 수있는 일부 공통 UI 요소가 포함 된 UI 플러그인 라이브러리
그 이유는 IMHEX 용 독점 플러그인을 개발할 수 있기 때문입니다.