Cynject

From iPhone Development Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Injects a dynamic library into an already running process

Usage

   usage: cynject <pid> <dylib> [args...]

Example

Description

We want to get the bundle identifier for a certain process.

Creating a dylib

First we create a dylib. We have two different approaches to this. First is to use Iheos and create a tweak.

%ctor {
	HBLogDebug(@"Bundle Identifier: %@", [%c(NSBundle) mainBundle].bundleIdentifier);
}

After installation, the dylib will be in /Library/MobileSubstrate/DynamicLibraries

We could also use clang with this install script and create the dylib manually.

Injecting

Once we have the dylib

  1. cynject 443 absolute_path/to/your_dylib_path.dylib

Profit

The bundle identifier should appear in the syslog