fishhook

Created July 23, 2013Updated May 9301 Forks1990 Stars23 Commits14 Open IssuesMobile · iOS

fishhook is a very simple library that enables dynamically rebinding symbols in Mach-O binaries running on iOS in the simulator and on devices.

This provides functionality that is similar to using DYLD_INTERPOSE on OS X. At Facebook, we've found it useful as a way to hook calls in libSystem for debugging and tracing purposes (for example, auditing for double-close issues with file descriptors).

dyld binds lazy and non-lazy symbols by updating pointers in particular sections of the __DATA segment of a Mach-O binary. fishhook re-binds these symbols by determining the locations to update for each of the symbol names passed to rebind_symbols and then writing out the corresponding replacements.

Created July 23, 2013Updated May 9301 Forks1990 Stars23 Commits14 Open IssuesMobile · iOS

Keep Updated

Stay up-to-date via RSS with the latest open source project releases from Facebook, news from our Engineering teams, and upcoming events.

Subscribe
Facebook © 2017