What's the principle of class dump and hopper? Why can they dump out objc's method? And why can't they dump out the function that written in C style?
What's the principle of class dump and hopper
212 Views Asked by wkx At
1
There are 1 best solutions below
Related Questions in OBJECTIVE-C
- How to control the volume of an iPhone programmatically in objective-c
- Occasional crash at NSURLSessionDataTask dataTaskWithRequest:completionHandler:
- How to set value the descriptor of iOS BLE in Objective-C?
- Unexpected #selector() Behavior in Swift-Objective-C Interop?
- In what context can we use an unqualified #selector() expression in Swift?
- AVPictureInPictureController crashes during initialization
- How to use pow() in Objective-C?
- How to change the image on the MGSwipeButton in MGSwipeTableCell
- Using sort descriptors in Outline View
- Why is my Swift function not printing from inside the dataTask closure?
- Using UICollectionViewCell with IBOutlet
- Undefined symbol: _OBJC_CLASS_$_ only on simulator
- Why can't I receive a notification sent from Camera Extension(Swift) to an observer application (obj-c++)
- Behavior of __block modifier in objc
- Inserting subview into view where I've added subviews and sublayers
Related Questions in XCODE
- I am getting lots of errors when building react native app in Xcode
- Xcode commits (possibly outside of any branch) disappeared, how to get them back?
- Can't run built SFML project from Xcode template
- Postal Framework crash in iPhone but runs successfully in simulator
- React Native - RealmJS - Linker command failed with exit code 1
- how to install xcode on macos hight sierra without apple account
- Xcode: Can't Attach to process
- Issue with Xcode Target and settings for Apple Watch App
- There are no active runners online GitLab
- My project code not running in Xcode(15.3) but the same code running in Xcode 14.2 in swift how to fix in xcode 15.3?
- How to press and hold in Xcode simulator
- Memory management for image data storing and retrieving with SwiftData (or CoreData)
- Error: spawn flutter ENOENT in flutter build_runner
- Can a project using Crashlytics have a GoogleService-Info.plist file renamed to something else?
- What changed from xcode 13.2.1 to 14.2 that would affect an app's entitlements?
Related Questions in DUMP
- w3wp.exe high memory usage yet low managed memory usage?
- Error trying to use 'restore with MySql' on DataGrip
- TypeError: Object of type module is not JSON serializable
- SVN dump file compatibility with higher version (eg. 1.14.x)
- Open a MariaDB .Sql dump file in windows
- How can I push my .sql file (which contains db dump ) to another db on server using Java Code?
- psql how to copy output of query with single whitespace between columns
- buffer overflow detected in SLEUTH in Linux Mint
- Does creating a dump .DMP file of main 'chrome.exe' using task manager save any cookies, .png etc.?
- dump a json file in to form of binary file
- How can I check that my Android app is not tampered with during runtime?
- Understanding the Dump for w3p app with WinDbg
- heap_stat gives uncomplete results for dump of C# application
- How to determine the amount of entries in a "CListViewHost"
- Convert DOS od (dump) file output to txt
Related Questions in HOPPER
- "Syntax Error" in Hopper Disassembler while assembling instruction
- Understanding iOS string formatting in assembly code
- Hopper disassembler ASM
- Why are all symbol names visible in compiled MacOS Swift Application (Xcode 10) via Hopper disassembler?
- Hopper Disassembler v4, Cannot launch debugger. Not Found LLDB
- Implement an ObjC protocol in Swift with pointer to incomplete type as a return value
- Hopper to disassemble the UIKit.framework from Xcode
- Swift mangled function name mapping
- Hiding debugger from isDebuggerAtached () in binary executable
- Not able to disassemble iOS Banking app
- What's the principle of class dump and hopper
- How to find objective-c methods at runtime for any Application on Mac?
- Not understanding Hopper decompiler output
- How to change the qword memory offset in Hopper Assembler v3?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
C functions in the binary are chunks of code each identified by virtual address. Objective-c runtime is implemented in C,so when a selector is sent a C function is called to actually do it:
First argument is either class or instance that will receive the selector. Second is a
selectorakachar*name. Since those selector names are explicitly passed as arguments all of this needs to be handled in the executable binary. And that's where dumping classes kicks in because there's way more information compared to C functions virtual addresses.