官方文档如下:
http://www.iphonedevwiki.net/index.php/MobileSubstrate
PLIST里面可以写如下字段:CoreFoundationVersion Bundles Classes Executables
CoreFoundationVersion (array): The extension is loaded only if the version of CoreFoundation.framework is above the specified values. Currently, only the first 2 values are checked.
Firmware | 2.0 | 2.1 | 2.2 | 3.0 | 3.1 | 3.2 | 4.0 | 4.1 | 4.2 | 4.3 | 5.0 | 5.1 | 6.0 | 6.1 | 7.0 | 7.0.3 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SourceCache version | 478.23 | 478.26.1 | 478.29 | 478.47.7 | 478.52 | 478.61 | 550.32 | 550.38.1 | 550.52 | 550.58.1 | ? | |||||
dylib version | 478.23 | 478.26.1 | 478.29 | 478.47.7 | 478.52 | 478.61 | 550.32 | 550.38.1 | 550.52 | 550.58.1 | 675.00 | 690.10 | 793.00 | 847.20 | 847.21 |
Bundles (array): The extension is loaded only if the bundle-ID of the running application matches the list.
Classes (array): The extension is loaded only if the one of the specified objective-C classes is implemented in the application.
Executables (array): The extension is loaded only if one of the executable names matches the running application. This is required to hook things that have no other identifiable characteristics.
目前我用的多的是 Bundles Executables 其他的看官方说明即可~~~
例子:
<key>Bundles</key>
<array>
<string>com.apple.springboard</string>
</array>
// 这样可以对系统文件进行HOOK~~
<key>Executables</key>
<array>
<string>installd</string>
</array>
完整plist文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Filter</key> <dict> <key>Executables</key> <array> <string>installd</string> </array> </dict> </dict> </plist>
发表评论