Penganalisis Biner Mach-O
Urai dan analisis header biner Mach-O, biner universal FAT, arsitektur CPU, load command, segmen, seksi, dan tabel simbol — semuanya di browser Anda. Mendukung format Mach-O 32-bit, 64-bit, dan FAT (universal) untuk macOS, iOS, dan semua biner platform Apple. Gratis, privat, dan tanpa pendaftaran.
Mengapa menggunakan Penganalisis Biner Mach-O kami?
- Dukungan format Mach-O lengkap: mengurai semua varian Mach-O termasuk 32-bit (MH_MAGIC), 64-bit (MH_MAGIC_64), dan biner universal FAT (FAT_MAGIC). Otomatis mendeteksi urutan byte (little/big endian) dan menangani biner tunggal maupun multi-arsitektur.
- Deteksi arsitektur CPU: mengenali semua arsitektur CPU utama Apple termasuk arm64 (Apple Silicon), x86_64 (Intel 64-bit), i386 (Intel 32-bit), ARM, dan PowerPC. Menampilkan tipe dan subtipe CPU serta detail khusus arsitektur dengan deskripsi terformat.
- Inspektor load command & segmen: mengurai semua load command (LC_SEGMENT, LC_SYMTAB, LC_UUID, LC_BUILD_VERSION, LC_MAIN, dan 40+ lainnya). Menampilkan setiap segmen beserta seksi, alamat virtual, offset berkas, flag proteksi, dan entri relokasi dalam tabel yang dapat diurutkan.
- 100% privat - tanpa unggahan wajib: seluruh penguraian Mach-O berjalan sepenuhnya di browser Anda. Unggah biner atau tempel data hex — tidak ada yang dikirim ke server mana pun. Tanpa akun, tanpa pendaftaran, tanpa pelacakan. Ekspor hasil analisis lewat salin atau unduh.
Kasus penggunaan umum Penganalisis Mach-O
- Analisis malware & rekayasa balik: analis keamanan memakai penganalisis Mach-O untuk memeriksa biner macOS dan iOS yang mencurigakan. Deteksi apakah biner berupa universal FAT yang menyembunyikan beberapa arsitektur, periksa load command untuk dependensi dylib tak biasa, dan periksa flag seksi untuk izin mencurigakan seperti wilayah memori yang dapat ditulis dan dieksekusi.
- Verifikasi & pemeriksaan integritas biner: pastikan biner Mach-O punya arsitektur CPU yang diharapkan, periksa flag PIE (executable independen posisi), periksa keberadaan tanda tangan kode, dan validasi kecocokan UUID. Penting untuk verifikasi pipeline build dan memastikan target arsitektur yang benar.
- Analisis simbol debug & stripping: analisis apakah biner sudah di-strip dengan memeriksa ukuran tabel simbol dan load command. Deteksi bundel dSYM pendamping, periksa entri nlist untuk mengenali simbol yang tersisa, dan tentukan apakah biner sudah ditandatangani dan dinotarisasi.
- Deteksi obfuskasi & proteksi: identifikasi biner Mach-O yang terobfuskasi atau terlindungi dengan mendeteksi seksi terenkripsi (LC_ENCRYPTION_INFO), memeriksa indikator fairplay/DRM, memeriksa atribut seksi tak biasa, dan menganalisis anomali tabel simbol yang umum pada biner terlindungi.
- Validator aplikasi App Store macOS/iOS: validasi biner aplikasi iOS dan macOS sebelum dikirim ke App Store. Periksa arsitektur yang diwajibkan (arm64 untuk iOS, arm64 + x86_64 untuk biner universal macOS), verifikasi subtipe CPU yang benar, dan periksa persyaratan versi OS minimum di setiap sslice Mach-O.
- Pendidikan & riset format Mach-O: pelajar dan peneliti dapat menjelajahi format berkas Mach-O secara interaktif. Muat biner contoh untuk melihat cara kerja struktur header Mach-O, memahami rantai load command, menjelajahi hubungan segmen/seksi, dan mempelajari entri tabel simbol nlist.
Apa itu biner Mach-O?
Mach-O (Mach Object) adalah format executable native yang dipakai macOS, iOS, iPadOS, watchOS, dan tvOS. Format ini menggantikan format a.out lama dan menjadi format biner standar untuk semua sistem operasi Apple. Setiap aplikasi, framework, pustaka, dan alat baris perintah di platform Apple dikemas sebagai biner Mach-O. Format ini mendukung beberapa arsitektur CPU dalam satu berkas melalui format biner FAT (universal) dengan magic number 0xCAFEBABE. Berkas Mach-O berisi header, rantai load command yang menjelaskan struktur biner, serta data segmen sebenarnya (kode, data, tabel simbol, dan lain-lain).
Cara kerja Penganalisis Mach-O
- Deteksi input: penganalisis membaca 4 byte pertama (magic number) untuk menentukan format — 32-bit (0xFEEDFACE), 64-bit (0xFEEDFACF), atau universal FAT (0xCAFEBABE) — dan mendeteksi urutan byte (little-endian untuk Apple Silicon/Intel, big-endian untuk PowerPC).
- Penguraian header: header Mach-O diurai untuk mengekstrak tipe CPU, subtipe CPU, tipe berkas (executable, dylib, bundle, objek, dan lain-lain), jumlah load command, serta flag biner (PIE, NOUNDEFS, TWOLEVEL, dan lain-lain).
- Penelusuran load command: penganalisis menelusuri rantai load command dan mengurai setiap perintah sesuai jenisnya. Perintah segmen (LC_SEGMENT/LC_SEGMENT_64) berisi subtabel informasi seksi. Perintah lain menyediakan UUID, versi minimum, referensi tabel simbol, offset tanda tangan kode, dan lainnya.
- Ekstraksi tabel simbol: jika biner punya perintah LC_SYMTAB, penganalisis membaca entri nlist (struct nlist_64 untuk 64-bit) dan menyelesaikan nama simbol dari tabel string. 50 simbol pertama ditampilkan beserta tipe, nomor seksi, flag deskripsi, dan nilai alamatnya.
Konsep kunci dalam Mach-O
- Biner FAT (universal): diawali magic 0xCAFEBABE dan memuat beberapa slice Mach-O untuk arsitektur berbeda. Setiap slice punya tipe CPU, offset, ukuran, dan perataan sendiri. Aplikasi iOS umumnya punya slice arm64; biner universal macOS punya x86_64 + arm64 untuk Intel dan Apple Silicon.
- Load command: langsung mengikuti header Mach-O dan menjelaskan tata letak biner. LC_SEGMENT menentukan wilayah memori yang dipetakan dari berkas; LC_SYMTAB menunjuk tabel simbol; LC_UUID memberi pengenal unik; LC_BUILD_VERSION menentukan platform target dan versi SDK.
- Segmen & seksi: segmen (__TEXT, __DATA, __LINKEDIT) langsung memetakan ke wilayah memori. Seksi di dalam segmen (__text, __cstring, __objc_methlist) berisi jenis konten tertentu. Flag tipe seksi menunjukkan apakah seksi berisi kode, literal string, penunjuk simbol, atau penginisialisasi.
- Entri simbol nlist: setiap simbol dalam tabel punya nama (diselesaikan melalui tabel string), tipe (undefined, absolute, section-defined, atau indirect), nomor seksi, flag deskripsi, serta nilai/alamat. Simbol eksternal ditandai N_EXT untuk penyelesaian penautan dinamis.
Privasi & keterbatasan teknis
Penganalisis Mach-O memproses semua data biner sepenuhnya di browser Anda memakai JavaScript. Tidak ada data yang pernah diunggah ke server mana pun. Penganalisis mengurai header, load command, struktur segmen/seksi, dan tabel simbol — tetapi tidak membongkar kode executable, tidak mengekstrak biner terlindungi, dan tidak mendekripsi berkas Mach-O terenkripsi. Biner dengan DRM FairPlay (terenkripsi App Store) akan menampilkan informasi enkripsi, tetapi seksi kodenya tidak dapat dibaca. Untuk biner yang sangat besar (di atas 500 MB), penguraian bisa terbatas oleh memori browser. Penganalisis ini dirancang untuk keperluan pendidikan, riset rekayasa balik, dan analisis keamanan berkas yang Anda berhak memeriksanya secara hukum.
Pertanyaan yang Sering Diajukan
Mach-O (Mach Object) adalah format executable native untuk sistem operasi Apple (macOS, iOS, watchOS, tvOS). Format ini memakai magic number 0xFEEDFACE (32-bit), 0xFEEDFACF (64-bit), dan 0xCAFEBABE (biner universal FAT). Berbeda dari ELF (Linux/Android) dan PE (Windows), Mach-O mendukung biner FAT yang memuat beberapa arsitektur dalam satu berkas dan memakai rantai load command untuk menjelaskan tata letak biner.
Periksa empat byte pertama (magic number): 0xFEEDFACE untuk 32-bit, 0xFEEDFACF untuk 64-bit, dan 0xCAFEBABE untuk biner universal FAT. Ekstensi umum meliputi .o (objek), .dylib (pustaka dinamis), dan .bundle (bundle yang dapat dimuat). Penganalisis kami otomatis mendeteksi dan melaporkan formatnya saat berkas diunggah.
Biner FAT memuat beberapa executable Mach-O untuk arsitektur CPU berbeda dalam satu berkas. Header FAT mendaftar setiap arsitektur beserta tipe CPU, offset, ukuran, dan perataannya. Saat dimuat, OS otomatis memilih arsitektur yang sesuai. Ini memungkinkan distribusi satu biner yang berjalan native di Mac Intel (x86_64) maupun Apple Silicon (arm64).
Load command menjelaskan tata letak biner: LC_SEGMENT menentukan wilayah memori, LC_SYMTAB menunjukkan lokasi tabel simbol, LC_UUID memberi pengenal unik, LC_BUILD_VERSION menentukan platform target dan SDK, LC_MAIN menetapkan titik masuk, LC_ENCRYPTION_INFO menunjukkan status DRM FairPlay, dan LC_CODE_SIGNATURE menunjuk data tanda tangan kode.
Bisa. Alat mendeteksi seksi terenkripsi melalui LC_ENCRYPTION_INFO (cryptid != 0), mengidentifikasi biner yang di-strip lewat tabel simbol yang kecil, menandai izin mencurigakan (segmen yang dapat ditulis dan dieksekusi), serta mendeteksi nama atau flag seksi tak biasa. Alat juga melaporkan status PIE, DRM FairPlay, dan keberadaan tanda tangan kode.
Tentu. Semua pemrosesan terjadi lokal di browser Anda. Data biner Anda tidak pernah meninggalkan perangkat, tidak pernah dikirim ke server mana pun, dan tidak pernah disimpan. Tanpa akun. Anda dapat menganalisis biner Mach-O kepemilikan, rahasia, atau sensitif dengan aman.
Penganalisis mengurai header, load command, tata letak segmen/seksi, dan tabel simbol. Alat tidak membongkar kode, tidak mengekstrak sumber daya tertanam, dan tidak mendekompilasi biner. Alat mendeteksi keberadaan metadata runtime Objective-C dan Swift serta seksi cstring.
Penganalisis mendukung semua arsitektur Apple: arm64 (Apple Silicon), x86_64 (Intel 64-bit), i386 (Intel 32-bit), ARM (32-bit), PowerPC, dan PowerPC 64-bit. Biner FAT dengan kombinasi arsitektur apa pun sepenuhnya didukung.
Ya — 100% gratis tanpa pendaftaran, tanpa akun, tanpa batas penggunaan, dan tanpa tingkatan premium. Semua fitur termasuk unggah berkas, input hex, analisis FAT, penguraian load command, inspeksi segmen, dan ekstraksi tabel simbol tersedia tanpa batasan.