Penganalisis class-dump & Protokol iOS
Tempel kode header Objective-C atau output class-dump untuk menganalisis antarmuka kelas, rantai pewarisan, protokol (dengan metode @required dan @optional), kategori, tanda tangan metode, dan deklarasi properti. Parser memvisualisasikan seluruh permukaan API kode aplikasi iOS dengan tampilan detail yang dapat diperluas, pemetaan rantai pewarisan, dan penyaringan berbasis tab menurut jenis deklarasi. Semua pemrosesan bersifat lokal dan privat.
Paste Objective-C header code above to analyze class interfaces, protocols, and categories. The parser extracts inheritance chains, method signatures, property declarations, and protocol conformity. Try loading an example to see how it works!
Fitur
- Penguraian Header ObjC Lengkap: mengurai seluruh spektrum deklarasi Objective-C: blok @interface dengan pewarisan (:), kesesuaian protokol (<...>), @protocol dengan bagian @required dan @optional, kategori (@interface ClassName (Category)), deklarasi @property dengan atribut (nonatomic, strong, copy, readonly), metode instans (-) dan kelas (+), serta variabel instans. Menangani tanda tangan tipe kompleks termasuk blok, generik (NSArray<NSString *>), dan tipe berkualifikasi protokol.
- Visualisasi Rantai Pewarisan & Protokol: secara otomatis membangun rantai pewarisan yang menunjukkan hierarki kelas lengkap dari antarmuka yang diurai. Setiap kelas menampilkan superkelasnya dan protokol yang diadopsi dengan lencana yang dapat diklik. Ketergantungan protokol ditampilkan dengan referensi protokol induk. Tampilan pewarisan memudahkan memahami hierarki kelas dari framework, pustaka, atau basis kode aplikasi iOS mana pun.
- Tampilan Detail Tanda Tangan Metode & Properti: perluas antarmuka kelas mana pun untuk melihat permukaan API lengkapnya: properti dengan atribut dan tipe, metode instans dengan tipe kembalian dan tanda tangan parameter, metode kelas (metode pabrik, singleton), dan variabel instans. Protokol menampilkan metode @required vs @optional dengan tingkat detail yang sama. Kategori menampilkan metode ekstensinya di samping nama kelas asli.
- 100% Lokal di Browser & Privat: semua penguraian dan analisis berjalan sepenuhnya di browser Anda. Kode header Objective-C yang Anda tempelkan, semua antarmuka, protokol, kategori, tanda tangan metode, dan deklarasi properti yang diurai tidak pernah diunggah ke server mana pun. Tanpa panggilan API, tanpa pengumpulan data, tanpa pelacakan. Sepenuhnya aman untuk menganalisis kode iOS proprietari, pustaka pihak ketiga, atau header aplikasi rahasia.
Kasus Penggunaan
- Rekayasa Balik & Analisis Aplikasi iOS: analisis header aplikasi iOS yang diekstrak melalui class-dump atau alat analisis Mach-O lainnya. Pahami hierarki kelas lengkap dari aplikasi iOS mana pun, termasuk framework privat, SDK pihak ketiga, dan biner aplikasi utama. Identifikasi semua kelas, superkelasnya, protokol yang diadopsi, metode yang diimplementasikan, dan properti yang diekspos.
- Riset & Dokumentasi API Privat: jelajahi header framework privat iOS/macOS untuk menemukan kelas, metode, dan properti yang tidak terdokumentasi. Penganalisis membantu peneliti memahami struktur framework privat seperti SpringBoardServices, MobileCoreServices, dan GraphicsServices dengan mengurai output class-dump dan menyajikan permukaan API dalam format yang rapi dan mudah dinavigasi.
- Perencanaan Integrasi SDK & Pustaka: saat mengintegrasikan SDK atau pustaka iOS pihak ketiga, tempelkan file header ke penganalisis untuk memahami permukaan API dengan cepat. Lihat hierarki pewarisan, adopsi protokol, dan daftar metode/properti lengkap secara sekilas. Bandingkan kelas serupa di berbagai versi SDK untuk mengidentifikasi perubahan API.
- Pengembangan Tweak Jailbreak & Theos: pengembang jailbreak menggunakan class-dump secara ekstensif untuk memahami kelas yang perlu mereka hook untuk tweak. Penganalisis memudahkan menelusuri deklarasi antarmuka, menemukan metode yang tepat untuk di-swizzle, dan memahami tipe properti untuk hooking dengan Theos atau Cydia Substrate. Penting untuk rekayasa balik iOS dengan anggaran terbatas.
- Mempelajari Runtime & Pola Objective-C: mahasiswa ilmu komputer dan pengembang iOS menggunakan penganalisis untuk mempelajari pola runtime Objective-C. Lihat bagaimana Apple merancang hierarki kelas dengan pemrograman berorientasi protokol, bagaimana pola delegasi dideklarasikan melalui protokol formal, dan bagaimana kategori memperluas kelas tanpa subclassing.
- Penemuan Struktur Kelas Terobfuskasi: saat menganalisis aplikasi iOS terobfuskasi, output class-dump mengungkap struktur kelas bahkan ketika nama simbol diacak. Penganalisis membantu mengidentifikasi kelas inti, memahami arsitektur meskipun ada obfuskasi, dan memetakan graf objek aplikasi dari informasi struktural yang tersisa.
Apa itu class-dump dan mengapa penting?
class-dump adalah alat baris perintah yang memeriksa segmen Objective-C dari biner Mach-O (executable iOS/macOS) dan menghasilkan file header Objective-C yang sesuai. Alat ini bekerja karena Objective-C adalah bahasa yang sangat introspektif - nama kelas, metode, properti, dan protokol disimpan sebagai string metadata di bagian __objc_classlist, __objc_protolist, dan __objc_catlist biner. Penganalisis class-dump / Protokol iOS kami mensimulasikan ini dengan mengurai output class-dump atau file header Objective-C mentah, menyajikan hierarki kelas, definisi protokol, dan permukaan API dalam antarmuka yang rapi dan mudah dinavigasi. Ini penting untuk memahami cara kerja internal framework iOS, menganalisis aplikasi pihak ketiga, dan melakukan rekayasa balik perangkat lunak iOS.
Cara Kerja Penganalisis class-dump Kami
- Tempelkan atau muat data header: tempelkan kode header Objective-C dari output class-dump, header yang diekstrak, atau kode sumber Anda sendiri. Parser menangani deklarasi @interface, @protocol, dan @category dengan pewarisan lengkap dan kesesuaian protokol.
- Penguraian dan ekstraksi otomatis: penganalisis membaca semua deklarasi dan mengekstrak nama kelas, superkelas, protokol yang diadopsi, metode (baik instans maupun kelas), deklarasi properti dengan atribut dan tipe, variabel instans, serta metode protokol opsional vs wajib. Rantai pewarisan dibangun secara otomatis.
- Jelajahi dan analisis hasil: telusuri semua deklarasi melalui tab yang dapat difilter (Semua, Kelas, Protokol, Kategori). Perluas kelas mana pun untuk melihat permukaan API lengkapnya. Lihat rantai pewarisan, hierarki protokol, dan tanda tangan metode dengan tipe kembalian dan nama parameter. Salin laporan analisis untuk dokumentasi Anda.
Memahami Jenis Deklarasi Objective-C
- @interface (Antarmuka Kelas): mendeklarasikan kelas dengan superkelasnya (pewarisan melalui sintaks titik dua) dan protokol yang diadopsi (dalam tanda kurung siku). Berisi variabel instans dalam kurung kurawal, deklarasi @property untuk API publik, dan deklarasi metode dengan tipe kembalian dan parameter.
- @protocol (Definisi Protokol): mendeklarasikan protokol formal yang dapat diadopsi kelas. Metode yang ditandai @required harus diimplementasikan oleh kelas yang sesuai, sedangkan metode @optional dapat diimplementasikan secara selektif. Protokol juga dapat mendeklarasikan persyaratan @property.
- @interface (Kategori): memperluas kelas yang ada dengan metode tambahan tanpa subclassing. Ditulis sebagai @interface ClassName (CategoryName), kategori dapat menambahkan metode dan properti ke kelas mana pun - termasuk kelas framework yang kode sumbernya tidak Anda miliki.
- Deklarasi Metode & Properti: metode instans diawali dengan -, metode kelas dengan +. Tanda tangan metode menggunakan titik dua untuk parameter dengan label deskriptif. Properti menggunakan @property dengan atribut dalam tanda kurung (nonatomic, strong, copy, readonly, assign, weak, getter, setter) diikuti tipe dan nama.
Privasi, Keamanan & Catatan Penggunaan
Penganalisis class-dump / Protokol iOS memproses semua data sepenuhnya di browser Anda menggunakan JavaScript. Tidak ada kode header Objective-C yang pernah diunggah ke server mana pun, disimpan di basis data mana pun, atau dibagikan kepada pihak ketiga mana pun. Tidak ada batas ukuran file. Alat ini sepenuhnya gratis tanpa pendaftaran, tanpa batas penggunaan, dan tanpa tingkat premium. Gunakan untuk tujuan apa pun - pribadi, komersial, pendidikan, atau riset keamanan - tanpa biaya. Penganalisis ini dirancang untuk tujuan pendidikan dan riset guna membantu pengembang memahami struktur aplikasi iOS dan perilaku runtime Objective-C.
Pertanyaan yang Sering Diajukan
class-dump adalah alat baris perintah yang menghasilkan file header Objective-C dari biner Mach-O (executable .app iOS/macOS, .dylib, bundel .framework). Alat ini bekerja dengan mengurai bagian metadata Objective-C yang tersimpan di segmen __DATA biner: __objc_classlist, __objc_protolist, __objc_catlist, dan __objc_selrefs. Karena Objective-C adalah bahasa runtime dinamis, semua nama kelas, metode, properti, dan informasi kesesuaian protokol disimpan sebagai string di biner. class-dump membaca metadata ini dan merekonstruksi deklarasi @interface, @protocol, dan @category asli beserta metode dan propertinya.
Tidak. Ini adalah parser berbasis browser yang menganalisis teks header Objective-C - alat ini tidak menjalankan alat class-dump yang sebenarnya pada biner Mach-O yang dikompilasi. Untuk menggunakan alat ini, Anda harus menjalankan class-dump terlebih dahulu (atau alat serupa seperti Hopper, Ghidra, atau otool) pada biner iOS/macOS untuk menghasilkan output header Objective-C, lalu menempelkan output tersebut ke penganalisis kami. Penganalisis kemudian memvisualisasikan dan mengatur deklarasi yang diurai dalam antarmuka yang rapi dan mudah dinavigasi.
Penganalisis mengurai tiga jenis utama deklarasi. Blok @interface ... @end untuk deklarasi kelas termasuk pewarisan (: SuperClass) dan kesesuaian protokol (<Protocol1, Protocol2>), dengan variabel instans, deklarasi @property, dan metode instans/kelas. Blok @protocol ... @end untuk definisi protokol dengan bagian @required dan @optional, deklarasi metode, dan persyaratan @property. Blok @interface ClassName (CategoryName) ... @end untuk kategori yang memperluas kelas yang ada.
Penganalisis secara otomatis membangun rantai pewarisan dengan mengikuti deklarasi superkelas (: SuperClass) dari setiap @interface. Misalnya, jika Anda memiliki @interface MyViewController : UIViewController, @interface UIViewController : UIResponder, dan @interface UIResponder : NSObject, penganalisis akan menampilkan: MyViewController → UIViewController → UIResponder → NSObject. Ini memudahkan memahami hierarki kelas yang lengkap.
Secara tidak langsung. Kelas Swift yang mewarisi NSObject atau menggunakan atribut @objc dapat diakses oleh runtime Objective-C dan akan muncul dalam output class-dump dengan tanda tangan yang kompatibel dengan Objective-C. Namun, kelas Swift murni tanpa jembatan Objective-C tidak akan muncul dalam output class-dump. Penganalisis kami dirancang untuk sintaks header Objective-C. Untuk analisis kode Swift murni, gunakan alat Deobfuscator Swift kami.
Anda memerlukan perangkat iOS yang di-jailbreak atau IPA yang didekripsi untuk menjalankan class-dump. Di macOS, pasang class-dump melalui Homebrew (brew install class-dump), lalu jalankan: class-dump -H /jalur/ke/BinerAnda -o /direktori/output/. Untuk biner iOS, Anda harus mendekripsi biner App Store terlebih dahulu menggunakan alat seperti dumpdecrypted atau Clutch. File .h yang dihasilkan kemudian dapat ditempelkan ke penganalisis kami untuk visualisasi dan navigasi.
Dalam protokol Objective-C, metode @required harus diimplementasikan oleh kelas mana pun yang mengadopsi protokol, sedangkan metode @optional dapat diimplementasikan secara selektif. Direktif @required adalah default. Saat menganalisis output protokol, penganalisis memisahkan metode wajib dan opsional ke bagian yang berbeda, sehingga jelas metode mana yang wajib untuk kesesuaian protokol dan mana yang merupakan ekstensi opsional.
Ya - 100% gratis tanpa pendaftaran, tanpa akun, dan tanpa batas penggunaan. Analisis sebanyak apa pun header Objective-C yang Anda butuhkan, sesering yang Anda mau. Tidak ada tingkat premium, biaya tersembunyi, atau batas laju. Alat ini berjalan sepenuhnya di browser Anda - kode Anda tidak pernah meninggalkan perangkat Anda.