Editor hex untuk insinyur balik, programmer, dan orang -orang yang menghargai retina mereka saat bekerja pada jam 3 pagi.
/ˈꞮMHɛKS/
Mendukung
Jika Anda menyukai pekerjaan saya, silakan pertimbangkan untuk mendukung saya di sponsor GitHub, Patreon atau Paypal. Terima kasih banyak!
Tangkapan layar
Lebih banyak tangkapan layar
Fitur
Tampilan hex yang femuful
- Byte Patching
- Manajemen tambalan
- Undo/Redo Infinite
- "Salin byte sebagai ..."
- Byte
- String hex
- C, C ++, C#, Rust, Python, Java & JavaScript Array
- Tampilan hex ascii-art
- Div mandiri HTML
- String sederhana dan pencarian hex
- Goto dari posisi awal, akhir dan kursor saat ini
- Sorotan berwarna -warni
- Aturan penyorotan latar depan yang dapat dikonfigurasi
- Sorotan latar belakang menggunakan pola, temukan hasil dan bookmark
- Menampilkan data sebagai daftar berbagai jenis
- Bilangan bulat heksadesimal (8, 16, 32, 64 bit)
- Integer desimal yang ditandatangani dan tidak ditandatangani (8, 16, 32, 64 bit)
- Mengapung (16, 32, 64 bit)
- Warna RGBA8
- Hexii
- Biner
- Decoding Data sebagai ASCII dan Pengkodean Kustom
- Dukungan bawaan untuk UTF-8, UTF-16, Shiftjis, sebagian besar pengkodean Windows dan banyak lagi
- Tampilan Data Paged
Kustom C ++-Suka bahasa pola untuk menyoroti konten file
- Pemuatan Otomatis Berdasarkan Jenis Mime dan Nilai Sihir
- Array, pointer, struct, serikat pekerja, enum, bitfields, namespaces, dukungan endian kecil dan besar, persyaratan dan banyak lagi!
- Pesan kesalahan yang berguna, penyorotan sintaks dan penandaan kesalahan
- Dukungan untuk memvisualisasikan berbagai jenis data
- Gambar
- Audio
- Model 3D
- Koordinat
- Perangko waktu
Dukungan tema
- Tidak membakar retina Anda saat digunakan dalam sesi larut malam
- Mode gelap secara default, tetapi mode cahaya juga tersedia
- Warna dan gaya yang dapat disesuaikan untuk semua elemen UI melalui file tema yang dapat dibagikan
- Dukungan untuk Font Kustom
Mengimpor dan mengekspor data
- File base64
- Tambalan IPS dan IPS32
- Laporan Markdown
Inspektur Data
- Menafsirkan data sebanyak jenis yang berbeda dengan endianness, desimal, heksadesimal dan dukungan oktal dan inversi bit
- Integer yang tidak ditandatangani dan ditandatangani (8, 16, 24, 32, 48, 64 bit)
- Mengapung (16, 32, 64 bit)
- LEB128 yang ditandatangani dan tidak ditandatangani
- ASCII, luas dan UTF-8 karakter dan string
- Time32_t, Time64_t, DOS Tanggal dan Waktu
- Panduan
- Warna RGBA8 dan RGB65
- Menyalin dan memodifikasi byte melalui inspektur
- Menambahkan tipe data baru melalui bahasa pola
- Dukungan untuk menyembunyikan baris yang tidak digunakan
Pra-Prosesor Data Berbasis Node
- Ubah, mendekripsi dan mendekode data sebelum ditampilkan di editor hex
- Memodifikasi data tanpa menyentuh sumber yang mendasarinya
- Dukungan untuk menambahkan node khusus
Memuat data dari berbagai sumber data
- File lokal
- Dukungan untuk file besar dengan pemuatan yang cepat dan efisien
- Disk mentah
- Memuat data dari disk dan partisi mentah
- Server GDB
- Akses RAM dari proses berjalan atau perangkat tertanam melalui GDB
- Data intel hex dan motorola srec
- Memproses memori
- Periksa seluruh ruang alamat dari proses berjalan
Pencarian data
- Dukungan untuk mencari seluruh file atau hanya pilihan
- Ekstraksi string
- Opsi untuk menentukan panjang minimum dan set karakter (huruf kecil, huruf besar, digit, simbol)
- Opsi untuk menentukan encoding (ASCII, UTF-8, UTF-16 Big dan Little Endian)
- Pencarian Urutan
- Cari urutan byte atau karakter
- Opsi untuk mengabaikan kasus karakter
- Pencarian Regex
- Cari string menggunakan ekspresi reguler
- Pola biner
- Cari urutan byte dengan wildcard opsional
- Pencarian Nilai Numerik
- Cari bilangan bulat dan pelampung yang ditandatangani/tidak ditandatangani
- Cari rentang nilai
- Opsi untuk menentukan ukuran dan endianness
- Opsi untuk mengabaikan nilai yang tidak selaras
Dukungan Hashing Data
- Banyak algoritma berbeda yang tersedia
- CRC8, CRC16 dan CRC32 dengan nilai awal dan polinomial khusus
- Banyak polinomial default tersedia
- 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, Rotating, Shiftandxor, Superfast
- MURMUR2_32, MURMURHASH3_X86_32, MURMURHASH3_X86_128, MURMURHASH3_X64_128
- Siphash64, Siphash128
- Xxhash32, xxhash64
- Tiger, Tiger2
- Blake2b, Blake2s
- Hashing daerah spesifik dari data yang dimuat
- Hashing string sewenang -wenang
Dukungan yang berbeda
- Bandingkan data sumber data yang berbeda
- Sorotan perbedaan
- Tampilan Tabel Perbedaan
Disassembler Terpadu
- Dukungan untuk semua arsitektur yang didukung oleh Capstone
- ARM32 (lengan, ibu jari, korteks-M, aarch32)
- ARM64
- MIPS (MIPS32, MIPS64, MIPS32R6, MICRO)
- x86 (16-bit, 32-bit, 64-bit)
- Powerpc (32-bit, 64-bit)
- Sparc
- IBM Systemz
- xcore
- M68K
- TMS320C64X
- M680X
- Ethereum
- Risc-v
- WebAssembly
- MOS65XX
- Filter paket Berkeley
Bookmark
- Dukungan untuk Bookmark dengan Nama dan Warna Kustom
- Menyoroti wilayah yang ditandai di editor hex
- Lompat ke bookmark
- Buka konten bookmark di tab baru
- Tambahkan komentar ke bookmark
Penganalisa dan visualiser data yang fitur
- File parser file berbasis ajaib dan database tipe mime
- Grafik distribusi tipe byte
- Grafik entropi
- Entropi tertinggi dan rata -rata
- Deteksi file terenkripsi / terkompresi
- Digram dan grafik distribusi berlapis
Dukungan aturan Yara
- Pindai file untuk kerentanan dengan aturan yara resmi
- Sorot pertandingan di editor hex
- Lompat ke pertandingan
- Terapkan banyak aturan sekaligus
Alat yang bermanfaat
- Itanium, MSVC, Rust dan D-Lang Demangler Berdasarkan LLVM
- Tabel ASCII
- REGEX Replacer
- Evaluator Ekspresi Matematika (Kalkulator)
- Kalkulator grafik
- Pemetik warna heksadesimal dengan dukungan untuk berbagai format
- Konverter dasar
- Byte Swapper
- Kalkulator Izin UNIX
- Wikipedia Term Definisi Definisi Pencari
- Utilitas file
- File splitter
- File Combiner
- File Shredder
- IEEE754 Float Visualizer
- Divisi dengan kalkulator multiplikasi invarian
- Klien/Server TCP
- Kalkulator Algoritma Euclidean
Pembaruan konten bawaan
- Unduh semua file yang ditemukan di database langsung dari dalam IMHEX
- File pola untuk mendekode berbagai format file
- Perpustakaan untuk bahasa pola
- File ajaib untuk deteksi jenis file
- Node prosesor data khusus
- Pengkodean khusus
- Tema khusus
- Aturan yara
Antarmuka modern
- Dukungan untuk beberapa ruang kerja
- Dukungan untuk tata letak khusus
- Jendela yang bisa dilepas
Mudah Dimulai
- Dukungan untuk berbagai bahasa
- Mode yang disederhanakan untuk pemula
- Dokumentasi yang luas
- Banyak contoh file yang tersedia di database
- Pencapaian membimbing Anda melalui fitur IMHEX
- Tutorial interaktif
Bahasa pola
Bahasa pola adalah bahasa pemrograman yang sepenuhnya kustom yang dikembangkan untuk IMHEX. Ini memungkinkan Anda untuk mendefinisikan struktur dan tipe data dalam sintaksis-C dan kemudian menggunakannya untuk menguraikan dan menyoroti konten file.
- Kode Sumber: Tautan
- Dokumentasi: Tautan
Database
Untuk pola format, perpustakaan, file sihir dan konstan, periksa repositori pola IMHEX.
Jangan ragu untuk PR file Anda sendiri di sana juga!
Persyaratan
Untuk menggunakan IMHEX, persyaratan sistem minimal berikut perlu dipenuhi.
Penting
IMHEX membutuhkan GPU dengan dukungan OpenGL 3.0 secara umum. Ada rilis yang tersedia (dengan sufiks -NoGPU
) yang diberikan perangkat lunak dan tidak memerlukan GPU, namun ini bisa jauh lebih lambat daripada versi yang dipercepat GPU.
Jika memungkinkan, buat IMHEX gunakan GPU khusus pada sistem Anda alih -alih yang terintegrasi. IMHEX biasanya akan berjalan dengan baik dengan GPU terintegrasi juga tetapi driver GPU Intel HD tertentu di Windows diketahui menyebabkan artefak grafis.
- OS :
- Windows : Windows 7 atau lebih tinggi (Windows 10/11 disarankan)
- MacOS : MacOS 12.1 (Monterey) atau lebih tinggi,
- Versi yang lebih rendah didukung, tetapi Anda harus mengkompilasi IMHEX sendiri
- Linux : Linux "Modern". Distribusi berikut memiliki rilis resmi. Distro lain didukung melalui rilis AppImage dan Flatpak.
- Ubuntu dan Debian
- Fedora
- Rhel/Almalinux
- Arch Linux
- Pada dasarnya distro lain juga akan bekerja dengan baik saat menyusun IMHEX dari sumber.
- CPU : x86_64 (64 bit)
- GPU : OpenGL 3.0 atau lebih tinggi
- Intel HD IGPU terintegrasi didukung, namun driver tertentu diketahui menyebabkan berbagai artefak grafis, terutama pada jendela. Gunakan dengan risiko Anda sendiri.
- Jika Anda tidak memiliki GPU yang tersedia, ada rilis perangkat lunak yang tersedia untuk Windows dan MacOS
- RAM : 256MB, lebih banyak mungkin diperlukan untuk analisis yang lebih rumit
- Penyimpanan : 150MB
Menginstal
Informasi tentang cara menginstal IMHEX dapat ditemukan di panduan instal
Menyusun
Untuk mengkompilasi IMHEX pada platform apa pun, GCC (atau Clang) diperlukan dengan versi yang mendukung C ++ 23 atau lebih tinggi. Pada macOS, dentang juga diharuskan untuk menyusun beberapa kode OBJC. Semua rilis sedang dibangun menggunakan GCC terbaru yang tersedia.
Catatan
Banyak dependensi yang dibundel ke dalam repositori menggunakan submodule jadi pastikan untuk mengkloningnya menggunakan opsi --recurse-submodules
. Semua dependensi yang tidak dibundel, dapat diinstal menggunakan skrip penginstal dependensi yang ditemukan di folder /dist
.
Untuk informasi lebih lanjut, lihat panduan kompilasi.
Berkontribusi
Lihat Kontribusi
Pengembangan Plugin
Untuk mengembangkan plugin untuk IMHEX, gunakan proyek template berikut untuk memulai. Anda kemudian memiliki akses ke keseluruhan libimhex serta API IMHEX dan Registry Konten untuk berinteraksi dengan IMHEX atau untuk menambahkan konten baru.
Kredit
Kontributor
- ITROOZ untuk memasukkan IMHEX ke web serta ratusan kontribusi di setiap bagian proyek
- Jumanji144 untuk kontribusi besar pada bahasa pola dan infrastruktur IMHEX
- Mary untuk bantuannya yang luar biasa porting Imhex ke macOS dan membantu selama pengembangan
- Roblabla untuk menambahkan dukungan penginstal MSI ke IMHEX
- Mailaender untuk mendapatkan imhex ke flathub
- Semua orang yang telah melaporkan masalah tentang Perselisihan atau GitHub yang saya lakukan dengan percakapan hebat :)
Dependensi
- Terima kasih banyak kepada Ocornut untuk Imgui tersayang mereka yang luar biasa yang digunakan untuk membangun seluruh antarmuka
- Terima kasih kepada Epezent untuk implot yang digunakan untuk memplot data di berbagai tempat
- Terima kasih kepada Nelarius untuk imnodes yang digunakan sebagai basis untuk prosesor data
- Terima kasih kepada Balazsjako untuk imguicolortextedit yang digunakan untuk penyorotan sintaksis bahasa pola
- Terima kasih kepada Nlohmann untuk pustaka JSON mereka yang digunakan untuk file konfigurasi
- Terima kasih kepada Vitaut untuk perpustakaan libfmt mereka yang membuat format dan logging jauh lebih baik
- Terima kasih kepada BTZY untuk NativeFileLialog-Extended dan dukungan mereka yang luar biasa, digunakan untuk menangani dialog file di semua platform
- Terima kasih kepada danyspin97 untuk xdgpp yang digunakan untuk menangani jalur folder di Linux
- Terima kasih kepada Aquannh untuk Capstone yang merupakan dasar dari jendela pembongkaran
- Terima kasih kepada RXI untuk mikrotar yang digunakan untuk mengekstraksi aset toko yang diunduh
- Terima kasih kepada Virustotal untuk Yara yang digunakan oleh plugin Yara
- Terima kasih kepada Martinsos untuk edlib yang digunakan untuk pencarian urutan dalam tampilan yang berbeda
- Terima kasih kepada Ron4Fun untuk hashlibplus yang mengimplementasikan setiap algoritma hashing di bawah matahari
- Terima kasih kepada Mackron untuk miniaudio yang digunakan untuk memutar file audio
- Terima kasih untuk semua kelompok dan organisasi lain yang perpustakaannya digunakan di IMHEX
Lisensi
Bagian terbesar dari IMHEX adalah di bawah lisensi GPLV2 saja. Pengecualian penting untuk ini adalah bagian -bagian berikut yang berada di bawah lisensi LGPLV2.1:
- /lib/libimhex : Perpustakaan yang memungkinkan plugin untuk berinteraksi dengan IMHEX.
- /Plugin/UI : Perpustakaan plugin UI yang berisi beberapa elemen UI umum yang dapat digunakan oleh plugin lain
Alasan untuk ini adalah untuk memungkinkan plugin berpemilik untuk dikembangkan untuk IMHEX.